Học ngôn ngữ lập trình nào bây giờ (Phần cuối)

Tóm tắt nội dung bài viết

  1. Trước khi hỏi câu này, hãy tự hỏi : Mình muốn học lập trình để làm gì?
  2. Lựa chọn thật ra không quan trọng. Học một ngôn ngữ mới là chuyện đơn giản.
  3. Lời khuyên của bản thân Hoàng

Phần cuối – Lời khuyên của bản thân Hoàng

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.

integrate-analytics-with-cm

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.

6a0115711bf0ae970b0120a7e39b84970b

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
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
Độ 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 vào thứ 3 và thứ 5 mỗi tuần, các bạn nhớ theo dõi đón xem nhé.

Advertisements

11 thoughts on “Học ngôn ngữ lập trình nào bây giờ (Phần cuối)”

  1. bài này bạn phân tích đúng lắm đó Hoàng… mình vẫn còn nằm trong sớ trường hợp ở trên. mong bân tiếp tục chia sẽ những kinh nghiệp bá đạo này nhé ^^

    Like

  2. Anh ơi, anh viết các bài về design pattern đi anh. Cứ nghe anh giới thiệu về design pattern nhưng chưa có bài viết vụ thể. Hóng quá :v

    Like

  3. Anh ơi, do em tự học hoàn toàn vào lập trình. Vậy cho em hỏi trước khi học 1 ngôn ngữ (C++) em cần học những cái gì.

    Like

  4. Em chào anh ạ!
    Em xin cảm ơn những bài viết rất bổ ích của anh,anh có thể nói rõ hơn về Kiến thức cơ bản ở đây là gì không ạ,nó gồm những môn nào ạ.
    Em cảm ơn anh.

    Like

  5. Cái gì cũng muốn học, lúc đầu học thì thấy hay nên khoái lắm, nhưng được 1 thứ vài bữa khi biết cơ bản rồi thì chán không muốn học nữa

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s