Huỳnh Phúc Huy
Búa Đá Đôi
Học ngôn ngữ lập trình nào bây giờ? (Phần cuối)
Phần cuối – Lời khuyên của bản thân tác giả
Như tựa đề, dưới đây là một số lời khuyên của mình, dựa theo kinh nghiệm cá nhân (Mình chỉ có kinh nghiệm mảng web và mobile, nên các lời khuyên có thể sẽ không áp dụng được cho mảng embedded system).
1. Đừng quá tập trung vào công nghệ.
Đây là lời khuyên của thầy mình. Một số bạn rất hăm hở tìm hiểu, học những công nghệ mới. Điều này không xấu, nó còn giúp bạn học được nhiều thứ mới, dễ xin việc. Công nghệ là thứ dễ thay đổi, mau hết thời. VD: Sliverlight, công nghệ Web của Microsoft từng làm mưa làm gió, giờ đang ngắc ngoải. WinForm thì đã lỗi thời, … thời gian bạn bỏ vào học các công nghệ này xem như lãng phí. Chưa kể, khi 1 công nghệ được nâng cấp, vd ASP.NET MVC 3 lên MVC 4, ta cần học thêm những điều mới trong bản 4. Việc đầu tư quá nhiều thời gian vào học công nghệ mới sẽ làm bạn dễ đuối, đôi khi là lãng phí thời gian.
2. Hãy đầu tư vào những thứ lâu bền.
Nếu không tập trung vào công nghệ, chúng ta nên học gì? Đó là những thứ ít thay đổi, nhưng lại vô cùng cần thiết với developer:
- Kiến thức cơ bản. Đừng vội cười, mình biết nhiều bạn tuy đã ra trường nhưng vẫn còn lờ mờ về khái niệm pointer, delegate, multi-thread,… Đây là những kiến thức mà ta sẽ sử dụng trong suốt cuộc đời lập trình, và hầu như sẽ chẳng bao giờ thay đổi. Bỏ thời gian ra học kĩ chúng sẽ không hại gì, phải không?
- Cách viết code: Đặt tên biến như thế nào, tách hàm ra sao, comment như thế nào. Có 1 câu nói: LTV dở viết code cho máy hiểu, LTV giỏi viết code cho cả máy và người hiểu. Có nhiều bạn code xong, 6 tháng sau nhìn lại không hiểu mình viết gì. Khi đi làm, có nhiều giai đoạn bạn phải maintainance, đọc những đoạn code do “thánh” viết và chửi thề “Thằng này ngu thế”. Hãy code có lương tâm, nghĩ tới người sau này sẽ đọc, fix bug, sửa code của mình bạn nhé (Biết đâu người đọc lại là mình đấy =)) ).
- Design Pattern. Nắm vững design pattern sẽ giúp bạn ghi điểm khi phỏng vấn. Đùa đấy, nó sẽ giúp bạn giải quyết rất nhiều vấn đề thường gặp trong khi code (Sẽ nói rõ hơn về chuỗi bài design pattern sau này). Ngoài ra, design pattern sẽ giúp bạn học và hiểu 1 framework mới dễ dàng hơn, 1 framework tốt thường áp dụng khá nhiều design pattern.
- Một số mô hình thường dùng: MVC, MVVM, MVP, mô hình Client-Server … Đây là câu hỏi được hỏi trong 90% các cuộc phỏng vấn, cũng là kiến thức cực kì quan trọng. Hiểu và nắm vững các mô hình trên sẽ làm cuộc đời lập trình của bạn thoải mái hơn nhiều.
3. Front end là bắt buộc.
Không cần biết bạn học PHP, Java, C# … bạn vẫn cần học và rành front end. Ở đây là HTML, CSS, JS. Trừ khi bạn làm ứng dụng mobile, embedded system, bạn sẽ phải đối mặt với html, css, js 8 tiếng làm việc mỗi ngày. Có gắng làm quen và làm thân với tụi nó nhé.
4. Lời khuyên cuối cùng:
Nếu bạn quá dư thời gian, muốn thành thạo 1 ngôn ngữ nào đó, mình khuyên bạn nên chọn javascript (mà ko phải là PHP). Vì các lý do sau đây:
So sánh phũ phàng khi “Good parts” của js chỉ là một cuốn sách mỏng dính
- Javascript có ứng dụng rộng khắp, số lượng framework viết cho nó rất nhiều. Bạn có thể tìm hiểu về MEAN stack (MangoDB – Express – AngularJS – NodeJS), xây dựng toàn bộ website từ front-end tới back-end sử dụng thuần javascript.
- Học javascript không cần cài đặt nhiều. Chỉ cần mở notepad, save lại dưới dạng html, mở bằng trình duyệt (hầu như máy tính nào cũng có), bạn đã có thể viết những dòng js đầu tiên. Học C#, Java … sẽ phải cài 1 đống IDE, SDK… rất lâu và mệt mỏi.
- Javascript là một ngôn ngữ hay và đẹp. Ngày xưa mình rất ghét ngôn ngữ này, và cộng đồng cũng có rất nhiều người ghét. Nó từng là cơn ác mộng của các developer. Tuy nhiên, các framework gần đây (Jquery, Angularjs,…) đã làm javascript có giá hơn, đẹp hơn, được nhiều người săn đón. Có thể nói javascript thuần như 1 con nhỏ xấu xí ma chê quỷ hơn, nhưng nhờ công nghệ trang điểm siêu ảo diệu (từ các framework), nên mới trở nên long lanh như thiên nga vậy.
Độ hot của Javascript, bây giờ và trước kia
Tổng kết lại những điều mình đã nói qua 3 bài viết cho bạn nào lười đọc
- Trước khi hỏi “Cần học ngôn ngữ gì”, hãy tự trả lời “Học lập trình để làm gì”.
- Đừng lo chọn sai ngôn ngữ, học một ngôn ngữ mới rất đơn giản.
- Đừng chạy theo công nghệ, hãy tập trung vào những thứ lâu bền
- Nếu quá dư thời gian, hãy tập trung vào học javascript
Mình sẽ cố gắng cập nhật bài viết đều đặn mỗi tuần, các bạn nhớ theo dõi đón xem nhé.
Tham khảo: Phạm Huy Hoàng
Sửa lần cuối: