Chọn công nghệ nhàm chán

Vietnamese Feb 25, 2021

Gần đây có 1 đề tài thú vị được gọi là "hãy chọn công nghệ nhàm chán" (choose boring technologies), nhóm ủng hộ đưa ra các lí do khá thuyết phục: công nghệ nhàm chán ổn định, ít lỗi, scale tốt và có cộng đồng lập trình viên đông đảo. Tôi cũng ủng hộ đề xuất này nhưng một cách tương đối, vì 1 câu hỏi ngắn gọn: "nếu bạn chọn 1 công nghệ nhàm chán để thực thi thì làm sao bạn có thể đã phá (disrupt) lại những thứ đã cũ kĩ ?" Vậy chúng ta hãy thử phân tích sâu hơn về quan điểm này của tôi nhé.

Lập trình là 1 công việc liên quan nhiều đến 2 thái cực: sáng tạo và rủi ro. Tùy công việc, sản phẩm mà 2 nhân tố này có trọng số khác nhau cho phép chúng ta ra quyết định phù hợp và đủ linh hoạt. Ví dụ: có những công việc cần đảm bảo tính ổn định, an toàn như hệ thống giao dịch, database thì việc chọn 1 công nghệ nhàm chán là 1 quyết định tốt vì nó giúp bạn giảm rủi ro về hệ thống để tập trung về tầng business logic phức tạp. Nhưng nếu công việc khác ít rủi ro hơn, như 1 hệ thống nội bộ, hoặc 1 sáng kiến mang lại giá trị cộng thêm không ảnh hưởng đến hoạt động chính của hệ thống, thì bạn có quyền thử các công nghệ mới, vì nếu bạn vẫn dùng công nghệ cũ là có 2 kết quả khó rõ ràng: bạn sẽ mất nhiều thời gian để học như những người trước đó và hiệu suất/tính năng hệ thống cũng không khác gì các hệ thống tương tự đã dựng lên. Nói cách khác, bạn sẽ không hơn gì được các bậc tiền bối nếu dùng chung 1 công nghệ lõi, đó là chưa kể rủi ro là kinh nghiệm va vấp thực tế với loại công nghệ này bạn còn thua các bậc tiền bối vì "tuy mới ta nhưng lại cũ người". Đứng trên góc độ người đi sau, thì can đảm áp dụng công nghệ mới 1 cách khôn ngoan là cách thức để đi sau mà có thể vượt lên nhờ vào tiến bộ của công nghệ mới. Ở công ty của tôi, chúng tôi có thể dùng elasticsearch để truy vấn dữ liệu nhanh hơn, nhưng vì không ai trong chúng tôi nắm rõ công nghệ này, nên chúng tôi đã chuyển sang dùng thử 1 công nghệ mới là meili-search; kết quả mang lại cho business team là rất tuyệt vời còn đội ngũ lập trình thì vui mừng thì học được 1 công nghệ mới có thể thay thế cho elasticsearch trong trường hợp của chúng tôi.

Vậy, thay vì hãy chọn công nghệ nhàm chán, hãy chọn công nghệ phù hợp với ngữ cảnh và tính chất công việc của bạn. Tôi xin kết thúc bài viết này bằng 1 kinh nghiệm bản thân, "các công cụ nội bộ là 1 môi trường tuyệt vời để bạn có thể áp dụng các công nghệ mới vì ít rủi ro và nhận được phản hồi nhanh chóng, qua đó giúp bạn đánh giá công nghệ và giá trị mang lại một cách đầy đủ, khách quan và chính xác; trước khi quyết định có áp dụng cho khách hàng bên ngoài hay không"

Tags