Theo xu hướng bạn đề cập, tôi sẽ thêm một xu hướng nữa, mà IMHO giải thích chúng:
Có rất nhiều lập trình viên (cần thiết) hơn bao giờ hết.
Số lượng các nhiệm vụ yêu cầu hoặc bao gồm lập trình ngày càng tăng, và với tốc độ thậm chí cao hơn số lượng lập trình viên. Ngày nay có một số vi mạch trong một chiếc xe trung bình. Trong 5 năm có thể có một con chip trong tủ lạnh và máy nướng bánh mì của bạn. Trong 10 năm, đồ lót của bạn? ... Và ai đó cần sản xuất tất cả phần mềm đó để làm cho những thứ này hoạt động. Vì vậy, có mọi nỗ lực có thể được thực hiện để tự động hóa bất cứ thứ gì có thể tự động hóa và để cải thiện "năng suất" (tuy nhiên nó được xác định). Và ngày càng nhiều bộ não mới được tuyển dụng.
Điều này ngụ ý rằng phần lớn các lập trình viên tích cực ngày nay thiếu kinh nghiệm và / hoặc không chuẩn bị cho công việc của họ. Phải mất vài năm để có được một mức độ kinh nghiệm đầy đủ và phải học hỏi không ngừng để giữ mình ở đó. Điểm mấu chốt là, ngày càng nhiều công việc lập trình đang ngày càng trở nên ít thách thức hơn. Nhưng vẫn còn đủ thách thức cho bất cứ ai đang tìm kiếm chúng .
Hãy để tôi chơi người ủng hộ của quỷ chống lại quan điểm của bạn ở trên:
Không dành thời gian để thực hiện các thực tiễn tốt nhất
Rất nhiều người không, rất nhiều người làm. Mười năm trước khi tôi lần đầu tiên phát hiện ra thử nghiệm đơn vị và cách tiếp cận nhanh, không ai trong số các đồng nghiệp của tôi có ý tưởng nhỏ nhất về nó. Ngày nay nó gần như là tài liệu tiêu chuẩn tại các trường đại học, vì vậy nhiều sinh viên mới tốt nghiệp đã hiểu nó.
Sử dụng mã người khác càng nhiều càng tốt (mã tùy chỉnh như một trách nhiệm pháp lý)
Trái ngược với những gì? Phát minh lại bánh xe? Hoặc sử dụng mã của người khác để tránh điều đó?
Tôi nghĩ điều quan trọng cần lưu ý là chúng tôi được trả tiền (hầu hết) để giải quyết vấn đề và viết mã không phải là kết thúc, chỉ có nghĩa là điều đó . Nếu một vấn đề có thể được giải quyết mà không cần viết một dòng mã, nó vẫn khiến khách hàng hài lòng. Đặc biệt là nếu cách này chúng tôi quản lý để tạo ra một giải pháp đáng tin cậy nhanh hơn và rẻ hơn. Tôi không thấy bất kỳ vấn đề với điều đó.
Sử dụng các ngôn ngữ ngày càng cao hơn để cải thiện năng suất
Trái ngược với mã hóa mọi thứ trong lắp ráp? ;-)
Các "công cụ" phát triển dựa trên GUI giúp đơn giản hóa rất nhiều "lập trình" và không yêu cầu mọi người hiểu hệ thống ống nước đằng sau mã
IMHO bất kỳ công cụ có thể được sử dụng sai. Điều đó không có nghĩa là các nhà xây dựng GUI nhất thiết phải hoàn hảo hoặc thậm chí là tốt - hầu hết (hoặc ít nhất là một số) trong số họ có thể sử dụng được trong giới hạn của họ. Nhưng nếu ai đó không biết những giới hạn đó, thì đó có phải là vấn đề của công cụ hoặc người dùng không?
Nói chung, tôi tin rằng (mặc dù không có bằng chứng để chứng minh điều đó) rằng trong những ngày sử dụng thẻ đục lỗ và mã máy, gần như tỷ lệ mã hiện tại là khủng khiếp như bây giờ, chỉ cả hai
- tổng số lượng mã và
- cơ hội người ngoài nhìn thấy mã như vậy
ít hơn nhiều
Bây giờ, với Internet và WTF hàng ngày, chúng ta tiếp xúc với những ví dụ tồi tệ nhất từng ngày. Nó giống như xem tất cả các tin tức về khủng bố và động đất và ly dị người nổi tiếng, và kêu lên rằng thế giới này trở nên nguy hiểm và vô đạo đức như thế nào.