Monday, November 21, 2016

Nhân lực Việt Nam về CNTT cần gì?

Chỉ tiêu 1 triệu nhân lực CNTT cộng với mất cân bằng về cấu trúc dịch vụ CNTT đang tạo ra rác thải về nhân lực. Lỗi này bao gồm cả ở khâu đào tạo tại các cơ sở đào tạo và cũng tại các đơn vị sản xuất. Tôi đã nói điều này không chỉ một lần. Chúng ta sẽ thấy được điều này trong vòng 10 năm. 
Rác thải nhân lực, không những là một gánh nặng cho xã hội khi một số dịch vụ, sản phẩm không còn là yêu cầu của xã hội (giống như lắp ráp điện tử bằng tay sau khi công nghệ SMT ra đời). CNTT đặc biệt là công nghệ phần mềm, rất giống công nghiệp thủ công. Rất nhiều code được viết đi viết lại nhiều lần, sớm muộn cũng sẽ phải chuẩn hóa, để sản xuất hàng loạt, theo tiêu chuẩn như phần cứng.
Công nghiệp thép, đường, đường sắt ngày xưa hùng mạnh như thế tưởng nhu cầu không giới hạn, không có ngày tàn lụi, rồi cũng đã đi vào quá khứ. CNTT, chắc chắn sẽ ngày càng chuyên môn hóa và nhập vào các ngành ứng dụng cụ thể. Không ai code giỏi về các ứng dụng y tế hơn các bác sĩ, không ai làm phần mềm kế toán giỏi hơn các kế toán. Khi lập trình còn là thủ công và đang xây dựng các module nghiệp vụ tiêu chuẩn, người ta còn cần tới các lập trình viên biết ít hoặc không biết về nghiệp vụ. Mọi ngành công nghiệp sớm muộn đều trải qua quá trình gọi là deengineering, để đóng góp cho xã hội hiệu quả nhất, nhưng cách làm truyền thống sẽ suy thoái. Cái gọi là platform, CNTT thuần túy, hạ tầng,... sẽ đến lúc trở về vị trí của nó. Sẽ có đào thải đối với những nhân lực chỉ biết cắm đầu làm như máy, chỉ biết một công đoạn chuyển tải flow thành mã.
Các kỹ sư có tối thiểu 3 năng lực sau đây sẽ có khả năng chuyển đổi và nếu liên tục trau dồi sẽ trở thành tài sản quý và bền vững: Thứ nhất là năng lực về khoa học máy tính, chủ yếu là kiến trúc máy tính, giải thuật và cấu trúc dữ liệu. Thứ hai là kiến thức rộng về công nghệ (technologies), các công nghệ khác nhau. Thứ ba là thiết kế (engineering). 
Hiện nay về computer science, ở VN đào tạo khá nhất. Đáng điểm 4/10, điểm yếu nhất là không tạo được một skill set hoàn chỉnh, không thấy tính hệ thống và kết nối tổng thể. Do đó, kỹ sư không biết tự trau dồi thường xuyên, gặp bài toán thực tế thì không biết huy động các kiến thức đã học. Có lần tôi phỏng vấn các sinh viên hệ tài năng về tìm kiếm nhị phân đều chịu và đều mang máng là đã học. Điểm yếu đặc biệt chết người nữa là hiểu biết kiến trúc máy tính quá sơ sài, kiến thức nhồi sọ và chết. Các thầy cũng cho phần cứng, phần mềm, mạng, hệ thống là những kiến thức biệt lập. Do đó không có các kỹ sư hiểu cách quản lý tài nguyên, phân biệt stack với heap, ý nghĩa của địa chỉ, không gian tên biến, lý do để có các loại biến như private, protected, friend. Như vậy thì không thể có các phần mềm được tune để tối ưu, không xộc xệch (robust).
Về technologies, do kiến thức chung về CNTT kém, nên đào tạo về technologies sai hướng, biến thành học về một vài sản phẩm cụ thể. Điều đó biến kỹ sư thành người không cởi mở về công nghệ, làm theo lối mòn. Đánh giá đào tạo này ở Việt Nam đáng 3/10. Đặc biệt phải gấp rút đào tạo lại các thầy. Thầy am hiểu công nghệ sẽ làm môn học sống động, truyền cho sinh viên lòng ham mê tự tìm hiểu. Đào tạo về công nghệ không khó. Khó là đánh đổ 2 quan niệm của các thầy: 1. Công nghệ là thứ yếu, là việc của doanh nghiệp (các thầy đang nhầm công nghệ với sản phẩm cụ thể) 2. Công nghệ là biệt lập (không có sản phẩm nào lại có thể xây dựng, thiết kế, phát triển nhờ một công nghệ duy nhất).
Mặt thứ 3, khá mâu thuẫn, có vẻ như các em đều có thể thiết kế được tý ty, cho những bài tập đơn giản ở các đợt phỏng vấn. Tuy nhiên có mấy nhược điểm sau. 1. Rất ít kỹ sư có năng lực phân tích nghiệp vụ để đưa ra các thiết kế đẹp, hợp lý trước khi code. Dường như kỹ năng thiết kế (giá trị hàng đầu và duy nhất của kỹ sư) không thể tăng lên được, do mất cơ bản hoặc đào tạo không có phương pháp luận. 2. Thiết kế không sử dụng được trong khi code, do quá sơ sài và máy móc. 3. Các thầy chưa đến trình độ thấy được thiết kế là một nghệ thuật quan trọng, kết nối giải thuật, dữ liệu, phần mềm, phần cứng với các công nghệ. Đào tạo hiện nay về thiết kế đáng 1.5/10.

Nguyễn Ái Việt (Debrecen,VIDI72)

20 comments:

  1. Thành Đạt Phạm: Thày nói từ rác thải hay quá

    ReplyDelete
  2. Ca Vu Thanh: Cho điểm của anh rất chuẩn

    ReplyDelete
  3. Nguyen Kieu Minh: Cứ nghĩ 1 triệu lao động 35-40 trong đầu chỉ biết code 1 cách thụ động và kỹ năng duy nhất: tìm code tương tự có sẵn và modify tí tí. Đội này tính lao động giản đơn, thủ công nhưng khác với công nhân điẹn tử hay may mặc, chế xuất thủy hải sản. Họ cho rằng họ là "kỹ sư", "ưu tú" đấy là chưa kể 1 số do lv với máy tính nên nghiện thêm game và sống ảo nữa.
    Đội này mà thất nghiệp thì có khi cũng lo như đội học viên trốn trại ấy.
    Vì vậy theo tôi học viên CNTH nhất thiết phải học thêm môn chế tạo nữa. Phải hiểu mọi sản phẩm máy móc công nghệ nếu có yếu tố sử dụng CNTT thì cơ bản giống nhau và phần code chỉ là 1 phần quan trọng trong cả hệ thống gồm cả phần cứng (cơ cấu chấp hành), công nghệ, đo lường và đk, output, HMI,... do đó yêu cầu phải có hiểu biết công nghệ tổng hợp mới đóng góp và làm chủ cuộc sống dc. Và sẽ ko bị phụ thuộc vào 1 cái máy hay 1 số máy cụ thể nào đó mà rất có thể 5 năm sau XH vứt đi rồi.
    Bài của GS nên dc thảo luận ở QH chứ mấy ảnh "ný nuận" ở bộ học và bộ LĐ chả hiểu hết đâu ạ.

    ReplyDelete
    Replies
    1. Nguyen Ai Viet: Đúng, lao động giản đơn hết chu kỳ công nghiệp dễ điều chuyển. Lao động gọi là phức tạp, lại còn mắc thói khệnh khạng, rất khó bắt chuyển nghề. Cách dạy của mình hiện theo xu hướng mì ăn liên, lại càng khó.

      Delete
    2. Tung Nguyen: Khó phết. Mấy chú học CNTT chỉ biết code chứ có khi chả biết phần cứng là gì. Uh thì chỉ biết code nhưng lại cũng không biết thiết kế, hay sáng tạo ra phần mềm chỉ biết làm như 1 bác đánh máy văn phòng. Nói chung không có nền tảng tư duy và sáng tạo. Các công ty công nghệ kiếm thằng biết về CNTT có trình độ như sao buổi sớm, thế nhưng trong báo cáo năm nào cũng tự hào cho ra đời bao nhiêu nghìn kỹ sư CNTT. BBC từng có 1 bài nói về việc chuyển nghề trong cuộc đời 1 con người.

      Delete
  4. Nguyen Binhduong: Bạn viết rất đúng. Ng VN mình giỏi tự khen và huyễn hoặc về mình nên ít chịu học hỏi. Đã học CNTT là phải học cẩn thận ko chỉ chuyên một mảng. Hồi xưa mình học môn máy tính ở Bul mà ngoài học phần chuyên môn là học về lịch sử môn, cấu trúc máy, kiến thức về cơ sở dữ liệu, về công nghệ... dù lúc đó máy tính chưa như bg và còn ở hạng ruồi, hơn nữa bọn mình học kinh tế nên học máy tính để áp dụng cho kinh tế.

    ReplyDelete
    Replies
    1. Nguyen Ai Viet: Nhà kinh tế biết thế là quá siêu. Về cơ bản khéo hơn nhiều người làm CNTT Khi nào làm ứng dụng về kinh tế sẽ cắp sách tới học Dương.

      Delete
  5. Nguyễn Thành Nam: Anh ơi chủ nhật 4/12, bên FU có làm cái Educamp. Anh có dự được không ạ, làm một bài kiểu: Trò Ngu tại Thầy, vậy Thầy Ngu tại Ai:-)

    ReplyDelete
    Replies
    1. Dân gian có câu: "Không thầy đố mày làm nên". Đằng này thầy chẳng ra thầy thì trò nào có học được cái gì cho nó ra hồn. Cứ thế mà chém!

      Delete
    2. Nguyễn Thành Nam: Dân gian nói "thầy" không có nghĩa chỉ là thầy ở trên trường học, em nghĩ thế ạ

      Delete
    3. Nếu là "thầy" (theo khái niệm trường lớp) thì (từ lâu) do sai phạm từ cái nơi đào tạo (từ cái "lò" sư phạm) mà ra... lần tiếp/ngược lên là rõ hết cả.

      Delete
    4. Nguyen Ai Viet: Dự thì anh được lợi gì? Mấy lần góp ý kiến có nghe quái đâu Mà chỉ thấy nó "sẽ xem xét" như thể mình xin gì ấy

      Delete
    5. Nguyễn Thành Nam: Tranh luận anh ạ, nếu anh có hứng thú. Ko "tư vấn" được, em công nhận :(

      Delete
    6. Nguyen Ai Viet: Nếu có nhu cầu thực sự phải tam cố thảo lư mới đúng. Với FU thế là đã tình nghĩa lắm rồi

      Delete
  6. Quynh Neo: bên Mỹ có nhiều người lập trình viên giỏi mà không có bằng đại học, có lẽ do tự học và được học sớm từ cấp thấp hơn

    ReplyDelete
    Replies
    1. Dương van Minh: người giỏi thực sự họ tự làm thầy chính mình

      Delete
    2. Nguyen Ai Viet: Giỏi nên không cần bằng đại học chứ không phải không có bằng đại học nên giỏi

      Delete
  7. Bxchung Vuong: Làm sao bỏ được tư duy trọng cung (Suply) chắc CNTT VN sẽ hội nhập và tham gia vào chuỗi phân công lao động CNTT toàn cầu.

    ReplyDelete
  8. Hải Phạm: cái em thấy thiếu căn bản nhất là "động lực quốc gia" về CNTT >> cái này nó không phải là các chương trình mà là cái khát của người học/làm CNTT như một chọn lựa hàng đầu. Tại sao Ấn Độ tạo ra một lực lượng phát triển phần mềm hùng hậu, chất lượng? Tại vì đó là cách để người ta thoát nghèo!

    người làm CNTT Việt Nam, làm vì điều gì? Ngày xưa em chọn CNTT vì thích lập trình, cùng lúc là định hướng quốc gia về CNTT cũng hi vọng lắm >> còn bây giờ động lực, giá trị thực sự khi học CNTT cho cuộc đời người học là gì??? CNTT Việt Nam không trả lời được!

    ReplyDelete
    Replies
    1. Nguyen Ai Viet: Đào tạo lập trình viên của Ấn Độ mình chưa theo kịp được. Và chẳng ai thèm học hỏi. Chỉ nhìn vào ngọn thôi.

      Delete