Trở thành Senior Developer có dễ dàng như bạn tưởng?
TIL
720
White

ITviec viết ngày 27/12/2018

Sự khác nhau giữa Junior và Senior là gì? Có phải chỉ cần vài năm kinh nghiệm là một Developer có thể có chức danh Senior Developer?

ITviec xin giới thiệu bài viết thể hiện quan điểm về vị trí Senior Developer, cũng như sự khác nhau giữa Senior và Junior Developer của Matt Briggs, CTO của trang thương mại điện tử Nuvango tại Canada và đã có hơn 14 năm trong ngành IT.Sự khác nhau giữa Junior và Senior là gì? Có phải chỉ cần vài năm kinh nghiệm là một Senior Developer?

Thế nào là một Junior Developer

Cuộc sống của một Junior Developer bắt đầu từ lúc mới ra trường, nghĩ rằng mình biết mọi thứ. Đột nhiên, khi đi làm, bạn phải đối mặt với sự thật rằng những thứ bạn học ở trường không hề giải quyết được những vấn đề bạn đang gặp phải.

Việc mà thật sự bạn phải tập trung lúc này là đối mặt với những thử thách trên, và đây cũng là những cái mà bạn nên cố gắng để học và phát triển.

Những Junior Developer cần rất nhiều định hướng, giám sát và mentor để có những kỹ năng này, nếu không họ sẽ "bơi" mãi ở một nơi trong thời gian rất , rất dài.

Một bạn Developer mới ra trường với thái độc tốt có thể được train về Ruby on Rails hoặc iOS trong 1-2 tháng và làm được việc ngay. Và bạn nên tập trung code, không phải là tập trung "phát triển phần mềm" hay quan tâm user nghĩ gì.

Tón lại, một Junior Developer giỏi có thể được đưa cho một task nhất định và được mong đợi làm xong nó nhanh, tốt.

Thế nào là một Developer trung bình?

Sau cấp Junior Developer là cấp Developer. Đây là người bắt đầu thấy những kiểu sai lầm phổ biến của mình, và nhận ra rằng chuyện bỏ những task thông thường để xây dựng một tính năng có thể hoạt động được rất cần nhiều công sức.

Họ sẽ đi tìm kiếm câu trả lời làm sao để xây dựng mọi thứ "Theo Đúng Hướng", và tìm kiếm qua việc thử nghiệm, sách vở và thảo luận với những lập trình viên khác.

Ở cấp độ này thì người này đã phải học về thuyết xây dựng phần mềm hơn là thuyết viết code

Một Junior Developer sẽ xây dựng một đống thuật toán bự với hàng đống việc đi theo. Một Developer giỏi sẽ học theo cách các cuốn sách “Design Patterns” và “Domain Driven Design" dạy.

Một Developer giỏi sẽ hiểu cách sử dụng code để giải quyết vấn đề là phương tiện đi đến một kết quả cuối cùng, chứ không phải code vì yêu thích nữa.

Tóm lại, một Developer giỏi không cần phải bị giám sát quá nhiều. Họ được tin tưởng khi đưa ra những vấn về code design, và đóng vai trò quan trọng trong những cuộc thảo luận về thiết kế. Tuy nhiên, họ cũng cần được các cấp cao hơn giám sát và mentor nữa.

Cuối cùng thì, định nghĩa Senior Developer thế nào cho đúng?

Một Senior Developer thì luôn quen thuộc với thất bại của riêng mình. Họ viết code có lúc theo và không theo các design, và thường cả hai đều thất bại.

Một Senior Developer thì đã không còn rơi vào sự phức tạp mà những Developer hay mắc phải, họ thường thích cái gì đó đơn giản hơn.

Một Senior Developer không bao giờ phân loại các Developer dưới quyền dựa trên kiến thức của họ, thay vào đó thì hiểu rằng nên dựa vào điểm mạnh và điểm yếu.

Một Senior Developer sẽ hiểu rằng không có con đường "đúng" nào để xây dựng phần mềm và cách duy nhất để xây dựng một phần mềm tuyệt vời là ứng dụng lý thuyết vào phù hợp với nhu cầu của khách hàng, codebase, team, công cụ và tổ chức.

Trong khi một Developer sẽ cày mãi qua những công việc buồn tẻ, thì một Senior Developer sẽ dừng lại và đặt câu hỏi cái gì đang có vấn đề để khiến những công việc buồn tẻ đó hết buồn tẻ. Họ sẽ đánh giá chi phí của việc sửa những vấn đề cốt lõi, sẽ sửa chúng trực tiếp hay sửa cuối cùng.

Một Senior Developer hiểu rằng bạn không thể tự làm bất cứ điều gì, và nhiệm vụ đầu tiên của họ là giúp đỡ team trở nên tốt hơn, và họ cũng luôn phấn đấu để cải thiện chính bản thân mình.

Một Senior Developer sẽ hiểu rằng leadership không phải là về quyền lực mà là về "trao quyền". Không phải là hướng dẫn, mà là phục vụ.

Nếu bạn không có ít nhất một Senior Developer với vai trò lãnh đạo trong team mình thì dự án của bạn sẽ thất bại.

Một team có những Developer giỏi sẽ giúp bạn đi rất xa, nhưng vào ngày nộp kết quả phần mềm thì một là thất bại luôn, một là phải  rewrite rất mất công và tốn thời gian.

Quan trọng hơn, một Senior Developer là người duy nhất có khả năng chọn công nghệ và platform đúng cho dự án.

Vậy thì, tóm lại, có nên phân loại Developer theo số năm kinh nghiệm hay không? Mời bạn đọc toàn bộ bài viết Junior Developer và Senior Developer khác nhau ra sao? của Matt Briggs đã được ITviec chuyển ngữ và biên tập.

itviec 22-12-2018

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

ITviec

2 bài viết.
3 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
7 1
Công việc của lập trình viên rất vất vả và nhiều thử thách. ITviec hân hạnh mang đến cho bạn bài viết chất từ hot blogger John Sonmez, một develope...
ITviec viết 9 tháng trước
7 1
Bài viết liên quan
White
0 4
fCC: Technical Documentation Page note So I have finished the HTML part of this exercise and I want to come here to lament about the lengthy HTML ...
HungHayHo viết 1 năm trước
0 4
White
2 0
I used Spring boot, Hibernate few times back then at University, I'v started using it again recently. In this (Link), I want to check how Spring J...
Rey viết 7 tháng trước
2 0
White
22 1
Toán tử XOR có tính chất: + A XOR A = 0 + 0 XOR A = A Với tính chất này, có thể cài đặt bài toán sau với độ phức tạp O(N) về runtime, và với O(1)...
kiennt viết gần 3 năm trước
22 1
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
2 bài viết.
3 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!