Số lượng ngôn ngữ có làm nên thành công của Developer?
Tôi tình cờ nghe được câu nhận xét đó khi tham dự một hội thảo gần đây. Và ngay lập tức, anh bạn đi chung với tôi, người có kinh nghiệm hơn sáu năm về Java, đã tỏ rõ thái độ rằng: Lúc đấy tôi cũng chẳng tranh cãi gì với bạn mình, nhưng ngẫm lại, tôi không tin rằng anh ấy đúng. Tôi nghĩ: để ...
Tôi tình cờ nghe được câu nhận xét đó khi tham dự một hội thảo gần đây. Và ngay lập tức, anh bạn đi chung với tôi, người có kinh nghiệm hơn sáu năm về Java, đã tỏ rõ thái độ rằng:
Lúc đấy tôi cũng chẳng tranh cãi gì với bạn mình, nhưng ngẫm lại, tôi không tin rằng anh ấy đúng. Tôi nghĩ: để thành công, developer cần code thành thạo ít nhất một ngôn ngữ, và có kiến thức nền tảng của một vài ngôn ngữ khác.
Xem việc làm Developer chất tại ITviec
Chỉ cần giỏi một ngôn ngữ là có một công việc ổn định?
Thành – người bạn đi cùng tôi đến buổi hội thảo ở phần giới thiệu đầu bài – đã quá chú trọng vào công việc hiện tại mà quên mất rằng anh từng có nhiều năm kinh nghiệm về JavaScript và Ruby, vì anh chính là một trong những người đã đóng góp để làm nên website ITviec.
Đăng, Senior Ruby Developer của ITviec, chia sẻ với tôi:
Luân, Ruby On Rails Developer của ITviec, cũng đồng tình:
Tôi tin rằng biết một ngôn ngữ, bạn vẫn có thể có một công việc ổn định, vì chỉ code mỗi Ruby, JavaScript, PHP hay .NET trong nhiều năm thì bạn đã dần trở thành master trong ngôn ngữ đó.
Tuy nhiên, vấn đề nằm ở chỗ: việc biết duy nhất một ngôn ngữ giới hạn cơ hội việc làm của bạn trong một thị trường sôi động gồm ít nhất hai mươi ngôn ngữ phổ biến. Khả năng phát triển của bạn bị giới hạn trong một ngôn ngữ đó.
Các công ty IT có xu hướng tuyển dụng developer biết một hay nhiều ngôn ngữ?
90% công ty đăng tuyển trên ITviec đều muốn tuyển dụng developer biết nhiều ngôn ngữ và từng trải qua vị trí tương tự với vị trí tuyển dụng.
Ví dụ như bạn ứng tuyển vị trí Web Developer, bạn cần phải biết JavaScript, ít nhất một ngôn ngữ của back-end (PHP, Python, Java, C#), cách làm việc cơ sở dữ liệu (MySQL, Access, Oracle), cách lập trình cơ sở dữ liệu (SQL), cuối cùng là phải biết HTML và CSS.
Theo thống kê của Stack Overflow năm 2015, tại phần khảo sát về xu hướng ngôn ngữ lập trình với 21,982 người tham gia, tổng phần trăm của các ngôn ngữ là 304.3%. Điều đó đồng nghĩa với việc một Developer biết trung bình khoảng ba ngôn ngữ.
Tóm lại, là guru của một ngôn ngữ duy nhất là thế mạnh giúp bạn có được công việc ưng ý trong hiện tại, nhưng nó lại là con dao hai lưỡi, vì theo tôi, về lâu dài, nó hạn chế cơ hội phát triển nghề nghiệp của bạn.
Công ty outsourcing có đòi hỏi developer biết nhiều ngôn ngữ?
Tôi có trò chuyện cùng anh Lê Việt An – Test Project Manager của TMA Solutions – và được chia sẻ một tình huống thực tế:
Nguyên, một Developer từng làm việc tại công ty outsourcing của Mỹ, đã kể tôi nghe câu chuyện sau:
Tất nhiên rằng bạn vẫn có thể làm developer nếu chỉ biết một ngôn ngữ. Nhưng trong một số công ty, đặc biệt là startup và outsourcing, developer cần biết nhiều ngôn ngữ để có thể làm được phần việc của người khác trong những trường hợp khẩn cấp như tình huống mà bạn tôi, Nguyên, từng gặp phải.
Vậy công ty product thì sao?
Lấy ITviec làm ví dụ, các Ruby Developer của ITviec ngoài biết Ruby để làm back-end thì đều phải biết thêm HTML, CSS, JavaScript để làm front-end.
Trong bài viết Developer Giỏi Không Nhất Thiết Phải Biết Nhiều Ngôn Ngữ, anh Nguyễn Xuân Huy – Tech Architect của Cybozu Vietnam – đã khẳng định:
Học thêm một ngôn ngữ mới có thật sự phức tạp?
Raviteja Chirala, một Data Scientist và Avid Programmer từng chia sẻ trên Quora:
Peter Jones, một Developer của ITviec, nói rằng:
Đúc kết lại…
Chỉ biết một ngôn ngữ, bạn vẫn có thể có việc làm nhưng để phát triển sự nghiệp thì rất khó. Cơ hội nghề nghiệp bị thu hẹp là điều không thể tránh khỏi.
Lời khuyên của tôi là hãy học thêm và sử dụng thành thạo ít nhất một ngôn ngữ khác. Làm như vậy, bạn đã gia tăng cơ hội việc làm thêm ít nhất 50%, bạn chứng tỏ cho nhà tuyển dụng thấy rằng bạn thích học hỏi và có khả năng học hỏi cái mới.
Nếu bạn thật sự giỏi ở một ngôn ngữ, tôi tin rằng bạn có thể chuyển qua các ngôn ngữ khác rất nhanh, vì về cơ bản, các ngôn ngữ đều khá giống nhau, chúng chỉ thay đổi một chút về syntax.