Làm sao để trở thành một lập trình viên “có giá” và lương cao?

Là một lập trình viên, hẳn bạn nào cũng muốn có một công việc với mức lương khá khẩm, môi trường làm việc ngon lành.

Tuy nhiên, các công ty trả lương cho bạn dựa theo giá trị của bản thân bạn, tức là việc bạn có thể mang lại bao nhiêu tiền cho công ty. Muốn có mức lương như ý, bạn phải là một lập trình viên “có giá”, đem lại nhiều giá trị cho công ty và cho team.

Vậy, phải làm sao để nâng cao giá trị bản thân, trở thành một lập trình viên “có giá”? Hãy đọc và làm theo những kinh nghiệm mình chia sẻ trong bài viết này nhé!

Trau đồi kĩ năng cứng

Công việc của lập trình viên không chỉ có code! Tuy vậy, thời gian code chiếm phần lớn thời gian làm việc của bạn.

Trau dồi kinh nghiệm và kĩ năng cứng là một trong những cách nhanh nhất để nâng cao giá trị bản thân.

Những việc bạn cần làm để trau dồi kĩ năng cứng là:

  • Nâng cao chất lượng code: Hãy đọc Code Complete và Clean Code. Ngoài ra, hãy tìm hiểu thêm về các khái niệm chuyện sâu như: Nguyên lý SOLID, Denpency Injection, Design pattern. Hãy nâng tầm suy nghĩ lên tầm design, tầm hệ thống.
  • Học tiếng Anh: Tiếng Anh tốt sẽ giúp bạn dễ đọc tài liệu, học công nghệ mới. Ngoài ra, bạn còn có cơ hội đi nước ngoài on-site, hoặc làm việc công ty nước ngoài, nhận mức lương cao. (Mình cũng từng chia sẽ một số kinh nghiệm học tiếng Anh nhé).
  • Tự bổ sung kiến thức: Kiến thức trong ngành lập trình rất nhanh hết hạnĐừng chỉ làm việc mình được giao, coi chừng kiến thức của bạn sẽ lạc hậu khi đi ra ngoài phỏng vấn xin việc đấy!
  • Hãy bớt vào vozforum, webtretho, facebook lại mà chịu khó tìm đọc các blog IT, Pluralsight, Quora, Medium để tìm bổ sung kiến thức.
Kiến thức trong ngành lập trình rất rộng và rất dễ lỗi thời
  • Học Domain Knowledge: Domain Knowledge tức là những kiến thức liên quan đến business, đến chuyên ngành (kinh tế, tài chính).
  • Biết domain knowledge, các bạn có thể hiểu điều khách hàng nói, biết cách nói cho họ hiểu. Điều này tạo nên sự khác biệt, làm bạn “có giá” hơn. Bạn cũng có thể phát triển lên tầm BA – Business Analyst.

 

  • Tìm hiểu rõ dự án: Có kĩ năng technical là tốt! Nhưng phải hiểu dự án mới biết cách áp dụng kĩ năng đem lại hiệu quả cao nhất!
  • Hãy tìm hiểu kĩ về công nghệ, về scope và deadline, về những người chịu trách nhiệm chính trong dự án để có thể đưa ra những đóng góp hữu ích cho team.

Phát triển kĩ năng mềm

Không chỉ các bạn sinh viên ít lưu tâm tới kĩ năng mềm, mà nhiều lập trình viên đã đi làm cũng coi thường tầm quan trọng của nó.

Nếu kĩ năng cứng, kĩ năng xin việc quyết định chuyện bạn có việc làm hay không; kĩ năng mềm sẽ quyết định khả năng sống sót với nghề, khả năng thăng tiến của bạn.

Những kĩ năng mềm mà các bạn nên phát triển là:

  • Kĩ năng giao tiếpDân IT thường làm việc với máy nên không để ý đến kĩ năng giao tiếp. Thật ra, kập trình là làm việc với con người: Bạn sẽ phải trình bày với đồng đội, với sếp, với khách hàng. 
  • Dù cho bạn định theo hướng quản lý, khi lên vị trí cao như senior, software architect, bạn vẫn cần những kĩ năng thuyết trình, kĩ năng diễn đạt.
Mình khuyến khích các bạn nên đọc Đắc Nhân Tâm – Một cuốn sách khá hay về đối nhân xử thế và giao tiếp
  • Thương sếp và hiểu sếp: Tại sao phải thương sếp hiểu sếp? Bởi vì việc bạn lên chức hay lên lương phần lớn là do sếp quyết định.
  • Hãy thương sếp vì ngày xưa sếp cũng từng là dev như bạn, giờ làm quản lý họ cũng phải học hỏi tự đầu. Hãy hiểu sếp vì họ còn có nhiều chuyện phải lo hơn (dự án, tiến độ, lợi nhuận), không chỉ tập trung vào technical được nữa.

 

  • Quản lý thời gianMỗi người chỉ có 8 tiếng mỗi ngày để làm việc. Nếu không biết cách quản lý, bạn sẽ khó hoàn thành công việc, dẫn đến OT. Mình có chia sẻ một bài viết về cách quản lý thời gian bằng Trello, các bạn tìm đọc nhé.
  • Xây dưng uy tín và quan hệAi cũng biết uy tín và quan hệ rất quan trọng.
  • Uy tín giúp bạn đạt được nể trọng của sếp và đồng nghiệp, dễ lên lương lên chức. Quan hệ giúp bạn có nhiều cơ hội mới. Nhiều bạn chỉ cắm mặt lo làm mà quên mất hoăc ko biết cách xây dựng hai thứ này.
  • Bạn có thể dần dần xây dựng uy tín thông qua những việc nhỏ như: Tôn trọng deadline, hứa là làm; code có tâm, ít bugkhông ngại việc “hơi” quá khả năng; sẵn sàng giúp đỡ đồng đội và junior.
Uy tín và cá nhân đóng vai trò khá quan trọng trên con đường thăng tiến của bạn

Về chuyện tăng lương

Một vấn đề mà developer chúng ta thường hay lăn tăn đó là chuyện “tăng lương”. Các bạn nên hiểu rằng, công ty trả lương cho bạn theo khả năng, theo công việc bạn hoàn thành.

Nếu bạn chỉ hoàn thành những công việc được giao, khả năng của bạn không tăng lên, công ty không có lý do gì để tăng lương cho bạn cả!

Để dễ dàng “đòi hỏi” tăng lương, các bạn hãy đưa ra những lý do chính đáng, phù hợp như sau:

  • Nói rõ những cống hiến của bản thân cho công ty và cho thành công của dự án
  • Nâng cao khả năng, trình độ của mình bằng cách trau dồi các kĩ năng mềm cứng.
  • Nhận nhiều trọng trách hơn, nhận trách nhiệm nhiều hơn thì dĩ nhiên lương cũng sẽ tăng lên theo
  • Thử đi phỏng vấn bên ngoài, sau đó lấy offer về thương lượng.

Một kinh nghiệm khác khi thương lượng lương bổng là đừng tin lời hứa của các sếp. Hãy đòi hỏi họ viết rõ ràng về điều kiện tăng lương, tăng chức, gửi qua email để có cái làm bằng chứng sau này.

Đừng quá tin tưởng lời hứa suông của sếp, hãy đòi giấy tờ email xác thực

Ngay cả ở các công ty lớn như Amazon, FPT,… chuyện hứa lèo để giữ chân nhân viên, quịt rồi không tăng lương cũng không phải là hiếm nhé!

Nhảy việc nhiều lương sẽ cao?

Có khá nhiều lý do để các bạn nhảy việc: Công việc nhàm chán, lương thấp, không có cơ hội phát triển,…

Nhảy việc có một số cái lợi: Khi nhảy việc, lương sẽ tăng nhanh hơn so với việc… chờ tăng lương. Điều này giúp bạn không bị hớ lương. Kể cả khi bạn không định nhảy việc, có offer mức lương cao hơn từ công ty khác thì bạn cũng dễ nói chuyện với sếp hơn để đòi tăng lương.

Tuy nhiên, nhảy việc có một số tác hại các bạn nên chú ý: Nó gây thiệt hại cho công ty (mất phí đào tạo bỏ ra cho bạn). Nhảy việc quá thường xuyên sẽ làm xấu CV của bạn (nhân viên nhảy nhiều thì công ty ít dám tuyển), đồng thời cũng làm giảm cơ hội thăng tiến của bạn.

 

Chuyện nhảy việc có những lợi ích và tác hại của nó

Do đó, lời khuyên của mình là nên stay khoảng 2-3 năm trước khi nhảy. Nên nhảy nếu tăng hơn 2-30% (Lương 10 lên 13tr chẳng hạn), tăng chỉ có mấy trăm nghìn thì đừng nhảy mất công.

Nếu nhắm thấy có thể phát triển lâu dài trong công ty hiện tại thì bạn có thể bám trụ lâu năm, đổi mức lương thấp lấy cơ hội thăng tiến về sau.

Ngoài ra, đừng nên nhảy việc khi dự án đang thiếu nhân sự hoặc đang bước vào giai đoạn quan trọng nhé. Bạn sẽ đẩy cấp trên và đồng đội vào thế khó xử, sau này rất khó nhìn mặt nhau!

Ngành IT mình nhỏ lắm, những chuyện như vậy sẽ ảnh hưởng lớn đến uy tín và hình ảnh của bạn sau này. Nhớ cẩn trọng nhé!

Kết

Bài viết này được tổng hợp từ nội dung buổi thuyết trình của mình tại FPT Software Hồ Chí Minh. Các bạn có thể tham khảo nội dung slide lại đây nhé: Xem Slide.

30s quảng cáo

book.jpg

Những phương cách trau dồi kĩ năng mềm, kĩ năng cứng đều được mình nhắc tới trong cuốn sách “Code dạo kí sự – Lập trình viên đâu phải chỉ biết code“. Đây là quyển sách đầu tiên đề cập những kĩ năng từ mềm đến cứng mà mỗi developer phải có, đảm bảo sẽ rất có ích cho các bạn sinh viên hoặc lập trình viên đã đi làm. Các bạn xem thông tin và đặt mua sách tại đây nhé: Sách Code Dạo Ký Sự.

2 thoughts on “Làm sao để trở thành một lập trình viên “có giá” và lương cao?”

  1. Theo như a nói thì người này quá hoàn hảo rồi, kỹ năng cứng, mềm, anh văn, giao tiếp gì tốt hết thì chả có lý do gì để bàn nữa rồi.

    Nhưng em hỏi nếu là 1 sinh viên chuẩn bị ra trường với hy vọng có mức lương tốt hoặc nói chung là được chào đón bởi nhà tuyển dụng trong khi:

    1) Ngoại ngữ tốt, có thể làm việc với khách hàng nước ngoài nhưng kỹ năng Dev không bằng ứng viên còn lại.
    2) Kỹ năng Dev tốt, nhưng ngoại ngữ không có, không thể làm việc trực tiếp với khách hàng.

    Vậy theo anh ứng viên nào sẽ có lợi hơn khi đi xin việc, nếu anh là người tuyển dụng thì a sẽ ưu tiên ai hơn ?
    Và hướng nào sẽ có thể phát triển tốt hơn sau này ?

    Like

    1. Hi em, vấn đề có lợi hay không thì cũng tuỳ vào công ty nữa.

      Ví dụ em xin việc vào công ty Việt Nam thì ngoại ngữ tốt cũng không cần thiết lắm, hoặc nhiều vài công ty outsource có sẵn BA khủng thì developer cũng không cần làm việc trực tiếp với khách hàng làm gì, cứ theo requirement mà làm thôi.

      Vì vậy, đa phần các công ty Việt Nam thường tuyển dev có kĩ năng dev tốt trước, kĩ năng ngoại ngữ chỉ xem như điểm cộng, sau này có thể đào tạo thêm nếu cần. Vả lại, ngoại ngữ tốt là một chuyện, nhưng làm việc và trò chuyện với khách hàng lại là một kĩ năng khác khó hơn, cần thời gian và kinh nghiệm để rèn luyện, không phải giỏi tiếng Anh là được.

      Muốn phát triển thì tốt hơn là nên giỏi cả hai thì tốt hơn. Thật lòng mà nói, nếu muốn lương cao, luyện cả ngoại ngữ và technical rồi cố gắng xin việc ở các công ty nước ngoài, ra nước ngoài làm việc.

      Vừa rồi anh apply các công ty nước ngoài, offer vào khoảng 75-110 củ/tháng cho vị trí mid-level, chưa đến tầm senior. So với mức VN là đủ hiểu rồi ha ;).

      Liked by 1 person

Leave a comment