Bên cạnh kiến thức về ngôn ngữ lập trình, nhà tuyển dụng còn yêu cầu kỹ năng mềm và khả năng học hỏi linh hoạt từ ứng viên.
Phát triển phần mềm là một lĩnh vực năng động, trong đó các ngôn ngữ lập trình, khung phần mềm (framework) và công nghệ mới có thể chỉ tồn tại trong vòng vài năm. Bên cạnh đó, nhu cầu công việc cũng liên tục thay đổi. Trang công nghệ Tech Republic đưa ra một số gợi ý một xu hướng học tập và kỹ năng cần trang bị để trở thành lập trình viên trong thời điểm hiện tại:
Những ngôn ngữ lập trình phổ biến
Java, Python và JavaScript vẫn là những ngôn ngữ phổ biến để học tập khi muốn theo nghề này.
Hàng triệu nhà phát triển và hàng tỷ thiết bị trên toàn thế giới đang sử dụng Java. Đây là ngôn ngữ chính thức để phát triển hệ điều hành Android, 90% công ty trong danh sách Fortune 500 sử dụng Java để phát triển back-end, theo một phân tích từ Coding Dojo.
Python thường được sử dụng trong tính toán khoa học, khai thác dữ liệu và học máy. Đây là ngôn ngữ lập trình phát triển nhanh nhất và đang đứng thứ 3 trên TIOBE Index. Python cũng được các nhà phát triển đánh giá là ngôn ngữ lập trình được yêu thích nhất, theo trang tuyển dụng Hired.
Theo SlashData, JavaScript là ngôn ngữ lập trình phổ biến nhất trên thế giới. 62% nhà tuyển dụng cho biết, họ đang tìm kiếm những người có kỹ năng JavaScript, tiếp theo là Java với 59% và Python là 48%.
Một số framework front-end cho JavaScript như React và AngularJS cũng ngày càng được sử dụng nhiều hơn hơn khi các thiết bị IoT trở nên phổ biến. Theo đó, JavaScript tiếp tục là ngôn ngữ lập trình cần thiết trong tương lai.
Theo Dice, các ngôn ngữ lập trình được yêu cầu nhiều nhất theo tin tuyển dụng vào tháng 1 là: SQL (77.000 tin), Java (63.000 tin), Python (56.000 tin), JavaScript (42.000 tin) và Microsoft C # (26.000 tin).
Kỹ năng mềm quan trọng
Ngoài năng lực kỹ thuật, các nhà tuyển dụng cũng có xu hướng rõ rệt tìm kiếm các nhà phát triển có kỹ năng mềm.
Mike Walsh, nhà sáng tập Straight Path Solutions chia sẻ: “Trước các ứng viên có trình độ đồng đều, kỹ năng mềm là yếu tố tạo nên sự khác biệt”.
Ed Szofer, Ggiám đốc điều hành kiêm Chủ tịch tại SenecaGlobal, cũng cho biết các lập trình viên phải chứng tỏ rằng họ có thể hòa nhập vào các nhóm phát triển có kỹ năng hỗn hợp.
“Để trở thành một thành viên hiệu quả, các lập trình viên phải có khả năng giao tiếp rõ ràng, báo cáo tiến độ chính xác, đưa ra vấn đề kịp thời và nhìn chung là một người chơi tốt trong nhóm. Trong môi trường cạnh tranh cao ngày nay, các kỹ năng mềm của một lập trình viên giờ đây cũng quan trọng như các kỹ năng cứng”, ông nói thêm.
Theo ông Mark Wilcox, Phó chủ tịch phát triển kinh doanh của ICSynergy, kỹ năng giải quyết vấn đề cũng rất quan trọng. Bất kỳ lập trình viên có năng lực nào cũng có thể học một ngôn ngữ mới trong một tuần nhưng nếu họ không có kỹ năng giải quyết vấn đề tốt và không liên tục cố gắng cải thiện, cuối cùng họ sẽ làm tổn hại đến dự án.
“Học hỏi nhanh cũng là yêu cầu đặc biệt đối với các vị trí lập trình viên hiện đại. Nhà tuyển dụng thực sự không quan tâm đến những gì ứng viên nghĩ rằng mình biết”, Todd Millecam, Giám đốc điều hành và cố vấn chính của SWYM Systems khẳng định.
Bên cạnh đó, bà Anna Daugherty, Giám đốc tiếp thị kỹ thuật số của PITSS cũng tiết lộ các lập trình viên thường có cơ hội phát triển khi họ nhạy bén trong kinh doanh và tầm nhìn xa về vai trò của kỹ thuật.
Daugherty nói: “Lập trình viên cần có khả năng xem phần mềm hoặc ứng dụng của họ phù hợp với phạm vi rộng hơn của doanh nghiệp như thế nào. Nếu họ có kỹ năng này, họ có thể nói ngôn ngữ của các giám đốc điều hành, những người cần họ để tạo ra kết quả tốt hơn”.
Học lĩnh vực công nghệ từ nhiều nguồn
Trang Stack Overflow đã thực hiện khảo sát với các lập trình viên. Kết quả cho thấy khoảng 75% nhà phát triển chuyên nghiệp có bằng cử nhân trở lên. Bằng cử nhân về khoa học máy tính sẽ giúp thăng tiến tốt trong lĩnh vực này. Tuy nhiên, sự thiếu hụt các lập trình viên trong nhiều lĩnh vực và đa dạng của các trường học lập trình hiện đại đã khiến lựa chọn đầu vào linh hoạt hơn. Không nhất thiết mọi ứng viên đều phải hoàn thành các chương trình đào tạo theo cách truyền thống.
Cũng theo trang trên, khoảng 87% lập trình viên tự học một ngôn ngữ hoặc công cụ mới mà không cần tham gia một khóa học chính thức. 49% lập trình viên từng tham gia một khóa học lập trình trực tuyến như một khóa học trực tuyến mở (MooC). Nhiều người khác lại lựa chọn hình thức đào tạo bootcamp.
Như vậy, bất kể nền tảng giáo dục nào, điều quan trọng là trong hồ sơ ứng tuyển, ứng viên điểm được một số kinh nghiệm công việc, dự án thực tế để giới thiệu với nhà tuyển dụng.
Trên Stack Overflow, Nick Larsen, một kỹ sư dữ liệu cho biết: “Cách dễ nhất để trúng tuyển là cho công ty thấy những gì bạn đã làm. Hãy đưa ra một danh sách các dự án và sản phẩm mà bạn đã đóng góp, nó đáng tin cậy và có giá trị hơn nhiều năm đi học”.