1) Trò chơi ứng dụng kinh doanh :
Tôi nghĩ rằng toàn bộ khuôn khổ "Doanh nghiệp" là khói và gương. J2EE, .NET, phần lớn các khung công tác Apache và hầu hết các khái niệm trừu tượng để quản lý những thứ đó tạo ra sự phức tạp hơn nhiều so với chúng giải quyết.
Sử dụng bất kỳ Java hoặc .NET ORM thông thường hoặc bất kỳ khung MVC được cho là hiện đại nào để thực hiện "phép thuật" để giải quyết các tác vụ đơn giản, tẻ nhạt. Cuối cùng, bạn đã viết một số lượng lớn các bản tóm tắt XML xấu xí, khó xác thực và viết nhanh chóng. Bạn có các API khổng lồ trong đó một nửa trong số đó chỉ để tích hợp công việc của các API khác, các giao diện không thể tái chế và các lớp trừu tượng chỉ cần để khắc phục tính không linh hoạt của Java và C #. Chúng tôi chỉ đơn giản là không cần hầu hết điều đó.
Làm thế nào về tất cả các máy chủ ứng dụng khác nhau với cú pháp mô tả mờ nhạt của riêng họ, cơ sở dữ liệu và các sản phẩm phần mềm nhóm quá phức tạp?
Điểm của điều này không phải là sự phức tạp đó == xấu, đó là sự phức tạp không cần thiết == xấu. Tôi đã làm việc trong các cài đặt doanh nghiệp lớn, trong đó một số điều cần thiết, nhưng ngay cả trong hầu hết các trường hợp, một vài tập lệnh được phát triển tại nhà và một trang web đơn giản là tất cả những gì cần thiết để giải quyết hầu hết các trường hợp sử dụng.
Tôi sẽ cố gắng thay thế tất cả các ứng dụng enterprisey này bằng các khung web đơn giản, DB nguồn mở và các cấu trúc lập trình tầm thường.
2) N-năm kinh nghiệm cần thiết:
Trừ khi bạn cần một chuyên gia tư vấn hoặc kỹ thuật viên để xử lý một vấn đề cụ thể liên quan đến một ứng dụng, API hoặc khung, thì bạn không thực sự cần một người có 5 năm kinh nghiệm trong ứng dụng đó. Những gì bạn cần là một nhà phát triển / quản trị viên có thể đọc tài liệu, người có kiến thức về miền trong bất cứ điều gì bạn đang làm và người có thể học nhanh chóng. Nếu bạn cần phát triển một loại ngôn ngữ nào đó, một nhà phát triển đàng hoàng sẽ chọn nó trong vòng chưa đầy 2 tháng. Nếu bạn cần một quản trị viên cho máy chủ web X, trong hai ngày anh ta nên đọc các trang và nhóm tin tức và cập nhật nhanh chóng. Bất cứ điều gì ít hơn và người đó không xứng đáng với những gì anh ta được trả.
3) Chương trình học "khoa học máy tính" phổ biến:
Phần lớn các ngành khoa học máy tính và kỹ thuật phần mềm là bull. Nếu ngôn ngữ lập trình đầu tiên của bạn là Java hoặc C #, thì bạn đã làm sai điều gì đó. Nếu bạn không nhận được một số khóa học đầy đủ về đại số và toán học, thì đó là sai. Nếu bạn không đi sâu vào lập trình chức năng, nó không hoàn chỉnh. Nếu bạn không thể áp dụng các bất biến vòng lặp cho một vòng lặp tầm thường, thì bạn không đáng để bạn trở thành một nhà khoa học máy tính. Nếu bạn có kinh nghiệm về ngôn ngữ x và y và hướng đối tượng, nó sẽ đầy s ***. Một nhà khoa học máy tính thực sự nhìn thấy một ngôn ngữ theo các khái niệm và cú pháp mà nó sử dụng và xem các phương pháp lập trình là một trong số đó, và hiểu rất rõ về các triết lý cơ bản của cả việc chọn ngôn ngữ mới, phương pháp thiết kế hoặc ngôn ngữ đặc tả nên tầm thường