Trong ngành lập trình, có sự khác biệt rất lớn giữa mức lương dành cho các bạn fresh, developer mới ra trường (4-500$) và mức lương của các bác senior developer, team lead, PM (1-2000$ hoặc hơn).
Tại sao lại có sự khác biệt như vậy, làm sao để phát triển thành senior developer, đạt mức lương “nghìn đô”?
Ở kì trước, mình đã có chia sẻ về sự khác biệt giữa junior và senior developer, kì này, mình sẽ chia sẻ về những cách để trở thành senior developer nhé!
1. Senior là phải già, có nhiều kinh nghiệm
Bản thân chữ “senior” trong tiếng Anh nghĩ là “cao tuổi hơn, thâm niên lâu hơn”. Do vậy, để trở thành senior, điều kiện đầu tiên chính là độ tuổi, … nhầm, là số năm kinh nghiệm làm việc.
Phần lớn các công ty bây giờ đều đánh giá senior developer dựa theo số năm làm việc và kinh nghiệm làm việc. Do đó, các bác senior thường … già hơn, chỉ đơn thuần là họ làm việc lâu hơn, có nhiều kinh nghiệm hơn.
Tại sao kinh nghiệm làm việc lại quan trọng như vậy?
- Có kinh nghiệm, bạn sẽ biết cách giải quyết vấn đề nhanh hơn, chính xác hơn, đỡ tốt thời gian hơn
- Đi kèm với kinh nghiệm sẽ là kiến thức về các best practice, các để xây dựng hệ thống một cách đúng đắn
- Kinh nghiệm từ những lỗi lầm phạm phải sẽ giúp ra tránh những sai lầm tương tự trong tương lai
Một số kinh nghiệm có thể đạt được nhờ tự học, đọc sách lập trình, đọc blog Code Dạo. Tuy nhiên, những kinh nghiệm quý giá thật sự thường bắt nguồn từ chính quá trình làm việc.
Do vậy, nếu bạn có làm việc 3-4 năm, nhưng chỉ làm đi làm lại vài trang web, maintaince mấy dự án cũ cũ thì vẫn chưa đủ khả năng trở thành senior đâu!

Số năm kinh nghiệm là quan trọng nhưng chưa đủ, ngoài việc già, nhiều kinh nghiệm, người senior developer còn phải “trâu bò” nữa.
2. Senior là phải “trâu”
Với nhiều kinh nghiệm, senior sẽ là người “code trâu” hơn. Do đã giải quyết nhiều vấn đề nên khi gặp vấn đề hoặc lỗi, thay vì mò mẫm, họ sẽ dựa theo kinh nghiệm, có phương pháp/hệ thống tư duy để giải quyết vấn đề nhanh hơn.
Để trở thành senior của 1 ngôn ngữ/công nghệ nào đó, bên cạnh kinh nghiệm, người developer còn phải nắm vững bản chất công nghệ đó, biết cách áp dụng nó cho phù hợp.
Ví dụ, senior NodeJS không những phải nắm vững những khái niệm trong ngôn ngữ JavaScript sida, mà còn phải biết:
- Cơ chế NodeJS hoạt động
- Những module/thư viện hay dùng khi xử lý vấn đề,
- Những framework/thư viện để làm web, đọc dữ liệu từ database
- Cách quản lý file trong một project NodeJS
- Cách tìm và fix lỗi code JS
- Cách setup dự án NodeJS chạy trên môi trường Production với test, loggging.
Ngoài việc hiểu sâu, đôi khi senior sẽ phải quyết định công nghệ nào nên dùng, công nghệ nào thích hợp cho dự án (Nên dùng Vue hay React, deploy lên Azure hay AWS).

Do vậy, senior developer còn phải biết rộng để có thể so sánh, lựa chọn công nghệ cho phù hợp!
3. Senior phải biết nhìn rộng nhìn xa
Là senior, đồng nghĩa với việc bạn phải biết tự quản lý bản thân, tự xác định công việc của mình, chứ không phải ngồi chờ “cầm tay chỉ việc” như junior nữa.
Nếu như công việc của junior là code, hoàn thành những module nhỏ; công việc của senior sẽ kiêm luôn việc thiết kế toàn bộ hệ thống, tách hệ thống thành những module nhỏ hơn, code những module khó và phức tạp.
Senior cũng sẽ không ngồi không, há mồm chờ requirement. Thậm chí, nhiều khi senior phải làm việc chung với Product Manager, với BA hoặc với khách hàng, giải thích cho họ những hạn chế trong công nghệ, trong hệ thống, nhằm đưa ra requirement phù hợp.
Junior nhìn vào code sẽ thấy code. Còn senior nhìn vào code sẽ thấy dự án, thấy vai trò của dự án trong công ty, thấy cả team đứng đằng sau dự án.

Do vậy, điều cuối cùng để trở thành senior đó là “phải làm cho team tốt hơn”.
4. Senior phải làm cho team và tốt hơn
Một trong những lý do senior được trả lương cao hơn là do họ đem lại nhiều giá trị cho công ty hơn.
Những giá trị này không chỉ đến từ những dòng code họ viết, mà còn đến từ những đóng góp của họ cho team:
- Senior chuẩn bị coding guideline, làm mẫu cho team, sẽ giúp cả team có cách code thống nhất, dễ đọc và bảo trì hơn.
- Senior setup Unit test + CI/CD sẽ giúp team phát hiện lỗi ngay khi code được commit, đỡ tốn thời gian sửa lỗi sau này hơn
- Senior làm code review, thực hiện seminar về kĩ thuật, đào tạo cho junior sẽ làm gia tăng trình độ của member, nâng cao chất lượng dự án.
- Senior viết document về architect, về module sẽ giúp những người mới tham gia dự án dễ dàng hơn, nhanh chóng hơn.
Các bạn thấy đấy, để trở thành senior “đúng chuẩn”, bạn không chỉ đưa bản thân mình lên, mà còn phải biết đưa team lên, nâng cao chất lượng của team và dự án.

Tạm kết
Các bạn thấy đấy, để làm một senior “đúng chuẩn”, không chỉ có “làm lâu lên lão làng được”, mà còn phải trải nghiệm nhiều, học hỏi nhiều để phát triển bản thân.
Đó là ở Việt Nam, dù số lượng người đi làm lâu năm cũng nhiều, nhưng những job tuyển senior lương 1-2000$ nhưng tìm hoài không thấy ứng viên phù hợp; hoặc có những bác senior/technical lead siêu giỏi thì lương tận 3-5000$ và được tới mấy công ty mời chào!
Nói vậy thôi, chứ trở thành senior cũng không là cái gì quá to tát, quá khó khăn lắm đâu. Chỉ cần đam mê, chọn được mội trường phù hợp, nỗ lực phát triển bản thân; sau một thời gian, khi đã trải nghiệm đủ, bạn cũng có thể tự tin gọi mình là senior developer thôi.

P/S: Nói nhỏ nè, để thu thập những kiến thức, kinh nghiệm cho mau lên senior, nhớ Subscribe Chat Bot của Code Dạo nha. Bot của Code Dạo sẽ gửi bạn những bài viết cực kì hay ho về kĩ năng mềm và cứng, kinh nghiệm trong ngành vào thứ 4 hàng tuần nhé!
P/S 2: Những bạn nào muốn ngắm gương mặt đẹp trai của mình thì có thể theo dõi vlog tại đây.
Bạn dùng gói wordpress free phải không nhỉ?
LikeLike
Ừm bạn
LikeLike
Đạt tới trình này thì rất nhiều công ty chào đoán rồi. Không chỉ là chăm chỉ code tốt mà còn phải có mục tiêu để học thêm nhiều kiến thức để phát triển lên trình này,
LikeLike