Vào đầu năm 2019, Stack Overflow – địa chỉ chuyên cung cấp tài liệu, thông tin hữu ích, giúp lập trình viên giải đáp những thắc mắc – đã tiến hành khảo sát trên 100.000 lập trình viên về các vấn đề như việc học hỏi, xây dựng sự nghiệp, công nghệ ưa thích và mưu cầu đối với nghề nghiệp.
Tóm lược kết quả khảo sát:
– DevOps và machine learning là xu hướng nổi bật hiện nay của ngành công nghiệp phần mềm. Các ngôn ngữ và frameworks liên quan đến 2 xu thế này ngày càng được ưa chuộng và mức lương của lập trình viên làm việc trong lĩnh vực này ngày càng tăng cao.
– Chỉ có một bộ phận nhỏ lập trình viên nói rằng họ sẵn sàng viết những mã phi đạo đức hay họ không có nghĩa vụ phải cân nhắc đến các vấn đề đạo đức khi code. Họ cũng không nắm rõ về quy trình báo cáo các vấn đề phi đạo đức cũng như ai là người có trách nhiệm lớn nhất đối với các vấn đề này.
– Tất cả lập trình viên được khảo sát đều rất lạc quan về khả năng mà trí thông minh nhân tạo (AI) mang đến, tuy nhiên có nhiều ý kiến khác nhau về nguy cơ tiềm tàng của AI.
– Khi đánh giá công việc tương lai, những nhóm lập trình viên khác nhau có những ưu tiên công việc khác nhau. Developer nữ nói rằng ưu tiên lớn nhất của họ là văn hoá công ty và cơ hội phát triển chuyên môn, trong khi đó, những nam lập trình viên lại ưu tiên những công việc có mức lương cao và làm việc với những công nghệ chuyên biệt
Cùng Nordic Coder xem xét các số liệu và phân tích sâu về các công nghệ phổ biến hiện nay, nhu cầu tìm hiểu thêm công nghê mới của lập trình viên cũng như các yếu tố liên quan đến môi trường làm việc của họ nhé.
I. Những công nghệ phổ biến nhất
Javascript là ngôn ngữ lập trình phổ biến nhất, liên tiếp dẫn đầu bảng xếp hạng trong vòng 6 năm trở lại đây.
HTML và CSS là bộ đôi quyền lực rượt đuổi sát nút Javascript.
Python – ngôn ngữ lập trình có tốc độ phát triển khá nhanh, tăng hạng đáng kể, vượt qua C# để giữ vị trí thứ 7.
2. Frameworks, Libraries và Tools
Node.JS và Angular tiếp tục là công nghệ được nhiều developer sử dụng nhất. Ngoài ra, React & .NET cũng là công nghệ quan trọng đối với nhiều lập trình viên.
3. Databases
Cũng như năm trước, MySQL và SQL Server là những database phổ biến nhất
4. Nền tảng (Platform)
Hai nền tảng được sử dụng nhiều nhất là Linux và Windows Desktop or Server
II. Những công nghệ được nhiều lập trình viên mong muốn học nhất
1. Ngôn ngữ lập trình
Python đang trở thành ngôn ngữ được nhiều developer mong muốn học hỏi nhất trong thời gian gần đây
2. Frameworks, Libraries và Tools
React là framework được nhiều lập trình viên thể hiện mong muốn được trau dồi nhất
III. Development Environments và Tools
1. Development Environments phổ biến nhất
Có sự khác biệt giữa các nhóm developer khác nhau về chức năng và vai trò:
– Đối với lập trình viên Web: Visual Studio Code là Development Environments được ưa chuộng nhất
– Đối với lập trình viên Mobile App: Android Studio và Xcode là 2 Development Environments nhận được nhiều sự ưa thích
– Đối với DevOps và sysadmins: Development Environments phổ biến nhất là Vim

Development Environments và Lập trình viên Web

Development Environments và Lập trình viên Mobile

Development Environments và DevOps và sysadmins
2. Hệ điều hành
Windows, MacOS và Linux-based là 3 hệ điều hành phổ biến nhất hiện nay.
Hệ điều hành được sử dụng nhiều nhất là Windows.
Số lượng lập trình viên sử dụng hệ điều hành MacOS và Linux-based tương đương nhau.
IV. Môi trường làm việc
1. Các lĩnh vực hoạt động của doanh nghiệp
Lập trình viên làm việc trong rất nhiều ngành công nghiệp khác nhau, cả trong và ngoài lĩnh vực công nghệ.
Có rất nhiều lập trình viên làm việc cho các công ty phát triển web, IT và SaaS (outsourcing)
Lập trình viên làm việc trong lĩnh vực tư vấn và chăm sóc sức khoẻ có nhiều năm kinh nghiệm làm việc hơn gần như gấp đôi so với những người làm trong lĩnh vực phát triển/ thiết kế web và Thương mại điện tử.
2. Mục tiêu/ Mong muốn trong 5 năm tới
Phần lớn mục tiêu của lập trình viên tập trung vào việc duy trì vai trò hiện tại hoặc phát triển bản thân lên vị trí cao hơn như Engineering Manager hoặc Product/ Project Manager.
Có khoảng ¼ số người được khảo sát nói rằng họ muốn start-up một công ty riêng, nhưng đa phần những người này đều đang rất trẻ (dưới 25 tuổi).
Có một số ít mong muốn đổi sang một nghề khác hoặc nghỉ hưu.
3. Ưu tiên hàng đầu để đánh giá một công việc tốt
Nói chung, ưu tiên hàng đầu của lập trình viên khi đánh giá một công việc là mức lương & chế độ đãi ngộ, kế đó là các công nghệ mà họ sẽ làm việc cùng.
Sự đa dạng lĩnh vực hoạt động của công ty không phải là ưu tiên của lập trình viên để tìm việc.
4. Sự liên quan giữa mức độ hài lòng với công việc và mức độ cẩn thận khi code
Lập trình viên kiểm tra code càng kỹ thì mức độ hài lòng với công việc càng cao
5. Tương quan giữa mức lương, vị trí và kinh nghiệm
Đương nhiên, những lập trình viên có nhiều kinh nghiệm sẽ có mức thu nhập cao hơn. Tuy nhiên, có những vị trí sở hữu mức lương cao hơn khi có cùng bậc kinh nghiệm. Data scientists và DevOps specialists có mức thu nhập rất cao dù số với ít năm kinh nghiệm.
Lập trình viên sử dụng những ngôn ngữ lập trình xuất hiện phía trên đường chéo trong biểu đồ, chẳng hạn như Go, Clojure và F#, nhận được mức lương cao hơn so với số năm kinh nghiệm họ có.
Còn những lập trình viên làm việc với những ngôn ngữ dưới đường kẻ (như PHP và Visual Basic 6) thường phải nhận mức lương thấp hơn so với số năm kinh nghiệm.
Độ lớn của hình tròn thể hiện số lượng người sử dụng ngôn ngữ này so với ngôn ngữ khác.
**Bonus: Mối quan hệ giữa các công nghệ lập trình
Lập trình viên thường sử dụng tập hợp các công nghệ có liên quan với nhau. Trong sơ đồ trên, chúng ta có thể thấy tập hợp lớn ở trung tâm là các công nghệ cho phát triển web (với JavaScript, HTML & CSS) liên kết với tập hợp các công nghệ Microsoft (với C#, Visual Studio, and .NET Core) thông qua SQL.
Dọc theo cạnh trái, ta có thể thấy tập hợp Java, Android và iOS kết nối với Linux, bash/shell và Python.
Một nhóm tương quan nhỏ khác là tập hợp Scala/Spark, C/C++ và một tập hợp nhỏ khác là các IDE dành cho ngôn ngữ đặc biệt.
Nguồn thông tin: insights.stackoverflow.com
P/s: Còn bạn, dự định và mong muốn đối với sự nghiệp lập trình của bạn trong năm nay là gì?