5 “"TRIẾT LÝ" KHI HỌC CODING

By Coding Mentor

5 “"TRIẾT LÝ" KHI HỌC CODING

Lập trình là một ngành phát triển nhanh và có độ thay đổi đến chóng mặt trong thời đại ngày nay. Do đó giá trị lớn nhất của một lập trình viên không chỉ là việc am hiểu tường tận một công nghệ hay ngôn ngữ cụ thể, mà còn là cách họ thích nghi với sự thay đổi của thời đại và khả năng học những khái niệm mới một cách nhanh chóng, hiệu quả. 

Anh Huy Nguyễn- Founder của Coding Mentor đã chia sẻ một số “triết lý” trong quá trình học coding của chính bản thân mình. Anh Huy cũng nhắn nhủ thêm rằng: “5 chia sẻ nhỏ dưới đây nằm trong số vô vàn những “triết lý” học tập dành riêng cho việc tự mày mò lập trình của cá nhân mình. Bất kể khi nào gặp khó khăn, nản lòng hay phải “thay đổi”, mình luôn tự nhủ về 5 “chân lý” này và xem đó là một phần tất yếu của quy trình học coding”.

  1. MAKE YOUR OWN NOTES

Với rất nhiều nguồn tài liệu trực tuyến có thể tìm thấy được trên mạng, người học sẽ dễ dàng bỏ qua bước ghi chú và sao lưu kiến thức. Tuy nhiên, theo quan sát của mình, những người học lập trình giỏi, thường sẽ có thói quen ghi lại những thông tin kiến thức mới bằng nhiều cách, phù hợp riêng với từng style học. Có người tập hợp thành 1 quyển sổ tay mini trực tuyến, có người thích nhanh chóng nguệch ngoạc vài đường trong digital notebook để dễ dàng tra cứu lại sau này, hoặc cũng có người thích save lại những đường link của các bài viết hữu ích để không mất thời gian tìm kiếm về sau. Dù thế nào đi nữa, khi đọc phần giải thích của một quyển sách hay hoặc tâm đắc về cách trình bày và viết code của các cao thủ, đừng quên ghi chú và hệ thống lại kiến thức. Bạn sẽ thấy thói quen này vô cùng hữu ích khi đụng phải những tình huống tương tự khi xử lý vấn đề trong tương lai.

  1. APPLICATION IS KEY

Bạn có thể là người đọc rất nhiều sách về lập trình hoặc xem rất nhiều video dạy coding nhưng bạn sẽ không thực sự bắt đầu "học" cho đến khi gõ những dòng code trên máy và áp dụng các thông tin kiến thức mình thu thập để suy luận và giải luận vấn đề. Đừng chỉ xem và cảm thấy trầm trồ với tay nghề hay cách giảng bài của những coders đình đám trên mạng mà hãy mở "code editor" lên và follow từng bước theo họ để có cảm nhận tốt nhất về kiến thức mình vừa thụ cảm. Lợi ích của việc học online và xem lại các bài giảng cũng chính là việc bạn có thể dừng video và nghiền ngẫm cách người dạy tư duy và tranh biện trong việc xử lý tình huống coding.

  1. HIT A WALL: JUST ASK FOR HELP

Học về lập trình đòi hỏi rất nhiều về kỹ năng nhận dạng và giải quyết “problem”. Ai viết “code” mà không hề thất bại. Ai lên idea mà chẳng dại đôi lần. Thế nên, “ bức tường thành” mà bạn gặp khi coding chắc chắn sẽ xuất hiện liên tục đến trăm lần trong hành trình học code của mình. Có khi mất hàng giờ liền, thậm chí cả mấy ngày trời, đọc hàng tá kết quả tìm kiếm vẫn không làm máy tính chạy được chương trình như kỳ vọng. Khi điều này xảy ra, điều tốt nhất bạn có thể làm sau những chuỗi dằn vặt tim can là tự liệt kê những câu hỏi sau:

- Bạn đang muốn làm gì?

- Dòng code đang viết ra kết quả hiển thị thế nào và khác gì với kỳ vọng ban đầu?

- Những cách thức nào bạn đã mày mò để khắc phục mà vẫn chưa ra?

- Bạn đã check đủ các "error logs", "messages", hay những phần mềm hỗ trợ khác chưa?

Từ những thông tin trên, bạn có thể tóm tắt lại vấn đề của mình và post câu hỏi trên 1 diễn đàn coding đáng tin cậy. StackOverflow đã từng là cứu cánh cho rất nhiều sinh viên, trong đó có mình, khi người học có thể tìm kiếm lời giải đáp cho những khúc mắc hay vấn đề tương tự mà bản thân đang gặp phải.

Sau đó, cứ thả lỏng và cho bản thân nghỉ ngơi vài tiếng. Khi quay trở lại với một tinh thần thoải mái hơn, bạn sẽ nhận ra đôi khi vấn đề ở gần ngay trước mắt chứ chẳng đâu xa. Đồng thời, đây cũng là thời gian cho những anh chị máu mặt trong cộng đồng có thể type phần trả lời giúp bạn xử lý bugs trong vài nốt nhạc, hay chí ít là cung cấp thêm nhiều “đầu mối” quan trọng.

Một insight nhỏ trong mục này đó là nếu bạn đang cần thực hiện các dự án quan trọng, đừng để đến phút cuối mới làm vì đôi khi chỉ 1 vài lỗi nhỏ có thể mất cả vài tiếng thậm chí vài ngày để xử lý.

  1. THE PROBLEM IS OF OUR OWN MAKING

Theo kinh nghiệm của những ngày đầu học code, mình nhận thấy thường các lỗi gặp phải đều bắt nguồn từ vấn đề của chính bản thân. Và khi đó, một tay ất ơ như mình thường sẽ có khuynh hướng:

+ Đổ lỗi cho phần hướng dẫn mà mình đang follow theo

+ Đổ lỗi cho plugin hoặc lỗi từ code editor với các chức năng khá “phân bò”

+ Đổ lỗi cho framework mình dùng được thiết kế "ẩu".

Đến khi nhận ra được chỗ sai thì gần như 90% là do bản thân bị nhầm lẫn hoặc gây lỗi mà đã rất vô tư. Thay vì đổ thừa cho yếu tố bên ngoài, mình đã rút kinh nghiệm và thường xem lại cách viết code, để ý từng bước bản thân thực hiện và tỉ mỉ hơn khi đọc từng line. Dĩ nhiên, vẫn có trường hợp “problem” xuất phát từ yếu tố ngoại cảnh nhưng ý mình ở đây là không nên bắt đầu xử lý bugs từ việc đổ thừa hoàn cảnh, mà nên xem lại tình hình “nội tại” để hiểu được vì sao mà mấy dòng code mãi hoài chưa ra.

Trong lúc tìm ra bugs, bạn cũng sẽ học thêm được nhiều thứ hay ho khác nữa và hiểu rõ hơn về cách mà máy tính hay ngôn ngữ lập trình vận hành, từ đó kinh nghiệm của bạn sẽ ngày một đúc kết dày lên và việc xử lý vấn đề trong coding đương nhiên không còn là nỗi ám ảnh muôn đời.

  1. CHANGE IS HARD

Đối với một số người, việc thay đổi hay sử dụng công nghệ mới dễ làm họ cảm thấy bực mình vì đang yên đang lành với mớ kiến thức hay kỹ thuật cũ lại phải chuyển sang một khái niệm mới toanh và cần học lại từ đầu. Bản thân mình cũng đã từng “càm ràm” về chuyện này và hay đổ thừa cho công cụ hay techniques mới nào là cồng kềnh hơn, phức tạp hơn nào là phần documentation có quá nhiều lời giải thích khó hiểu.

Nhưng rồi mình nhận ra một khi đã thông thạo với công nghệ mới, và hiểu được tính ứng dụng của nó trong việc biến những dòng coding trở nên tinh gọn hơn, thì mình lại “sống mà không thể thiếu” với chính cái “mới mẻ” đã từng làm mình bực bội trước đây. SCSS là một ví dụ điển hình khi cần chuyển các style cho các elements trong 1 trang web lớn. Tuy có “rắc rối” thật, nhưng khi đã hiểu được nguyên lý vận hành, thì mình và mấy đứa cùng lớp lại không ngừng cảm ơn "người" đã phát minh ra SCSS - một ngôn ngữ scripting làm gọn ghẽ hơn những dòng code CSS truyền thống.

Chúng mình cũng hy vọng rằng, thông qua những thông tin vô cùng thú vị dưới đây, các bạn “tay ngang” mới bắt đầu học code có thể tìm thấy sự hữu ích, tạo nên nhiều động lực cho quá trình dấn thân vào lĩnh vực đầy sự thách thức này. Còn nếu bạn có những suy nghĩ, chia sẻ khác về cách học coding của bản thân, đừng ngần ngại mà hãy chia sẻ với tụi mình thông qua những kênh dưới đây nhé !

---------------------------------------

Website: https://codingmentor.com.au/ 

Facebook group: https://www.facebook.com/groups/taynganghoccode  

Fanpage: https://www.facebook.com/codingmentor.au


Tags