Đa phần công việc của lập trình viên không phải là tạo ra một sản phẩm hoàn toàn mới, mà là bảo trì, cải tiến thêm chức năng cho những sản phẩm đã cũ.
Khi sản phẩm mới được tạo ra, các bác lập trình viên trước chúng ta đã lựa chọn những công nghệ mới nhất, tốt nhất vào lúc đó! Đến khi tới lượt chúng ta bảo trì, những công nghệ mới lúc xưa giờ đã trở thành “hàng cũ” mất rồi.
Ủa, vậy tại sao không nâng cấp nó lên?? Đây là chuyện nói dễ hơn làm:
Các bạn thấy đấy, có thể các dự án bạn đang làm đã 5-10 năm tuổi Đảng (đặc biệt là các dự án COBOL, VB.NET của Nhật), chúng sử dụng công nghệ “lỗi thời” là chuyện rất bình thường.
Ủa, các dự án bảo trì dùng công nghệ cũ là chuyện đương nhiên ồi. Vậy còn các dự án mới thì sao, tại sao họ lại vẫn chọn dùng công nghệ cũ nhỉ?
Để hiểu lý do, các bạn phải biết hai điều:
Thật vậy, khi lựa chọn công nghệ cho một dự án, người technical lead/software architecture thường đưa ra những câu hỏi sau:
Những công nghệ mà ta tưởng “cũ”, công nghệ “lỗi thời” hoàn toàn đáp ứng được những yêu cầu trên:
Ví dụ bên mảng front-end, nếu dùng những công nghệ “cũ” như jQuery, Angular 1 sẽ có nhiều người biết hơn Angular 2, VueJS, ReactJS. Khi team cần tuyển người cũng sẽ dễ tuyển hơn nhiều.
Thông thường, khi làm việc với công nghệ cũ, thường chúng ta sẽ cảm thấy khá nản, bực mình và bất mãn:
Nếu gặp trường hợp trên, có hai việc các bạn có thể làm
Thật vậy, bạn học được rất nhiều trong môi trường làm việc.
Thay vì chỉ chăm chú vào công nghệ, các bạn có thể học được những điều sau:
Muốn thay đuổi, muốn dùng cái mới, chính bạn phải là người đề xuất!
Nếu làm trong startup, môi trường mở, họ sẽ dễ dàng tiếp nhận cái mới. Bạn cứ thử đặt vấn đề với team leader hoặc khách hàng, “dụ dỗ” họ là nếu dùng công nghệ mới ABC này thì code sẽ tốt và gọn hơn, tạo ra sản phẩm nhanh hơn.
Hãy nhớ rằng, với PM hoặc khách hàng, thứ họ quan tâm là năng suất làm việc và chất lượng sản phẩm, chứ không phải là công nghệ gì nên sử dụng.
Sau khi đề xuất, bạn có thể thử áp dụng công nghệ mới vào các module nho nhỏ trước. Như mình cũng từng để xuất dùng Firebase, Electron, NoSQL cho một số module của dự án cũ viết bằng AngularJS.
Điều quan trọng nhất là, đừng nên kĩ thị những công nghệ cũ! Đừng thấy nó cũ là nghĩ rằng nó “dỏm”, nó “lạc hậu”!
Khi chọn công nghệ hãy nhớ câu của Đặng Tiểu Bình: Mèo trắng hay mèo đen không quan trọng, miễn là nó bắt được chuột!
Công nghệ cũ hay mới không quan trọng, miễn là nó tạo ra sản phẩm tốt!
You need to login in order to like this post: click here
YOU MIGHT ALSO LIKE