Mỗi người có một phương pháp học riêng, tuy nhiên để đạt được hiệu quả trong nghề lập trình (LTV), bạn cần có một phương pháp học cụ thể, rõ ràng với một quyết tâm cao. 

Dưới đây là một số kinh nghiệm tích cóp lại được của các lập trình viên kinh nghiệm. Những LTV tương lai cùng tham khảo nhé!


"Đừng đi quá nhanh, hãy nắm bắt nó trước khi đi tiếp (Don’t go too fast, get it right before move on)"


Chúng ta thường thắc mắc tại sao trong lớp học của mình, có một số bạn của chúng ta biết trước về một số ngôn ngữ lập trình. Trong những tuần đầu tiên học thường nắm bắt kiến thức rất nhanh, nhưng càng về sau họ lại bị bỏ ở đằng sau bởi những sinh viên khác. Tại sao họ lại bị bỏ xa trong khi nền tảng của họ tốt hơn?


Đó chính là việc họ đã đi quá nhanh, và lối mòn của họ là tưởng rằng mình biết tất cả nhưng thực sự họ hiếm khi thực hiện công việc lập trình. Có thể họ biết một số cái nâng cao hơn so với những sinh viên khác, nhưng bấy nhiêu đó là không đủ để nắm vững các nguyên tắc cơ bản.

http://tailieuhoctap.vn/images/tin-tuc/banner.png
Do đó, trước tiên chúng ta cần tạo cho mình một nền tảng (Foundation) tốt bằng cách thường xuyên luyện tập thực hành cái bài tập lập trình. Trong quá trình luyện tập như vậy bạn sẽ thấy được những vấn đề cơ bản mà các LTV thường mắc phải. Và tạo cho mình một thoái quen tốt để giải quyết vấn đề.


Đồng thời bạn đừng bao giờ ngừng tiến trình luyện tập của mình, cũng không nên đi quá nhanh hay quá chậm. Đừng tránh một chủ đề nào sau khi bạn đã nắm vững tất cả những gì dẫn đến nó. Bằng cách đối mặc với nhiều ý tưởng và thách thức, bạn sẽ có một chất men giúp bạn nhanh chóng nắm bắt được những vấn đề cơ bản.


Sau đây là các cách định hướng việc học lập trình nhanh hơn.


1. Đừng copy và Paste code 


Đây có lẽ là lời khuyên được nhiều người nói nhất và tôi cũng thấy rất đúng. Ban đầu khi mới làm quen với một ngôn ngữ lập trình, nhìn mớ code như mớ bòng bong chấm phẩy tè le hết. Ngồi gõ lại thì lâu biết bao nhiêu, copy và paste cho nhanh. Nhưng chỉ bằng cách gõ lại bạn mới nhớ code hơn, nếu có gõ sai thì có cơ hội quay lại và chỉnh sửa lỗi của mình. Tuy video nào tôi cũng có source code để bạn tham khảo, nhưng bạn chỉ lấy đó làm mẫu thôi còn bạn vẫn phải tự gõ lại những gì bạn thấy trong video.


Xem các code ví dụ (Look at the Example Code):


- Khi đọc sách chúng ta thường đọc các từ trên trang sách đó, nhưng học lập trình thì đó là code. Khi bạn mới bắt đầu học lập trình, bạn nên xem xét kỹ lưỡng và cố gắng hiểu từng ví dụ. Trước khi đọc các lời giải thích về chương trình trong sách, bạn nên cố gắng đọc và hiểu các đoạn code mà tác giả đã viết dùng để làm gì. Tuy các ví dụ đó không phải khi nào đánh vào máy cũng chạy, nhưng nó tập cho chúng ta một thoái quen xem code cẩn thận và góp phần giúp chúng ta viết code rõ ràng hơn.


2. Vừa xem vừa làm 



Bạn đừng có mở video lên, pha ly cà phê rồi ngồi vuốt râu khen “phải! phải!”. Cách đó tôi thấy không hiểu quả cho lắm. Trước đây tôi cũng từng ngồi khoanh tay gật gù khen có lý. Nhưng khi tắt video đi thì mình lại mơ hồ không rõ lắm. Chính vì thế bạn mở video một bên và cửa sổ code một bên. Xem đến đâu gõ đến đó thì hiệu quả hơn rất nhiều.


3. Tự làm sau khi xem ( Don't just Read exam code - Run it)


Đây có lẽ là một trong những cách hiệu quả nhất. Sau khi bạn xem video rồi, làm theo rồi, hiểu cách rồi. Hãy tắt video đi và tự làm lại từ đầu theo cách hiểu của mình. Sau đó tự sửa lỗi, tìm lỗi sai, khắc phục .v.v. nếu bế tắc thì mới xem lại video. Nếu bạn đã đào sâu suy nghĩ mà vẫn chưa ra cách, đến khi xem lại bạn sẽ nhớ lâu hơn rất nhiều.


4. Code, code nữa, code mãi


Chúng tôi không thể nhấn mạnh điểm này nhiều hơn nữa. Cách học code nhanh nhất là cứ bỏ mấy cuốn sách dầy cộm xuống. Mở trình soạn code lên và code. Sai thì sửa, quên thì xem lại, có lỗi tìm cách khắc phục, đào sâu suy nghĩ, google, đọc lại lý thuyết … nói chung tôi thấy cách hay nhất vẫn là tự tìm cách giải quyết trước khi hỏi. Bởi vì học lập trình là môn học cần tư duy độc lập và tìm tòi sáng tạo. Rất nhiều người khi mới bắt đầu gặp vấn đề hơi khó là phải hỏi đầu tiên mà không tự khám phá. Nếu cứ mãi hỏi như vậy bạn sẽ bị ì sức sáng tạo và tư duy không độc lập nữa.
 


5. Tự thêm thử thách 


Đây là cách chúng tôi rất hay tự làm với mình. Ví dụ bạn xem một tutorial về cách gửi mail bằng PHP. Trong video, chúng tôi có hướng dẫn gửi mail nhưng không gửi file đính kèm. Bạn hãy cho đấy là bài tập về nhà của mình và tự tìm cách khắc phục. Ví dụ khi chúng tôi đọc một bài về jQuery Slider chẳng hạn, nếu người ta chỉ có chuyển hình kiểu chạy qua, chúng tôi sẽ tự tìm cách tạo cho nó fade qua, vòng lại .v.v.. bằng cách tự tạo ra thách thức cho mình bạn sẽ tiến bộ mau hơn.

6. Hãy viết mã riêng của bạn càng sớm càng tốt ( Write your own code as soon as possible)

Khi bắt đầu viết một chương trình bạn không biết phải bắt đầu từ đâu, sử dụng cấu trúc dữ liệu gì? Việc phân bổ viết code như thế nào? Xử lý các phương thức ra sao?… Điều đầu tiên là bạn sử dụng các công cụ tìm kiếm ở google hoặc các công cụ tìm kiếm khác để tìm kiếm đoạn mã mình cần. Đây là một điều có thể làm cho tư duy lập trình của bạn ngày càng giảm đi và ngày càng bị lệ thuộc vào các công cụ tìm kiếm.


Giải pháp được đưa ra trong trường hợp này là bạn hãy tự nghĩ cho mình một thuật toán riêng. Đầu tiên bạn viết nó bằng mã giả, sau đó dùng ngôn ngữ lập trình để viết lại. Tuy việc này rất khó và tốn nhiều thời gian, nhưng nó sẽ giúp bạn có được những kinh nghiệm thực sự hữu ích, khả năng tư duy lập trình ngày càng phát triển. Thay vì lên mạng tìm code về sửa.

Trường hợp ý tưởng chương trình của bạn lớn, phải viết một lượng lớn code. Khi đó bạn hãy phân nhỏ từng tính năng chương trình của mình ra, tự tập thiết kế cấu trúc của chương trình nhỏ đó, rồi ghép chúng lại với nhau sẽ được một chương trình lớn hoàn chỉnh hơn. Có thể chương trình đó không hoạt động tốt, nhưng cái mà bạn được ở đây chính là kinh nghiệm và một tư duy tự lập trong lập trình.


7. Tìm hiểu cách sử dụng một công cụ gỡ rối Debug (Learn to use a Debugger)

Debug là một công cụ rất tốt dùng để gỡ rối chương trình của bạn khi có một lỗi nào đó là chương trình bạn chạy sai. Nó cho bạn theo dõi giá trị của các biến và các thay đổi của chúng qua từng mã lệnh của chương trình. Công cụ debug mạnh nhất có lẽ được tích hợp trong các sản phẩm của Microsoft như Visual Studio (Hiện nay là Visual Studio 2010).

Công cụ debug giúp chúng ta hiểu chương trình của mình hơn, và là thứ chúng ta cần phải biết khi viết chương trình. Một chương trình debug có thể giúp bạn nhanh chóng trả lời những gì mà bạn đang làm như ví dụ bên dưới.



 Công cụ Debug giúp chúng ta hiểu chương trình của mình hơn


Và lời khuyên cuối cùng về debug là: khi bạn lần đầu tìm hiểu về debuger, có thể nó sẽ làm bạn mất khá nhiều thời gian khi bạn sửa lỗi chương trình của mình. Nhưng khi bạn nắm được các kiến thức về debug nó sẽ đem lại cho bạn một lợi ích lớn trong việc tiết kiệm thời gian khi sửa lỗi chương trình. Tôi tin rằng mỗi bạn đều có thể tìm ra cho mình một cách debug chương trình hiệu quả, bởi nó sẽ theo suốt sự nghiệp lập trình của bạn.


Tôi thường thấy các sinh viên khác không muốn sử dụng công cụ debug (có thể là không biết giống như tôi lúc trước). Những sinh viên đã tự làm khó mình trong việc tìm kiếm lỗi sai trong chương trình. Do đó khi bạn đã xác định theo con đường lập trình, hãy học cách sử dụng một công cụ debug, nó sẽ mang lại cho bạn nhiều lợi ích thiết thực hơn bạn nghĩ.

8. Học từ nhiều nguồn, nhiều tài liệu ( Seek our more source)

- Học làm web không như học phổ thông, không như làm toán cứ ráp công thức vô là giải được bài. Làm web mỗi người một cách làm, mỗi sách có những điểm hay điểm dở khác nhau, mỗi thầy giáo có chỗ mạnh chỗ yếu và mỗi trang web cũng có những điểm ưu điểm khuyết. Do vậy bạn nên tập hợp nhiều nguồn sách, video, ebook, trang web, tutorials v.v.. rồi đúc kết, chắt lọc ra cách mà bạn cho là tối ưu nhất. Tôi đôi khi hay kết hợp nhiều nguồn với nhau và tìm ra cách nào mình thấy dung hòa được tất cả các mặt.


- Bạn cũng có thể tham gia vào các diễn đàn, mạng xã hội đồng nghiệp lập trình như Matebe.com, khi không hiểu một vấn đề gì đó bạn có thể post bài để các thành viên trong Matebe giúp đỡ cho bạn. Lưu ý khi hỏi  bạn phải đặt câu hỏi ngắn gọn, tập trung vào mô tả nội dung vấn đề mà bạn đang gặp vướng mắc thì bạn sẽ nhận được câu trả lời tốt hơn.


-Việc trước mỗi buổi học nên chuẩn bị một danh sách các câu hỏi về những vướng mắc mà bạn gặp phải vào một cuốn sổ tay nhỏ để lên hỏi giáo viên hoặc bạn bè là một việc rất có ích, nó sẽ giúp bạn tiếp thu hơn, và nó cho thấy rằng bạn là một con người cầu tiến, ham học hỏi.

-Cuối cùng là việc hết sức quan trọng: Học Nhóm, học với đồng nghiệp. Học nhóm với đồng nghiệp sẽ giúp bạn tiến bộ nhanh hơn, tăng cường khả năng giao tiếp với bạn bè và đồng nghiệp sau này. Khi làm việc nhóm bạn sẽ viết ra được những chương trình lớn hơn và có sức thuyết phục người dùng hơn. Tôi khuyên bạn đừng bao giờ ôm hết công việc về mình.


Kết Luận


Đây là kinh nghiệm cá nhân mà chúng tôi thu thập lại đựơc, bạn có thể dùng làm nguồn tham khảo, hoặc khám phá ra cho mình cách học tốt hơn. Nhưng nói ngắn gọn lại thì nếu đã xác định học lập trình, bạn phải tạo ra cho mình một thói quen tư duy độc lập. Chỉ hỏi khi thực sự hết cách, chỉ hỏi sau khi đã thử rất nhiều cách, chỉ hỏi khi đã suy nghĩ về vấn đề đó rất nhiều lần trong ngày và chỉ hỏi khi bạn thực sự không thể giải quyết được vấn đề.


(Theo Tài liệu học tập)