Nhưng những vị trí này không chỉ khác nhau ở kỹ năng viết code. Vậy chính xác thì sự khác biệt là gì?
Kiến thức
Senior Developer chắc chắn có nhiều kiến thức hơn nhiều so với developer cấp Junior. Việc tìm hiểu về các mẫu thiết kế, kiến trúc, test tự động, hiệu suất, bảo mật, v.v. là một cách hiệu quả để một developer cấp Junior thu hẹp khoảng cách kiến thức với các developer cấp cao hơn.
Điều quan trọng là phải biết mọi công đoạn trong phát triển phần mềm nên được thực hiện như thế nào. Nhưng điều này là chưa đủ để giúp bạn trở thành một Senior Developer. Kiến thức không phải là sự khác biệt lớn nhất giữa các developer — đó chỉ là một trong những yếu tố cần thiết.
Kỹ năng lập trình
Bất chấp những gì hầu hết mọi người nghĩ, lập trình không phải là để giao tiếp với máy tính. Lập trình là giao tiếp với con người và hướng dẫn máy tính. Cuối cùng, code được biên dịch và dịch sang các số 0 và một.
Code phải có ý nghĩa đối với các developer khác làm việc với nó trong tương lai. Một team mới chưa từng thấy code này sẽ có thể mở code và bắt đầu làm việc trên các tính năng mới hoặc sửa lỗi. Đây là điểm có sự khác biệt lớn giữa các developer cấp Junior và Senior.
Junior Developer là gì?
Junior Developer có rất ít kinh nghiệm, một số có thể vừa tốt nghiệp và đang bắt đầu công việc toàn thời gian đầu tiên. Tư duy của một Junior Developer thường là chỉ làm cho code chạy. Phần mềm có thể chạy và phần mềm tốt được coi như nhau.
Lập trình code đơn giản rất khó – và đây là điều mà các Junior Developer không làm. Họ sẽ viết code cầu kỳ, với các dòng chữ code “lạc quẻ” kỳ quặc và những phần trừu tượng phức tạp. Đây là cách Junior Developer thể hiện cho người khác biết họ có thể viết code tốt như thế nào.
Họ tập trung vào phần máy tính của code mà bỏ qua chi phí của phía con người.
Senior Developer thì sao?
Khi nhìn vào code của một Senior Developer, bạn có thể nghĩ: Chỉ thế này thôi sao? Phần còn lại của code ở đâu? Một Senior Developer viết code đơn giản, dễ hiểu. Đây là một trong những phẩm chất tốt nhất mà một developer cần có khi nói đến lập trình.
Một Senior Developer nghĩ về code của họ theo một cách khác với Junior Developer. Khi viết code họ sẽ lưu ý đến khả năng bảo trì và khả năng mở rộng. Đây là một suy nghĩ hoàn toàn khác so với các Junior Developer — người cấp Senior nghĩ cả về những người phải làm việc với code, trong khi Junior chỉ nghĩ về việc sao cho code chạy trên máy tính.
Không chỉ là kỹ năng viết code
Bên cạnh kỹ năng viết code, có một số yếu tố khác có thể giúp phân biệt các cấp developer.
Nói chung, Junior Developer thường làm những công việc đơn giản nhất hoặc những công việc có tác động thấp. Họ không làm việc liên quan đến thiết kế kiến trúc. Các developer cấp trung cũng không thiết kế các giải pháp, họ chỉ thực hiện các nhiệm vụ. Sự khác biệt với Junior Developer là họ thực hiện các nhiệm vụ đó với ít sự giám sát hơn. Các Senior Developer có thể tự mình phát triển một ứng dụng từ đầu đến cuối.
Điều này không có nghĩa là Senior Developer không có bất kỳ câu hỏi nào trong suốt quá trình làm việc. Sự khác biệt là các Senior Developer biết cách đặt đúng câu hỏi và cách xử lý những câu hỏi này. Các developer cấp trung có thể đặt câu hỏi phù hợp khi nói đến các nhiệm vụ thường ngày của họ, nhưng cần trợ giúp đối với các nhiệm vụ phức tạp hơn.
Trái lại, không nên mong đợi một developer Junior hỏi ngay những câu hỏi phù hợp. Vì các Junior Developer còn thiếu kinh nghiệm, họ cần sự hướng dẫn từ người có kinh nghiệm hơn. Junior Developer cần được cung cấp các nguồn lực cần thiết hoặc một “cú hích” để đi đúng hướng.
Vân Nguyễn (dịch)







Bình luận (0
)