Senior khác Junior ở điểm gì? Và lộ trình để từ Junior lên Senior.

Có nhiều bạn hỏi mình làm sao để lên senior developer? Câu chuyện này khá dài, dựa vào hiểu biết và kinh nghiệm của mình sẽ chia ra một số quan điểm đúc kết lại trong bài viết để hy vọng giúp các bạn có thêm thông tin tham khảo giúp ích cho career path (con đường phát triển nghề nghiệp) của mình.

Mình nhắc lại đây là quan điểm cá nhân chứ nó không phải kiến thức nhé, vì kiến thức thì mình không thể nói là theo mình hay theo quan điểm của mình được mà là đúng hay sai? Còn giải pháp thì sẽ là phù hợp hay không phù hợp? Còn về vấn đề kinh nghiệm thì có thể theo người này người kia sẽ khác nhau nhưng mình mong muốn chia sẻ những gì đã trải qua dưới góc nhìn của mình có thể  giúp các bạn có cái nhìn rõ hơn về vấn đề này.

Junior và Senior Developer là gì?

Theo khái niệm thuật ngữ Junior Developer là những Developer mới vào nghề ít kinh nghiệm còn senior là những người nhiều kinh nghiệm, đơn giản vậy thôi. Tuy nhiên nếu như thế thì đơn giản quá ai cũng biết có phải không các bạn? Nhưng câu trả lời các bạn muốn nghe là sự khác nhau giữa Junior và Senior Developer. Và sau đó là làm sao để trở thành Senior Developer nhanh và chắc nhất? Đó là điều quan trọng nhất. Bởi vì trở thành Senior thì các bạn chỉ cần làm nhiều là được rồi cũng senior dần thôi. Tuy nhiên để có con đường nhanh và chắc nhất thì phải tìm hiểu xem lộ trình đến đó là gì để còn chuẩn bị những thứ cần thiết.

Về vấn đề này mình không nói dài dòng, nhưng ở góc nhìn của mình, khi làm việc với 1 junior và 1 senior khác nhau rất nhiều. Dưới đây là một số điểm khác biệt tôi cảm nhận được khi làm việc với cả junior và senior. Liệt kê ra đây để các bạn cùng chiêm nghiệm nhé:

  1. Khi làm việc với một senior tôi thường được nghe anh ta chỉ cho tôi nhiều solution cho một vấn đề và điểm mạnh điểm yếu từng solution và gợi ý tôi nên chọn solution nào trong trường hợp nào? Còn với một junior tôi thường nghe anh ta nói là anh ta đã tìm ra 1 solution và thử xem sao nếu không được thì anh ta lại tìm cách khác?
  2. Khi làm việc với một senior tôi thấy anh ta coi các công nghệ như là các công cụ và anh ta sẽ hiểu được nó có ưu nhược điểm gì để biết nó phù hợp với những dự án như thế nào? Còn junior thì họ luôn muốn tìm hiểu công nghệ mới, phải là mới nhất và có một sự tin tưởng tuyệt đối vào một công nghệ đó (cái mà anh ta thích) có thể giải quyết mọi vấn đề giống như viên đạn bạc (silver bullet) vậy.
  3. Khi làm việc với một junior tôi thường thấy anh ta bắt tay vào làm rất nhanh và xong cũng rất nhanh nhưng khi gặp vấn đề thường mất rất lâu để giải quyết và khi xong việc cũng phát sinh rất nhiều lỗi. Còn một senior thì anh ta mất nhiều time để đọc yêu cầu cũng như nghĩ giải pháp nhưng một khi xong việc thì rất ít lỗi xảy ra.
  4. Khi làm việc với một junior anh ta chỉ cần quan tâm làm sao chức năng chạy được đúng và qua được các test case. Còn với một senior anh ta quan tâm không chỉ chạy đúng chạy tối ưu mà còn code chuẩn follow kiến trúc tổng th . Và anh ta cũng nắm rất sâu về cơ chế hoạt động của framework bên dưới.
  5. Một junior học một công nghệ mới anh ta cũng ít đọc tài liệu chính thống kỹ mà kho gặp bug anh ta hay search bu . Còn senior họ sẽ tìm hiểu bản chất trước khi làm nếu có gặp bug cũng rất dễ fix.
  6. Một junior cũng hay cố làm theo một cách mà anh ta thấy đúng nhất hoặc ai đó nói là tốt nhất dù cho sẽ trả giá thế nào nhưng với senior họ sẽ cân nhắc trong từng tình huống chọn giải pháp nào phù hợp nhất cũng như cân đối với chi phí nguồn lực bỏ ra tối ưu nhất.
  7. Còn một điều nữa là một senior không chỉ làm tốt công việc của mình mà anh ta còn có thể support người khác làm tốt công việc của người đó đồng thời có kỹ năng quản lý công việc cũng như có thể quản lý team làm việc tốt vì mục tiêu chung. Cái này đòi hỏi tư duy và kỹ năng mềm chứ không chỉ là công nghệ. 

Làm sao để trở thành Senior?

Để trở thành một Senior thực thụ không phải chỉ làm lâu làm nhiều mà được mà phải có một số các yếu tố bắt buộc. Có nhiều người làm lâu và làm nhiều dự án thì nghĩ là mình thành senior nhưng không phải. Làm nhiều chưa chắc thành senior và làm lâu cũng thế vì anh ta chưa đủ các yếu tố để làm Senior. Ít nhất là theo chuẩn quốc tế. Theo mình để trở thành Senior Developer thì một người cần có những yếu tố bắt buộc, có thể các bạn đọc ở phần trên cũng tưởng tượng ra được một senior cần những gì rồi. Không phải chỉ giỏi code, biết công nghệ này công nghệ kia mà là senior mà còn phải cả kỹ năng làm việc và độ hiểu sâu vấn đề:

  1. Hiểu biết cơ bản về bản chất vấn đề trong công việc hơn là biết nhiều công nghệ mới. Ví dụ khi bạn làm coder bạn cần có kiến thức tốt về cấu trúc dữ liệu giải thuật, lập trình hướng đối tượng, hiểu biết thêm về network, server hay UI UX.
  2. Từ chỗ hiểu biết vấn đề cơ bản thì khi gặp bất cứ issue gì cũng rất nhanh chóng khoanh vùng và biết tìm ở đâu tìm chỗ nào để giải quyết vấn đề đó.
  3. Cũng chính vì hiểu về cơ bản nên khi gặp bài toán khó anh ta cũng biết được bản chất của nó và đưa ra nhiều giải pháp cũng như biết ưu nhược điểm của từng giải pháp như thế nào để lựa chọn cho phù hợp.
  4. Cũng vì hiểu được khi nào cần chọn cái gì phù hợp nên anh ta không bị cực đoan hoá, hiểu vấn đề nên làm việc theo nhóm cũng như dễ thuyết phục người khác cũng hiểu như mình.
  5. Cũng vì hiểu cơ bản nên anh ta cũng dễ học các công nghệ mới rất nhanh vì suy cho cùng thì công nghệ nào cũng base trên những cái cơ bản thôi.
  6. Một điều nữa là hãy nghĩ solution trước khi bắt tay vào code, một developer giỏi là dành phần lớn thời gian nghĩ solution trước sau đó chỉ dành ít thời gian để code thôi. Trong khi một developer kém là dành phần lớn thời gian code còn lại là fix bug.
  7. Nếu nghĩ mà bị rối, đơn giản là bạn đang nghĩ phức tạp quá. Hãy dừng lại và vẽ ra giấy sơ đồ tư duy cũng như những gì bạn nghĩ. Như vậy dễ hình  dung và gỡ rối hơn. Hơn nữa bạn cũng luyện được khả năng tư duy và đơn giản hóa các vấn đề.
  8. Và vì có thái độ và tư duy làm việc tốt nên anh ta kết nối mọi người để làm việc nhóm tốt, hỗ trợ thành viên khác đạt mục tiêu chung nên giá trị bản thân cũng tăng lên. Các bạn nên nhớ, code giỏi chỉ một phần, giúp toàn team code giỏi như mình như vậy giá trị bản thân mới lên cao. Đó mới chính là một senior thực thụ.

Tổng kết

Để trở thành một senior developer bạn cần trang bị cho mình kiến thức, kỹ năng và thái độ tốt. Kiến thức cơ bản vững chắc giúp bạn tự tin tiếp cận vấn đề một cách dễ dàng đồng thời dễ dàng nâng cấp hơn. Kỹ năng làm việc và kỹ năng mềm giúp bạn làm việc hiệu suất cao và kết nối mọi người. Và cái cuối cùng chính là thái độ của bạn với công việc, với đồng nghiệp và với khách hàng sẽ giúp bạn tiến xa hơn.


Tác giả: Bạch Ngọc Toàn

Chú ý: Tất cả các bài viết trên TEDU.COM.VN đều thuộc bản quyền TEDU, yêu cầu dẫn nguồn khi trích lại trên website khác.

Lên trên