Dạo gần đây, mình hay nhận được nhiều câu hỏi dạng như:
- Anh ơi học cái A,B,C này ra có kiếm được việc làm không
- Em thích học Big Data, Machine Learning này nọ có hot không
- Trường em dạy cái A,B,C đi làm người ta xài nhiều không
Do vậy, mình viết bài này để chia sẻ về những ngôn ngữ/công nghệ lập trình mà các bạn nên học để dễ tìm việc làm nha.
Note: Bài viết này được viết vài năm 2019, sau 5/10 năm nữa có thể công nghệ sẽ khác thì lúc đó mình viết bài khác sau nhe!
Học thứ trong trường dạy có đi làm được không?
Đương nhiên là … không!
Nói đùa vậy thôi. Thật ra, trường Đại Học chỉ dạy bạn những kiến thức rất nền tàng (thuật toán, nhập môn lập trình) để bạn có thể tự tìm hiểu, tự học thêm. Những kiến thức đó là rất cần thiết, nhưng … chưa đủ để đi làm.
Đơn giản là vì công nghệ liên tục được thay đổi và cải tiến, nên trường học khó có thể thay đổi giáo trình để theo kịp! Do vậy, đừng mơ mộng rằng, học những này trong trường có thể áp dụng khi đi làm, vì những thứ trong trường dạy đã khá … cũ, ít ai dùng tới nữa.
REPORT THIS AD
Thời xưa, trường mình dạy C# có dạy WinForm, WebForm, Java thì có J2EE bản cũ rích luôn. Tuy đi làm không dùng, nhưng những kiến thức về Event, Layout, Request/Response vẫn rất hữu dụng khi mình học framework khác.
Do vậy, đừng học theo trường dạy, mà hãy xem thị trường cần cái gì! Đừng thấy trường dạy C++, Java, học xong ra cắm đầu tìm việc C++, Java nhé.
Thay vào đó, bạn hãy tự xem các mẩu tin tuyển dụng, xem họ dùng công nghệ gì, tuyển yêu cầu ra sao. Sau đó tự học dựa vào những yêu cầu đó, khả năng có việc sẽ cao hơn nhé.
Thực trạng về mấy thức “cao siêu” như Machine Learning – AI – Blockchain
Gần đây, báo đài hay đưa tin về thời đại Cá Mè 4.0 ở Vịt Nôm, các công nghệ tương lai như AI, Blockchain, Machine Learning này nọ sẽ ngày càng hot.
Để mình dội cho bạn 1 gáo nước lạnh cho các bạn tỉnh mộng ra. Đây là số lượng những công việc về Machine Learning/AI/Blockchain trên ITviec.
REPORT THIS AD
Con số này thật ra không phải ít, nhưng hãy thử so sánh với những thứ … tầm thường, nghe không hot như Java, PHP, Mobile v…v
Đấy, học cái gì dễ tìm việc hơn thì … các bạn xem là biết rồi nhỉ!
REPORT THIS AD
Ủa, tại sao mấy cái to tát hot hot như AI v…v mà nhu cầu tuyển ít quá vậy? Thật sự thì, ở Việt Nam, số lượng công ty outsource vẫn còn nhiều, và các công ty product cũng … không quá cần AI-ML trừ khi sản phẩm của họ chuyên về AI/ML.
Do vậy, hầu như chỉ các viện nghiên cứu, các công ty lớn có nhiều data, có vốn thì mới có tiền thuê team Research để nghiên cứu về AI, Data.
Ở Singapore bên mình cũng vậy, job tuyển software engineer thì tràn lan, nhưng tuyển data scientist/data engineer/AI thì khá ít. Hầu như họ ưu tiên những ứng viên có bằng Thạc Sĩ, có kinh nghiệm nghiên cứu, vì mảng này cần nghiên cứu nhiều.
Đấy, túm cái quần lại là nếu bạn muốn việc nhiều, dễ kiếm thì nên né mấy cái như AI/ML ra. Còn nếu thật sự đam mê, bạn có thể học lên cao, tham gia Kaggle, học kĩ Toán …
Mảng này tuyển ít nhưng tuyển người giỏi, lương chắc chắc cao hơn mặt bằng chung của software engineer luôn.
Những thứ ăn chắc mặc bền trong tầm 5 năm nữa
Đấy, ở đoạn trên thì bạn cũng thấy rồi. Muốn ăn chắc mặc bền thì có thể học Web/Mobile hoặc lập trình nhúng!
REPORT THIS AD
Web và Mobile đã hot 5-10 năm nay, đến nay nó vẫn sống nhăn. Trong 5-10 năm nữa, khả năng Web và mobile hết thời cũng … khá là thấp.
Các bạn có thể Google những ngôn ngữ/công nghệ mà mình nhắc đến phía dưới nha.
1. Mảng Mobile thì ở Việt Nam hiện nay tuyển cả iOS, Androidlẫn Hybrid:
- iOS thì lương nhỉnh hơn 1 tí, nhưng không chênh lệch nhiều. Đa phần các dự án dùng Objective C (công nghệ cũ) hoặc Swift (công nghệ mới hơn)
- Android thì ngày xưa người ta dùng Java, gần đây một số dự án mới dùng Kotlin vì nó … ngắn gọn hơn. Tuy nhiên job Javavẫn chiếm đa số, số lượng Kotlin khá ít
- Hybrid: Viết ứng dụng bằng ngôn ngữ khác, sau đó build ra ứng dụng chạy trên cả 2 nền tảng. Gần đây thì React Nativeđang khá hot (do web devleoper cũng có thể code được). Ngoài ra còn có Xamarin, Ionic nhưng không quá phổ biến
2. Mảng web ở Việt Nam khá đủ thể loại. Hiện tại thì cả back-end lẫn front-end đều đang tuyển. Bạn nào chưa rõ có thể xem lại bài: Cơ bản lập trình web , front-end và back-end
2.1 Back-end: Phổ biến nhất vẫn là bộ 3 PHP, C#, Java. Mỗi ngôn ngữ sẽ có khoảng 1, 2 framework phổ biến đi kèm.
- PHP thì có Laravel, Symfony hoặc CodeIgniter. Ngoài ra có thể họ không dùng framework mà dùng platform như WordPress, Magneto
- C# thì phổ biến nhất vẫn là ASP .NET MVC hoặc ASP .NET Core, ít nơi vẫn còn dùng WebForm
- Java thì ở VN phổ biến vẫn là Spring và J2EE
- Ngoài ra, còn có 1 số ngôn ngữ back-end ít phổ biến hơn như Python, Ruby, NodeJS. Cũng có vài công ty tuyển nhưng không nhiều!
- Học ngôn ngữ/framework nào thì các bạn nên học luôn ORM đi kèm với nó. VD bên C# thì có Entity Framework, Java có Hibernate…
REPORT THIS AD
2. 2 Front-end: Để làm tốt front-end, bạn cần học thật vững JavaScript trước khi nhắm đến các framework. Phổ biến nhất thì vẫn là ReactJS và Angular (bản 2 trở lên).
- Số lượng job React nhiều vl, đâu đâu cũng tuyển.
- Đâu đó có 1 số công ty tuyển AngularJS (Angular 1) để bảo trì, hoặc có 1 số nơi cũng tuyển VueJS
- Cá nhân mình thấy mấy cái framework này cũng na ná nhau, vì đều là JS cả. Bản thân mình biết AngularJS, VueJS, ReactJS. Anh em có thể học nhiều framework, chuyển qua chuyển lại cũng không khó!
3. Mảng lập trình nhúng: Vi mạch, thiết bị điện tử v…v thì mình không làm, cũng không quen mấy ông bên đấy nên ko nói tới.
Tạm kết
Trong bài viết này, mình đã chia sẻ về các công nghệ đang được sử dụng, cũng như những công nghệ các bạn nên học nếu muốn dễ tìm việc, lương ổn. (Đồng thời cũng tạt 1 gáo nước lạnh cho những bạn thích làm về AI, Machine Learning luôn.)
Đấy, túm cái váy lại là: Muốn biết nên học cái gì thì cứ xem thị trường cần gì, tuyển gì, sau đó cắm đầu vào học là được nhé. Chúc các bạn may mắn!
No comments:
Post a Comment