Chào các bạn, chắc hẳn đối với anh em lập trình viên thì ngay từ những ngày đầu tiên bước chân vào sự nghiệp đã được những người đi trước nhắc nhở rằng, lập trình viên là công việc cần rất nhiều đến sự tư duy đúng không?
Nhưng một câu hỏi đặt ra là tư duy như thế nào?
Làm thế nào để một lập trình viên có thể rèn luyện tư duy một cách đúng đắn và tốt nhất thì nó lại là một câu chuyện hoàn toàn khác, và thực sự thì nó không phải là một bài toán dễ giải.
Vậy nên trong bài viết này mình sẽ cùng anh em điểm qua một vài cách, cũng như là một vài phương pháp mà mình cảm thấy là hiệu quả trong quá trình học tập và làm việc của mình.
Mục Lục Nội Dung
#1. Rèn luyện qua các bài toán lập trình cơ bản
Đây là một phương pháp mà theo mình nghĩ nó rất phù hợp cho các bạn mới bắt đầu học lập trình, đặc biệt là những bạn có nền tảng toán tốt.
Các bài toán lập trình cơ bản có bản chất là cách mà chúng ta sử dụng ngôn ngữ lập trình để giải quyết các bài toán logic với sự tận dụng sức mạnh tính toán của máy tính.
Ví dụ như các bài toán tìm ước số chung, bội số chung, số nguyên tố hay các bài toán tính dãy số. Về mặt toán học chúng đều đã có công thức cũng như cách giải sẵn rồi.
Cách mà lập trình viên rèn luyện tư duy lập trình đó là làm sao sử dụng ngôn ngữ lập trình để giải quyết các bài toán đó.
Tất nhiên, đây không phải là một lựa chọn duy nhất cho các bạn mới học lập trình, vì thực tế còn rất nhiều cách khác và phụ thuộc vào ngôn ngữ lập trình các bạn học.
Nhưng theo mình thì các bạn nên tiếp cận theo hướng này, vì nó thực sự sẽ giúp các bạn hình dung được lập trình là gì và lập trình sinh ra để làm gì.
Một số trang web các bạn có thể rèn luyện kỹ năng này như:
- https://vn.spoj.com/
- https://www.hackerrank.com/
- https://codeforces.com/
#2. Cố gắng tự mình giải quyết vấn đề
Vấn đề chính là những gì mà một lập trình viên phải giải quyết hàng ngày nhưng không phải lúc nào lập trình viên cũng có thể tự mình giải quyết vấn đề hoặc là nhờ sự trợ giúp của người khác.
Chính vì vậy, việc rèn luyện khả năng cũng như tư duy tự mình giải quyết vấn đề sẽ giúp lập trình viên chủ động hơn trong công việc.
Ngoài ra, việc lập trình chủ động tìm cách giải quyết vấn đề còn có ý nghĩa quan trọng về mặt đáp ứng nhân sự của công ty hay tổ chức.
Điều đó có nghĩa là chúng ta sẽ không mất nguồn lực vào những việc phát sinh đột nhiên từ vấn đề của người khác.
Nhưng ngược lại, việc cố gắng tự mình giải quyết vấn đề không phải lúc nào cũng tốt, vì thực tế có nhiều vấn đề nếu nhờ sự giúp đỡ của người khác sẽ nhanh hơn rất nhiều.
Chính vì vậy chúng ta phải thực sự linh động, luôn luôn cố gắng tự mình giải quyết vấn đề trước. Khi vấn đề thực sự đi vào bế tắc hoặc không có một hướng đi rõ ràng thì lúc đó mới nhờ sự giúp đỡ của người khác.
#3. Rèn luyện qua các dự án thực tế
Đối với các bạn đã đi làm được một đến hai năm thì mình tin chắc kinh nghiệm các bạn tích lũy được có thể nói là kha khá rồi.
Lúc này, việc rèn luyện tư duy qua các bài toán logic có thể không phải là lựa chọn phù hợp nữa, vì bản chất các vấn đề thực tế trong công việc, dự án là rất khác so với khi chúng ta đi học.
Vậy làm sao để rèn luyện tư duy thông qua các dự án thực tế?
Với cá nhân mình, cách mình áp dụng đó là phải nắm được nghiệp vụ hệ thống, bóc tách thành các phần nhỏ, cuối cùng là áp dụng lý thuyết cộng với kinh nghiệm để giải quyết từng bài toán nhỏ đó.
Mỗi dự án có thể khác nhau về nghiệp vụ hệ thống, khác nhau về cấu trúc ứng dụng… Nhưng chung quy lại những gì chúng ta phải làm đó là giải quyết từng phần nhỏ một.
Có thể nói tư duy chia để trị là một trong những tư duy rất phổ biến trong ngành lập trình nói riêng và trong cuộc sống nói chung.
Nếu anh em rèn luyện được phương pháp tư duy này mình đảm bảo là sẽ rất có lợi trong việc theo đuổi ngành lập trình này đó.
#4. Học hỏi từ người khác
Học tư duy từ người khác chưa bao giờ là một điều dễ dàng, kể cả khi đó là một người thông minh, nhất là khi một lập trình viên đã có kinh nghiệm 1-2 năm.
Nhưng đôi khi một lập trình cứ giữ khư khư lối mòn tư duy cũ kỹ của mình thì cũng sẽ rất khó để phát triển, chúng ta cần phải biết học hỏi những cái hay từ những người khác nữa.
Vậy làm sao để học hỏi tư duy từ người khác?
Đầu tiên thì chúng ta phải biết hạ cái tôi của mình xuống, vì không phải ai cũng chịu lắng nghe góp ý từ người khác. Và khi đã sẵn sàng để lắng nghe người khác rồi thì chúng ta cần phải biết cách chắt lọc và ghi nhớ.
Ví dụ như khi bạn hỏi một lập trình viên khác về cách khắc phục một vấn đề nào đó.
Thì bạn nên quan sát cách họ làm, họ xác định nguyên nhân lỗi từ đâu, họ Search Google như thế nào và nếu có thể thì bạn hãy hỏi họ những gì bạn không hiểu (đừng ngại hỏi, nhưng hãy hỏi với thái độ cầu thị).
#5. Tích lũy kinh nghiệm
Và tất nhiên rồi, dù tư duy có như thế nào thì kinh nghiệm trong nhiều trường hợp vẫn là vũ khí rất lợi hại của một lập trình viên.
Nếu một lập trình viên có kinh nghiệm thì chúng ta thấy họ tư duy rất thoáng và đôi khi họ giải quyết cũng như tiếp cận vấn đề rất đơn giản và hiệu quả.
Đối với một lập trình viên có kinh nghiệm thì tư duy không đơn giản là những logic, mà tư duy còn là sự kết hợp nhuần nhuyễn giữa kinh nghiệm và logic để đưa ra giải pháp tốt nhất.
Đó chính là lý do tại sao các bạn có thể thấy, các nhà tuyển dụng thường tuyển lập trình viên có kinh nghiệm với mức lương khá cao.
#6. Kết luận
Tư duy thực sự là vũ khí rất mạnh của công việc lập trình nói riêng và rất nhiều công việc khác nói chung. Việc rèn luyện tư duy của một lập trình viên là rất quan trọng và nó ảnh hưởng trực tiếp tới khả năng kỹ thuật của họ.
Với 5 phương pháp rèn luyện tư duy cho anh em lập trình viên mà mình vừa chia sẻ bên trên thì mình rất hi vọng là anh em sẽ chắt lọc được một chút gì đó cho riêng mình.
À, 5 phương pháp bên trên cũng được mình sắp xếp theo quá trình phát triển sự nghiệp của một lập trình viên. Hi vọng là nó sẽ hữu ích với bạn, hẹn gặp lại các bạn trong các bài viết tiếp theo nha.
Còn anh em thì sao? anh em đã rèn luyện kỹ năng tư duy lập trình của mình như thế nào? Đừng ngần ngại chia sẻ kinh nghiệm của anh em ở phần comment bên dưới để chúng ta cùng thảo luận thêm nhé 🙂
Đọc thêm:
- [LẬP TRÌNH VIÊN] Những điều cần tránh khi học CODE
- Chia sẻ với bạn 5 bí kíp để trở thành một lập trình viên “cứng”
- Lập trình viên nên HỌC NHIỀU HƠN một ngôn ngữ lập trình?
CTV: Nguyễn Đức Cảnh – Blogchiasekienthuc.com