Chúng ta

Góc khuất của nghề lập trình viên

Thứ hai, 20/8/2018 | 21:04 GMT+7

Ngành lập trình kể ra cũng có khá nhiều cái sướng: Dễ xin việc, công việc thú vị, tiếp xúc nhiều cái mới, mức lương khá. Tuy vậy, nó có không ít mặt tối mà chỉ những người có thâm niên, tiếp xúc lâu với nghề mới trải nghiệm và nhận ra được.

Ngành lập trình kể ra cũng có khá nhiều cái sướng: Dễ xin việc, công việc thú vị, tiếp xúc nhiều cái mới, mức lương khá. Tuy vậy, nó có không ít mặt tối mà chỉ những người có thâm niên, tiếp xúc lâu với nghề mới trải nghiệm và nhận ra được.

Công nghệ liên tục thay đổi

Trong ngành lập trình, công nghệ là thứ liên tục thay đổi. Những công nghệ mới liên tục ra đời thay thế công nghệ cũ, làm kiến thức rất dễ lỗi thời. Do đó, người lập trình viên phải liên tục học hỏi, nếu không, họ sẽ trở nên lạc hậu.

Nguyên nhân sâu xa đằng sau chuyện này chính là tiền. Tại sao mỗi năm FIFA và PES đều ra bản mới? Để bán lấy tiền. Tại sao mỗi năm iPhone lại ra phiên bản mới? Để hút máu người dùng, đế kiếm tiền. Đó cũng là lý do các hãng công nghệ liên tục đưa ra các sản phẩm/công nghệ mới để bán lấy tiền: C# thay đổi từ 2.0 tới 5.0, Windows mỗi 2-3 năm lại ra bản mới, Visual Studio và SQL Server cũng tương tự.

Nhìn chung, sự thay đổi này có mặt tích cực của nó. Các framework/library mới có nhiều tính năng hơn, giúp việc code nhanh và dễ dàng hơn. Tuy nhiên, điều đó cũng đi kèm không ít phiền toái. Mỗi version lại có chút ít cập nhật và thay đổi, làm việc nâng cấp/tích hợp rất mệt mỏi và mất thời gian. Một ví dụ điển hình là ngôn ngữ Python. Python có 2 phiên bản 2 và 3. Phiên bản 3 tích hợp quá nhiều thay đổi, nhiều thư viện của python 2 không chạy được trên bản 3… do đó cộng đồng Python vẫn tranh cãi về việc dùng phiên bản nào. Phiền toán lớn nhất chính là tốn công sức, thời gian mà lập trình viên đã bỏ ra để học ngôn ngữ đó.

Như vậy, với câu hỏi “Bạn nhìn thấy bản thân mình ở đâu sau 5 năm nữa?” là dạng câu hỏi rất dễ hỏi, và hầu hết mọi người đều đã chuẩn bị sẵn cho mình một câu trả lời để đưa ra cho những người phỏng vấn. Nhưng nó nêu lên một mức độ quan tâm sâu hơn: con đường sự nghiệp tương lai dành cho một nhà phát triển phần mềm là gì? Chắc chắn là, chúng ta làm công việc này bởi vì chúng ta yêu thích nó, và chúng ta rất may mắn về mặt này. Nhưng liệu bạn vẫn sẽ ngồi trước màn hình máy tính để lập trình khi mà bạn ở tuổi 50? Khi bạn ở độ tuổi 60? Đâu là thành quả sự nghiệp tốt nhất có thể dành cho một lập trình viên, mẫu người nào mà bạn đang khao khát trở thành?

Bạn sẽ nghĩ gì nếu tôi nói vui với bạn rằng, có tất cả các cấp độ của một lập trình viên?

1. Lập trình viên bất tử

Đây là cấp độ cao nhất. Những đoạn code của bạn sẽ trường tồn và vượt lên trên cả cái chết của bạn. Bạn là một phần của các ghi chép lâu dài về lịch sử của ngành điện toán. Những lập trình viên khác sẽ nghiên cứu về công việc và bút tích của bạn. Bạn có thể đã giành một giải thưởng Turing Award, hoặc đã viết ra những công trình nghiên cứu có sức ảnh hưởng lớn, hoặc đã phát minh ra một hoặc nhiều phần của nền tảng công nghệ mà đã tạo ra ảnh hưởng tới các khóa học lập trình như chúng ta đã biết. Bạn không chỉ có một trang wikipedia giới thiệu về mình mà toàn bộ các trang web đều nghiên cứu về cuộc đời và sự nghiệp của bạn.

2. Lập trình viên thành công

Những lập trình viên này vừa nổi tiếng và cũng tạo nên những doanh nghiệp tầm cỡ, thậm chí họ đã tạo ra toàn bộ ngành công nghiệp xung quanh những dòng code của họ. Những lập trình viên này đã mang lại cho họ sự tự do thực sự: tự do để quyết định công việc mà họ muốn làm. Và chia sẻ sự tự do đó cùng với những đồng nghiệp của họ.

Đây là cấp độ mà hầu hết các lập trình viên đều khao khát vươn tới. Để đạt được cấp độ này thì thường phụ thuộc nhiều vào các kỹ năng kinh doanh hơn là lập trình.

3. Lập trình viên nổi tiếng

Đây cũng là một cấp độ tốt để vươn tới, nhưng bạn cũng nên có một công việc hàng ngày.

Bạn nổi tiếng trong cộng đồng lập trình viên. Nhưng việc trở nên nổi tiếng đó thì không đồng nghĩa với việc bạn có thể thu được nhiều tiền cho riêng mình. Nổi danh thì tốt, nhưng thành công thì còn tốt hơn. Bạn có thể làm việc cho một công ty công nghệ lớn và nổi tiếng trên thế giới, hay một công ty nhỏ nhưng có sức ảnh hưởng, hoặc bạn là một phần của một nhóm khởi nghiệp khiêm tốn nào đó. Nhưng dù sao đi nữa, những lập trình viên khác cũng đã nghe danh về bạn, và bạn đang có một sức ảnh hưởng tích cực lên cộng đồng.

4. Lập trình viên giỏi

Bạn có một sự nghiệp thành công với tư cách là một nhà phát triển phần mềm. Các kỹ năng của bạn luôn đáp ứng được yêu cầu và bạn chẳng bao giờ phải chờ lâu hoặc khó nhọc để kiếm một công việc tuyệt vời nào đó. Các đồng nghiệp của bạn rất nể phục bạn. Mỗi công ty mà bạn làm việc cho họ thì luôn tăng trưởng và thịnh vượng hơn theo một cách nào đó bởi sự hiện diện của bạn.

Hoang Duc Quang

FPT Education - University of Greenwich (Việt Nam)

Ý kiến

()