0966.867.186

Công nghệ liên tục thay đổi – Ai là người có lỗ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 vì. 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 ích 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ữ đó.

Đôi khi một framework/library chết, không được hỗ trợ nữa (VB6, Silverlight). Thử tượng tượng bây giờ MS SQL không được phát triển tiếp xem, một đống dự án sử dụng MS SQL sẽ lao đao.  Đó là lý do các ngôn ngữ/công nghệ như Java, C#, PHP, MySQL vẫn được ưa chuộng so với NodeJS, MongoDB,… vì chúng có tuổi đời lâu hơn, đáng tin tưởng hơn.

Vòng đời của một công nghệ: Một công nghệ mới ra đời, được nhiều công ty sử dụng, nhu cầu tuyển dụng cao nên nhiều người theo học. Qua năm tháng, công nghệ chết dần, không ai tuyển nữa nên ít người học. Tuy nhiên, ứng dụng của các công ty được xây dựng bằng các công nghệ cũ, họ vẫn cần developer để bảo trì/nâng cấp ứng dụng. Đó là lý do các developer Cobol, VB6, Fortran vẫn rất được giá.

 

Hackathon và Stackoverflow không “tốt đẹp” như bạn nghĩ

Hackathon là một cuộc thi code nho nhỏ, thường tổ chức vào hai ngày cuối tuần. Các lập trình viên sẽ lập thành một team khoảng 3-5 người để xây dựng một sản phẩm. Giải thưởng (khá hấp dẫn) sẽ được trao cho các đội xuất sắc nhất.

Mặt tốt của hackathon rất nhiều và dễ thấy. Các sự kiện này thường rất vui và có ích cho lập trình viên: Họ được vui chơi, được code, được tặng quà, còn được xây dựng quan hệ, kết nối với cộng đồng. Tuy nhiên, mặt xấu thì ít người để ý. Hackathon được tổ chức với lý do là “phát triển cộng đồng, giới thiệu công nghệ”. Thật ra, đôi lúc đây là một cách rẻ mạt để chôm thời gian và công sức của lập trình viên. Luật bản quyền cũng ít khi được coi trọng (ứng dụng tham gia hackathon, mặc định bản quyền thuộc về hackathon) nên bạn có thể dễ dàng bị chôm/đạo ý tưởng mà không làm được gì. Nên cân nhắc.

Stackoverflow là một mạng hỏi-đáp dành cho lập trình viên. Tham gia stackoverflow sẽ giúp bạn nâng cao trình độ và kiến thức. Tuy nhiên, tham gia stackoverflow, bạn đã vô tình tham gia vào đội ngũ “chuyên gia” miễn phí, cho stackoverflow thu tiền quảng cáo. Nó còn áp dụng Gamification (Điểm, huy hiệu) để dụ dỗ bạn đóng góp thời gian, công sức. Một câu trả lời trên stackoverflow tiết kiệm cho bạn 1 tiếng fix lỗi, bạn bỏ ra 15 phút ngồi đóng góp lại cũng ko sao, nhưng đừng bỏ 3, 4 tiếng vào đó nhé.

Dù vậy, mình vẫn khuyên các bạn tham dự các hackathon và stackoverflow, chúng rất hữu ích với mọi lập trình viên. Nhưng nhớ biết nhận thức và dè chừng những mặt xấu của nó nhé.

Vấn đề outsource và bóc lột

Ở Việt Nam có khá nhiều công ty outsource. Các công ty này cung cấp phần lớn công ăn việc làm cho lập trình viên, đóng góp vào GDP nước nhà. Outsource cũng không phải hoàn toàn xấu, nhưng quá lệ thuộc vào outsource, chỉ cắm đầu vào gia công phần mềm, thì ngành IT nước nhà sẽ rất khó phát triển.

Vì sao các công ty nước ngoài lại outsource, chung quy cũng (lại) là vì tiền. Giá nhân sự của Việt Nam, Ấn Độ rẻ hơn lập trình viên nước ngoài nhiều. Các công ty outsource Việt Nam ăn phần lớn, trả một phần nhỏ cho lập trình viên. Đó là lý do các bác PM, quản lý, cấp cao lương thưởng cao chót vót, còn developer quèn thì lương nhỏ giọt. Mình khuyên các bạn nên học giỏi tiếng Anh rồi tự tìm cách bán thân – qua nước ngoài làm. Mình quen vài ông anh làm cho công ty nước ngoài, 1 ông qua Singapore làm, lương cao mà không lo bị bóc lột như outsource.

Nhắc tới chuyện bóc lột, hình thức bóc lột “dã man” nhất là làm thêm giờ, còn gọi là OT (Overtime). Nếu bạn xui xẻo rơi vào dự án “cháy”, OT là chuyện như cơm bữa. Bạn sẽ phải đi làm tới 8-9 giờ tối, cả thứ 7 chủ Nhật. Điều này ảnh hưởng không nhỏ đến sức khỏe, quan hệ xã hội và gia đình. Mình từng nghe “truyền thuyết” về 1 team cũ, do OT ăn mì tôm riết mà cả nhóm bị mỡ trong máu. Về chuyện tiền nong, có nhiều công ty trả tiền OT rất sòng phẳng, cũng có nhiều nơi quy ra ngày phép, hoặc xù luôn.

Chưa hết đâu, còn một số mặt tối đáng sợ hơn sẽ được đề cập trong phần 2, các bạn đón đọc nhé....