Làm thế nào để nâng cao kỹ năng lập trình?

Hoa Dang
CG Writing
Published in
4 min readOct 16, 2019

“Làm thế nào để nâng cao kỹ năng lập trình?” — Mình luôn tự hỏi câu này từ khi mới bước chân vào nghề lập trình. Qua nhiều lần tìm hiểu và thử nghiệm với bản thân, mình rút ra được một vài ý dưới đây. Hy vọng nó sẽ hữu ích cho những bạn mới học lập trình.

Để lập trình tốt, chúng ta cần rất nhiều loại kỹ năng và tư duy khác nhau:
- tư duy lô-gích
- tư duy giải quyết vấn đề
- tư duy sáng tạo
- tư duy hệ thống

Phát triển được “một mớ” các tư duy như trên cần có thời gian. Tuy nhiên, khi mới học lập trình, chúng ta có thể chỉ cần tập trung vào những việc sau:

1. Thành thạo cú pháp ngôn ngữ lập trình

Ngôn ngữ lập trình là thứ chúng ta dùng để chuyển hóa suy nghĩ, giải pháp trong đầu thành các dòng mã cụ thể. Nắm vững ngôn ngữ giúp bạn thoải mái hơn trong việc thể hiện “suy nghĩ” của mình.

(Còn việc chọn ngôn ngữ nào để học lại là một chủ đề khác, thu hút nhiều thảo luận trên các diễn đàn. Các bạn có thể tham khảo, nhưng đừng quá sa đà vào đấy. Có một bí quyết là hãy chọn ngôn ngữ nào mà bạn dễ tiếp cận nhất. Ví dụ, được đánh giá là dễ học, hoặc bạn biết có người quen đang sử dụng để có thể dễ học hỏi và nhờ vả,…)

2. Học những thuật toán cơ bản

Có rất nhiều thể loại bài toán khác nhau trong lập trình. Lúc mới học, chúng ta sẽ gặp một số loại như tìm kiếm, sắp xếp,… Mỗi dạng có một số thuật toán cơ bản. Nắm vững các thuật toán này sẽ giúp chúng ta tư duy hiệu quả hơn.

3. Luyện tập thường xuyên

Việc này thì chắc không cần phải bàn nhỉ! Lập trình là một kỹ năng như nhiều kỹ năng khác: viết, đá bóng, đá cầu,… Luyện tập thường xuyên là một yêu cầu bắt buộc để phát triển kỹ năng.

Hãy nhớ lại những ngày đầu tập lái xe (xe đạp, xe máy, xe ô-tô). Chúng ta luôn lúng túng khi phải xử lý từng thao tác một: rẽ trái, rẽ phải, tăng tốc, phanh để giảm tốc,… và thật khó để kết hợp nhuần nhuyễn với nhau. Khi đã thành thạo các kỹ năng trên thì chúng ta đi lại dễ dàng hơn. Và, vì là nhu cầu hằng ngày, chúng ta thực hành các thao tác lái xe này thường xuyên theo một cách rất tự nhiên. Đến mức độ, kỹ năng trở thành phản xạ tự nhiên và hiếm khi chúng ta nghĩ đến việc phải thao tác như thế nào khi di chuyển như những ngày đầu.

Thế thì, hãy làm cho kỹ năng lập trình của bạn trở thành phản xạ tự nhiên như vậy nhé! Đấy là việc cần làm của một người học lập trình nếu muốn giải quyết những vấn đề phức tạp hơn sau này.

4. “Sản phẩm để vọc”

Đây là một bài viết trong quyển sách “Học nghề” (do nhóm giảng viên CodeGym dịch). Ý tưởng của bài viết là hãy tự xây dựng những dự án của riêng bạn để có thể học được những kỹ thuật mới với niềm yêu thích. Đây cũng là lời khuyên mà mình thường nói với các bạn học viên tại CodeGym: “Hãy tự xây dựng lại một ứng dụng nào đó bạn thích hoặc được sử dụng hằng ngày”. Mục đích không phải là để tạo ra những ứng dụng mới tốt hơn, mà là để chúng ta có cơ hội được rèn luyện cách tư duy, cách giải quyết vấn đề, cách xây dựng ứng dụng từ những yêu cầu chức năng mà chúng ta đã biết rất rõ.

Trên đây là bốn yêu cầu cần thực hiện để để nâng cao kỹ năng lập trình. Bên cạnh đó, chúng ta cần một số hoạt động khác bên lề:

* Hãy tạo ra những chiến thắng nhỏ! Đây là một thủ thuật giúp bạn duy trì động lực trong quá trình học. Hãy thực hiện những bài tập vừa phải. Bạn có thể hỏi bạn bè, người hướng dẫn, những người có kinh nghiệm để chọn ra những bài toán phù hợp với năng lực hiện tại của bản thân. Với một bài toán vừa sức, bạn cần một chút nỗ lực, và sẽ vượt qua được trong mức thời gian cho phép. Việc này không gây tạo ra quá nhiều thử thách cho sự kiên nhẫn của bản thân. Sau một khoảng thời gian, bạn có thể nâng dần độ khó của các bài tập, hoặc tìm ra những giải pháp hay hơn cho những bài toán đã biết.

* Đọc nhiều (để tích lũy kiến thức). Bên cạnh việc thực hành những kỹ năng đã có để thành thục, chúng ta luôn cần bổ sung và khám phá những kiến thức mới. Bạn có thể đọc sách, đọc các bài viết trên các trang web/diễn đàn chuyên sâu. Đừng để bản thân bị giới hạn vào một số chủ đề nhỏ hẹp. Hãy mở mang “túi khôn” của mình bằng cách thu nạp thêm nhiều “từ khóa” mới.

* Viết nhiều hơn nữa! Viết không chỉ là cơ hội để chúng ta tổng hợp, hệ thống lại được kiến thức đã học, mà còn giúp nhớ lâu hơn, phát triển tư duy logic và ngôn ngữ mạch lạc.

Và cuối cùng, chúng ta hãy cùng nhau tiến bộ.. Nhỏ thôi, nhưng từng ngày!

--

--