Rất nhiều người học lập trình nhưng tại sao nhân sự làm lập trình, phần mềm vẫn luôn thiếu hụt?

  1. Lập trình

  2. Hướng nghiệp

Mình đang thực tập tại một công ty công nghệ và nhận thấy thực trạng phòng nhân sự tuyển dụng nhân viên lập trình khá vất vả vì số lượng ứng viên khá thấp. Dù với mức lương và đãi ngộ hấp dẫn nhưng cũng không dễ dàng.

Từ khóa: 

lập trình viên

,

lập trình

,

hướng nghiệp

Mình có vài ý kiến như sau:
  1. Nhờ báo chí tâng bốc lên (lương vài k$, thực ra thì k phải vị trí nào cũng thế. Những ai tự thân kiếm đc tới vài k$/tháng thậm chí tuần thì đa phần là hướng freelancer, người ta sẽ nhận theo dự án, phần còn lại sẽ là các senior, riêng junior vs fresher nếu khởi đầu ở các cty lớn thì mức lương cũng rất triển vọng) mà người người nhà nhà học lập trình, các trung tâm cứ phải gọi là như nấm 😀. Một số bạn rất giỏi thì học gì cũng đc, còn phần khác k hợp với nghề nên k đủ tiêu chuẩn đi làm, bỏ cuộc cũng nhiều.
  2. Lập trình cũng có this có that, mình vd như web có frontend (sơ sơ là cái giao diện) vs backend (nền tảng thực sự để web hoạt động). Frontend số lượng người học rất nhiều, việc làm tương đối rộng mà k quá phụ thuộc phải đi làm cty hay không, điều thực sự cần ở đây là có tư duy một chút + có khả năng design vs thẩm mĩ. Trái ngược, backend rất khó, khó học và cũng rất ít cty chấp nhận train vì mất thời gian, người ta sẽ tuyển người có kn nhiều hơn, mình so sánh về tư duy khi lập trình thì backend vs frontend nó như toán cấp 3 so với cấp 1 vậy. Túm lại thì học lập trình nhiều nhưng phân bổ rất lệch, phần thì thừa mứa, phần thì thiếu hụt.
  3. Một số ngành mới phát triển gần đây như AI, IOT, ngành này yêu cầu nhiều skill hơn có thể là thiết kế mạch, tư duy hệ thống,... chứ không phải mỗi lập trình, yêu cầu cao nên rất kén người làm. Đãi ngộ đi kèm với khả năng, nên là mình thấy đãi ngộ này là để lôi kéo nhân tài giữa các cty chứ k phải để tuyển dụng ai đó mới học xong vào (trừ khi giỏi, rất giỏi)
Trả lời
Mình có vài ý kiến như sau:
  1. Nhờ báo chí tâng bốc lên (lương vài k$, thực ra thì k phải vị trí nào cũng thế. Những ai tự thân kiếm đc tới vài k$/tháng thậm chí tuần thì đa phần là hướng freelancer, người ta sẽ nhận theo dự án, phần còn lại sẽ là các senior, riêng junior vs fresher nếu khởi đầu ở các cty lớn thì mức lương cũng rất triển vọng) mà người người nhà nhà học lập trình, các trung tâm cứ phải gọi là như nấm 😀. Một số bạn rất giỏi thì học gì cũng đc, còn phần khác k hợp với nghề nên k đủ tiêu chuẩn đi làm, bỏ cuộc cũng nhiều.
  2. Lập trình cũng có this có that, mình vd như web có frontend (sơ sơ là cái giao diện) vs backend (nền tảng thực sự để web hoạt động). Frontend số lượng người học rất nhiều, việc làm tương đối rộng mà k quá phụ thuộc phải đi làm cty hay không, điều thực sự cần ở đây là có tư duy một chút + có khả năng design vs thẩm mĩ. Trái ngược, backend rất khó, khó học và cũng rất ít cty chấp nhận train vì mất thời gian, người ta sẽ tuyển người có kn nhiều hơn, mình so sánh về tư duy khi lập trình thì backend vs frontend nó như toán cấp 3 so với cấp 1 vậy. Túm lại thì học lập trình nhiều nhưng phân bổ rất lệch, phần thì thừa mứa, phần thì thiếu hụt.
  3. Một số ngành mới phát triển gần đây như AI, IOT, ngành này yêu cầu nhiều skill hơn có thể là thiết kế mạch, tư duy hệ thống,... chứ không phải mỗi lập trình, yêu cầu cao nên rất kén người làm. Đãi ngộ đi kèm với khả năng, nên là mình thấy đãi ngộ này là để lôi kéo nhân tài giữa các cty chứ k phải để tuyển dụng ai đó mới học xong vào (trừ khi giỏi, rất giỏi)
Đại học CNTT ra trường đầy ông chỉ biết code mỗi html vs css chứ database khéo còn chưa đụng vào bao h, những bạn học đh ngành này sẽ chia thành 2 kiểu:
1. Quái vật (năm 2-3 đã đi làm, học nhanh, rộng, sâu, thái độ tốt) kiểu này chỉ chiếm 10-20% sinh viên hiện nay.
2. Làng nhàng (hơi ảo tưởng sức mạnh khi deal lương, chưa có dự án riêng lẫn chưa thực hành nhiều, thái độ trung bình) kiểu này chiếm 80%.

Nhân sự chất lượng cao làm gì có nhiều để mà tuyển, toàn mấy đứa học theo trend theo tiếng gọi của tiền bạc, mà tụi nó không hề để ý rằng bản thân có thật sự phù hợp với ngành đó hay không. Mình hiện tại cũng đang giảng dạy lập trình cơ bản đây, hỏi nhiều người lý do vì sao theo ngành này thì nhận được 2 câu trả lời rất đại trà, vì nhiều tiền và vì nó là trend của thời đại mới. Xong đến lúc cho bài tập cơ bản làm hỏi hiểu gì không thì câu trả lời lại là không :)) Để làm được IT không phải chỉ có học là xong, mà còn phải có tư duy nữa, 1 số đứa nghĩ học Python dễ nên học cho cố vô xong đến lúc cho đề tài làm khoá luận về Data, về AI, Machine learning,... thì lại bắt đầu ngồi khóc rồi đâm ra chán nản, muốn bỏ, vậy rồi đam mê lúc đầu bay đi đâu rồi, thậm chí có 1 số đứa còn chơi cái trò qua mặt hội đồng bằng cách dùng các số liệu trong những bài công bố quốc tế rồi sủa lại theo ý của bản thân, thậm chí cái code cũng chỉ sửa lại cho có rồi thôi, code còn tệ hơn code trong bài báo của người ta :)) Trong khi đó nhiều đứa vì thích game nên mới học lập trình đấy, cuối cùng là gì chán nản muốn bỏ ngang đi làm cái khác :)) Tiền nhiều thì nhiều thật đấy nhưng dễ ăn quá, tui bỏ ra 50 triệu để thuê anh làm việc cho tui thì anh phải làm sao cho xứng với cái 50 triệu đó. Tiền nào của đó thôi, lương càng cao thì công việc càng nặng về đầu óc. Mà càng nặng về đầu óc thì bắt đầu đâm ra chán nản :))

Nhiều dev hay bị dính "bẫy an toàn", ở 1 dự án hay công ty business nắm rất rành, performance luôn luôn cao, nhưng lại ít khi mày mò cái mới (thậm chí kiến thưc đã cũ nhưng ở level cao hơn), công nghệ trong 1 dự án thường nó cũng xoay quanh bây nhiêu đó thôi, dẫn tới dần dần thui chột luôn, tới lúc ra bên ngoài mới tá hỏa ra kiến thức mình lủng nhiều quá.
Vì công nghệ & business ko phải lúc nào cũng đi chung với nhau. Việc upgrade lên công nghệ mới lại thường ko mang nhiều lợi ích ngắn hạn, trong khi chí phí lại ngốn ko ít (dài hạn thì kiếm người maintain legacy khó, chi phí cao), nên cũng skip minor update luôn, nh, lâu dài để tới mức phải nhảy vài cấp major update thì coi như là impossible cmnl
Kiểu, await vs chain hell, về phía dev thì ngon thật đó, nhưng phía end user thì dev viết kiểu nào thì trải nghiệm hầu như nó cũng vậy. Hoặc là version cũ chạy hết 5s, upgrade lên version mới tăng đc 10% còn 4.5, mà 0.5s thì quá khó để user để ý, nhưng về lâu dài qua 4 5 lần như vậy thì nó lại là câu chuyện khác.