Qua nhiều năm kinh nghiệm:
- Các ngôn ngữ đã thay đổi (thường là tương đối chậm).
- Phạm vi các vấn đề có thể được giải quyết trên thực tế đã tăng lên (nhanh hơn một chút);
- Kích thước và độ phức tạp của các giải pháp đã tăng (tương đối nhanh chóng);
- Đã có một cái gì đó là
flavor of the day
(đôi khi tốt, thường là xấu).
Như đã lưu ý trong một cuộc thảo luận về các mẫu, nhóm bốn người không phát minh ra các mẫu. Họ đã đưa ra thuật ngữ và mẫu cho các giải pháp đã được áp dụng.
Không giống như nhiều lĩnh vực khác, vẫn còn rất nhiều điều không phổ biến. Tôi đã thấy rất nhiều thứ tiên tiến đến và đi. Nhiều trong số này đã được áp dụng lại các kỹ thuật đã có trong thực tế và những kỹ thuật này thường thành công ở một mức độ nào đó. Những người khác đã ít nhiều biến mất, và hầu hết nơi tiếp cận mới. (Có ai nhìn thấy một ngôn ngữ thế hệ thứ 5 gần đây không?)
Các lập trình viên mà tôi đã thấy là người hiệu quả nhất có thể chọn và lắp ráp các thành phần đã được chứng minh thành một giải pháp làm việc. Điều này hiếm khi liên quan đến bất cứ điều gì tiên tiến, thường sẽ làm tăng rủi ro dự án. Khả năng xây dựng trên công việc đã được thực hiện, cho phép chúng tôi tăng phạm vi của những gì có thể.
Ngôn ngữ lập trình có xu hướng rơi vào tương đối ít gia đình. Làm quen với một ngôn ngữ trong một gia đình giúp làm việc với các ngôn ngữ tương tự dễ dàng hơn. Hiểu các thư viện có sẵn trong ngôn ngữ và tận dụng chúng có thể làm tăng đáng kể năng suất và độ tin cậy. Nói chung, tôi sẽ chọn một ngôn ngữ cũ hơn với các thư viện phù hợp thay vì ngôn ngữ mới hơn mà không có các thư viện phù hợp.
Khi áp dụng các công nghệ mới là điều quan trọng để tránh Because We Can
hội chứng. Thêm một công nghệ mới bởi vì nó là hương vị của năm, có xu hướng gây ra nhiều vấn đề hơn nó giải quyết. Biết khi nào công nghệ sẽ giải quyết một vấn đề thực sự, và khi nào nó sẽ thêm phức tạp là một kỹ năng hữu ích.
Một lập trình viên thực sự giỏi sẽ giải quyết các vấn đề mới và sử dụng các giải pháp hiện có cho phần còn lại. Rất ít công ty cần công nghệ cạnh chảy máu, tất cả đều cần giải pháp vững chắc.
Tôi thường hối hận khi trượt lưỡi dao cạo. Tôi không nhớ là đã từng hối hận khi sử dụng một công nghệ đã được chứng minh. Tuy nhiên, rất nhiều thứ được mô tả new
là đóng gói lại một cái gì đó hiện có. Thông thường, việc đóng gói lại này làm cho mọi thứ dễ hiểu hơn và áp dụng phù hợp.