" Bài toán khó mà không khó,dễ mà không dễ nhỉ?Tự học và thi lấy chứng chỉ hay bằng cấp là 1 chuyện,còn học và đi làm thế nào thì là chuyện khác.Câu hỏi này nếu có lời giải đáp thì VN đã không có vài trăm nghìn người thất nghiệp,không làm đúng việc "
Đây chính là vấn đề cần được quan tâm nhất. Dạy học ở VN là một bài toán chưa có lời giải. Học xong, tốt nghiệp nhiều nhưng mà thất nghiệp và làm trái ngành cũng nhiều.Mình muốn góp phần giải bài toán này để mọi người có thể làm đúng sở thích của mình.
Đầu tiên, mình xin nói lên ý kiến của mình về vấn đề này, tại sao người học lập trình lại chẳng thể xin việc, hay nói cách khác là chẳng thể lập trình đúng nghĩa. Theo Đạt đó là do cách dạy học ở mình còn quá coi trọng vấn đề thành tích và tập trung vào cách làm sao có điểm tốt là được.
Trường phổ thông thì mình không nói làm gi, mọi người đâm đầu vào học và giải bài để đi thi ĐH. nhưng lên ĐH rồi, mình còn thấy nhiều bạn đi học kèm thì mình cảm thấy quá thất vọng. Mình từng viết một bài có hơi động chạm, (cách học lập trình để ...thất bại). Mọi người vẫn có tư tưởng ở trường phổ thông là giải thật nhiều bài tập, xin đừng hiểu sai ý của mình. Mình không phê bình việc giải nhiều bài tập, nhưng cái mình muốn nói đến là giải bài tập vừa đủ để hiểu bản chất. Đừng giải rất nhiều bài tập để thành thợ giải toán, thợ giải bài tập mà không đi sâu được. Mọi người cứ nghĩ lên ĐH rồi vẫn cần phải đi học kèm, phải giải thật nhiều dạng đề. Cái gì, giải nhiều dạng đề để làm gì? công ty họ đâu có tuyển lập trình viên vào giải đề? Trừ phi bạn giải đề để đi thi competitive programming.
Đâm đầu vào thi cử lấy thành tích.
Như hôm nay Mình có trả lời một câu hỏi của một bạn, bạn ấy hỏi thợ code là gì? Theo mình, thợ code là người code nhanh, code nhiều, code không cần nghĩ. Ở đâu thì có thợ code, ở các nước đang phát triển như VN thì thợ code rất nhiều.
Dưới đây là một số sản phẩm do các coder bên mình phát triển.
- Magento2 Multi Vendor Marketplace
Các bạn học lập trình, không học cơ bản, thích học công nghệ. Ra trường vào một công ty outsource, không phải mọi outsource đều xấu, mình chỉ đang ví dụ một số công ty outsource cơ bắp. Khách hàng từ các nước phát triển không muốn phí tiền làm công việc cơ bắp, họ gửi đơn hàng về VN. Khi này, các thợ code có cơ hội ra tay, code mỗi ngày rất nhiều, mỗi tháng có thể làm được vài KLOC (K line of code) nhưng cứ code đi code lại một vài tính năng quản lý thành quen. Sau cùng, từ một người đam mê công nghệ, bạn mình, có người muốn bỏ nghề làm cái khác. Nhưng cuối cùng cũng vì cơm áo gạo tiền mà lại tiếp tục nai lưng ra làm thợ code.
Khi đi học trên trường, có giai đoạn mình rất thích học. Đó là khi được học cơ bản, biết về biến, con trỏ, hàm, class. Đó là khi được học giải thuật, học cách bảng băm hoạt động, cách mã hóa dữ liệu, cách nén và giải nén, cách xử lý ảnh, học về trí tuệ nhân tạo, .... Đó mới chính là những cái mình thích học, tuy nhiên mình muốn nhấn mạnh đây là sở thích cá nhân, cũng không cho rằng mọi người nên hoặc phải có cùng sở thích với mình.
Nhưng cái mình muốn dạy cũng gần như những cái ở trên, đó là dạy cách suy nghĩ của một kỹ sư phần mềm chứ không phải dạy để ra làm thợ code. Dạy những cái thật sự cơ bản, nguyên lý của mọi thứ. Có thể mình không làm được trong một sớm một chiều, vì khả năng của mình cũng có giới hạn, nhưng nhất định mình sẽ không bỏ. Nếu không đủ kiển thức, mình sẽ học thêm để có thể truyền đạt lại cho mọi người.
Cái mình nhìn thấy sau mấy năm đi làm là một người học CNTT ra, nhưng không có tư duy lập trình không có giải thuật, không có tìm hiểu, chỉ code như cái máy code thì không thể nào so sánh được với một người không cần từ ngành CNTT ra, nhưng họ có đam mê, họ muốn tìm hiểu, họ học hỏi từ người khác. Họ nghĩ trước khi code, họ nghĩ trước khi làm.
Những người này, mình không có khả năng dạy, bởi vì hầu hết họ giỏi hơn mình.
Tóm lại, mình nghĩ học CNTT ta cần phải có đam mê, nắm cơ bản ngôn ngữ lập trình, cấu trúc dữ liệu & giải thuật, sau đó tự tìm hiểu cái mình cần. mình sẽ cố gắng đem những điều đó vào trong khóa học C++. Tên nó là khóa học C++ nhưng bản chất là học cách lập trình thông qua ngôn ngữ C++.
Một điều mình rất may mắn học được ở ĐH KHTN là những kiến thức cơ bản. mình và những bạn học cùng lớp từng có nhiều lần nói chuyện với nhau sau khi ra trường rằng thực ra chỉ cần học 2 năm là đi làm được. Bỏ đi 1 năm đại cương, bỏ đi năm 4 học "phân tích phát triển phần mềm", chỉ cần 2 năm là đủ đi làm.