Các con đường phát triển sự nghiệp của Developer?

  1. Hướng nghiệp

Nhìn khái quát thì career path của 1 Software Developer có thể đi theo 3 hướng chính. Mỗi hướng đi lại chia thành những ngã rẽ nhỏ tùy kỹ năng chuyên sâu/tính chất công việc như bảng dưới đây.


Với mỗi hướng đi Developer sẽ có những lợi thế gì và gặp những khó khăn gì?

Từ khóa: 

hướng nghiệp

Với câu hỏi này, thiết nghĩ nếu để viết ra thì có vẻ khá là khó để diễn tả hết được ý. Bản thân mình là người đã thử cả 3 hướng đi này (tạm gọi là hướng 1,2,3 theo thứ tự từ trên xuống), và đây là những gì mình rút ra được từ chính những trải nghiệm của mình:

Hướng đi số 3 (Dev Entrepreneur) hay chính là start-up:

  • Ưu điểm: Thường thì sẽ được chịu trách nhiệm chính về sản phẩm, không bị phụ thuộc, thỏa sức sáng tạo. Chưa kể bạn sẽ có cơ hội được trải nghiệm tất cả các vị trí trong việc vận hành một doanh nghiệp từ coder -> kế toán -> quản trị ..., những công việc tưởng chừng như "ko hề liên quan" này sẽ giúp bạn hoàn thiện được rất nhiều skills mà một coder fulltime khó có thể có được ;)
  • Nhược điểm: Cái này thì không chỉ startup về CN gặp phải mà là tình trạng chung của tất cả startup phải đối đầu, đó là khó khăn lúc start do thiếu kinh nghiệm, thiếu vốn, sản phẩm chưa có năng lực cạnh tranh trên thị trường, chưa xây dựng được network,... => tỉ lệ thành công thấp: Theo thống kê, chỉ có 20% công ty sống qua được 5 năm, sau đó < 5% (so với ban đầu) là thành công.

Hướng đi số 2 (Freelance Dev)

  • Ưu điểm: Thời gian tự làm chủ, đa phần phải làm đêm, bạn càng làm nhiều thì càng có nhiều tiền, được chịu trách nhiệm với kết quả làm việc lẫn deadline, không bị gò bó.

Một điểm cộng to to của hướng đi này chính là thu nhập khá là cao ;)

  • Nhược điểm: Thường thì mình thấy nếu một người làm freelance từ 2 năm trở lên, kiến thức chuyên môn tăng lên sẽ ít hoặc tích lũy được ít, nếu không cẩn thận thì có khả năng dễ bị đào thải khỏi ngành CNTT đang phát triển với tốc độ chóng mặt như hiện nay

Hướng đi số 1 (Fulltime Dev): Đây là hướng đi của ~70% dân coder thông thường

  • Ưu điểm: ổn định, tăng được cả kiến thức lẫn tiền
  • Nhược điểm: mỗi tội chậm, muốn tăng nhanh phải chủ động tích lũy kiến thức nhanh + NÊN nhảy việc nếu có thể, trải nghiệm nhiều môi trường để có khả năng thích ứng và phát triển nhanh hơn.

Trên đây chỉ là những chia sẻ cá nhân rút ra từ chính bản thân mình. Hy vọng sẽ được lắng nghe thêm nhiều ý kiến khác từ mọi người! :)

Trả lời

Với câu hỏi này, thiết nghĩ nếu để viết ra thì có vẻ khá là khó để diễn tả hết được ý. Bản thân mình là người đã thử cả 3 hướng đi này (tạm gọi là hướng 1,2,3 theo thứ tự từ trên xuống), và đây là những gì mình rút ra được từ chính những trải nghiệm của mình:

Hướng đi số 3 (Dev Entrepreneur) hay chính là start-up:

  • Ưu điểm: Thường thì sẽ được chịu trách nhiệm chính về sản phẩm, không bị phụ thuộc, thỏa sức sáng tạo. Chưa kể bạn sẽ có cơ hội được trải nghiệm tất cả các vị trí trong việc vận hành một doanh nghiệp từ coder -> kế toán -> quản trị ..., những công việc tưởng chừng như "ko hề liên quan" này sẽ giúp bạn hoàn thiện được rất nhiều skills mà một coder fulltime khó có thể có được ;)
  • Nhược điểm: Cái này thì không chỉ startup về CN gặp phải mà là tình trạng chung của tất cả startup phải đối đầu, đó là khó khăn lúc start do thiếu kinh nghiệm, thiếu vốn, sản phẩm chưa có năng lực cạnh tranh trên thị trường, chưa xây dựng được network,... => tỉ lệ thành công thấp: Theo thống kê, chỉ có 20% công ty sống qua được 5 năm, sau đó < 5% (so với ban đầu) là thành công.

Hướng đi số 2 (Freelance Dev)

  • Ưu điểm: Thời gian tự làm chủ, đa phần phải làm đêm, bạn càng làm nhiều thì càng có nhiều tiền, được chịu trách nhiệm với kết quả làm việc lẫn deadline, không bị gò bó.

Một điểm cộng to to của hướng đi này chính là thu nhập khá là cao ;)

  • Nhược điểm: Thường thì mình thấy nếu một người làm freelance từ 2 năm trở lên, kiến thức chuyên môn tăng lên sẽ ít hoặc tích lũy được ít, nếu không cẩn thận thì có khả năng dễ bị đào thải khỏi ngành CNTT đang phát triển với tốc độ chóng mặt như hiện nay

Hướng đi số 1 (Fulltime Dev): Đây là hướng đi của ~70% dân coder thông thường

  • Ưu điểm: ổn định, tăng được cả kiến thức lẫn tiền
  • Nhược điểm: mỗi tội chậm, muốn tăng nhanh phải chủ động tích lũy kiến thức nhanh + NÊN nhảy việc nếu có thể, trải nghiệm nhiều môi trường để có khả năng thích ứng và phát triển nhanh hơn.

Trên đây chỉ là những chia sẻ cá nhân rút ra từ chính bản thân mình. Hy vọng sẽ được lắng nghe thêm nhiều ý kiến khác từ mọi người! :)

Hướng số 1 mình rõ nhất nên sẽ nói về nó trước

Full time developer

Lợi thế:

  • an toàn, ổn định, cứ mỗi tháng đều đều lĩnh lương mà sống, nếu có gia đình thì không gây ra xáo trộn cuộc sống
  • làm lâu có thêm kiến thức, kinh nghiệm, kỹ năng, giá trị bản thân tăng lên, lương tăng lên
  • dễ kiếm việc, vì các công ty đang thiếu nhân lực, miễn là bạn đủ trình độ đáp ứng
  • cũng vì thiếu nhân lực, lương dev có thể được trả cao để thu hút nhân sự
  • xác định được rõ thời gian rỗi là cuối tuần, bận là trong tuần
  • có team làm việc chung, nên nếu nghỉ ốm, du lịch có người đỡ hộ việc, gặp khó khăn có người để hỏi

Khó khăn:

  • nhàm chán vì cứ phải theo yêu cầu công ty, phải học công nghệ theo định hướng công ty, khách hàng và giải quyết vấn đề cho người khác
  • đôi khi phải làm thêm giờ, mất cuối tuần, hay ở lại muộn trong tuần
  • nếu quản lý làm kém hay ép dev để làm hài lòng khách hàng thì dev rất vất vả với deadline gấp, việc nhiều
  • sản phẩm mình làm ra nhưng không có quyền sở hữu hay làm gì với nó
  • làm việc với team nếu không ăn ý, xích mích thì không thoải mái không hiệu quả
  • thường phải có mặt ở văn phòng, dùng hết thời gian và sức lực, khó làm được thêm tay trái

Hướng số 2 mình chỉ nói theo suy nghĩ cá nhân, còn hướng số 3 thì chưa từng thử nên sẽ không góp ý

Freelance developer

Lợi thế:

  • Chủ động thời gian làm việc, địa điểm, deadline, làm nhiều kiếm nhiều, làm ít kiếm ít
  • Có thể chọn khách hàng mình muốn đáp ứng
  • Lương tính theo giờ, có cơ hội kiếm $/giờ cao hơn làm full time
  • Ngoài dev có thể làm gì khác tay trái nếu muốn
  • Cảm giác tự do không bó buộc
  • Không có team, tự mình phân tích yêu cầu, thiết kế, triển khai theo ý mình, không có mâu thuẫn với ai

Khó khăn:

  • Lúc bắt đầu cần tạo dựng uy tín cá nhân, vì chả ai biết bạn là ai, chất lượng sản phẩm ra sao => không đặt hàng
  • Cạnh tranh giá/chất lượng với các freelancer khác để giành khách hàng
  • Cần chủ động tìm khách, quản lý thời gian cho tốt, tự giác làm việc
  • Không kiếm được khách, ít khách => thu nhập không ổn định
  • Làm một mình cũng hơi buồn, tự giải quyết vấn đề lấy, ốm hay đi chơi không làm được gì hết