Kiến thức
Kỹ năng lập trình – Phần 1: Kỹ năng phân tích
- 10/08/2022
- Posted by: DevUP.vn
- Category: Kỹ năng lập trình
Có một điểm yếu dễ thành tự huyệt của lập trình viên đó là kỹ năng phân tích. Mình đã gặp rất nhiều bạn lập trình viên khi gặp một vấn đề hoặc bài toán liền lao vào “code” hoặc “fix bug” hoặc tìm kiếm giải pháp đâu đó trên Google và dựa vào kinh nghiệm hơn là dành thời gian để phân tích. Hậu quả có thể rất lớn như phần mềm lập trình ra sẽ bị sót trường hợp, lỗi có thể được khắc phục nhưng sẽ có thể gây ra những lỗi khác, và hơn hết là thời gian để xử lý có thể sẽ bị lâu hơn. Nếu bạn đang làm như vậy thì hãy dừng lại một chút để tìm hiểu thêm kỹ thuật phân tích trước nhé.
Đây có lẽ là một câu nói thấm với mình tới tận bây giờ, nếu dành thời gian nhiều hơn cho việc tìm hiểu, phân tích, đánh giá, chuẩn bị trước khi thực hiện một công việc nào đó thì tính chính xác và hiệu quả sẽ cao hơn và có lẽ sẽ tiết kiệm thời gian nữa. Và việc nâng cao kỹ năng phân tích sẽ giúp ích rất nhiều cho bạn trong cuộc sống và công việc.
Kỹ năng phân tích (Analytical skill) hiểu đơn giản là khả năng điều tra vấn đề từ đó đưa ra giải pháp một cách hiệu quả và kịp thời.
– DevUP.vn
Để có thể có kỹ năng phân tích tốt, bạn cần bổ sung thêm cho mình những kiến thức, kinh nghiệm về:
- Kỹ năng tư duy phản biện (Critical Thinking)
- Kỹ năng giải quyết vấn đề (Problem Solving)
- Kỹ năng nghiên cứu, tìm hiểu (Research)
- Kỹ năng giao tiếp (Communication)
- Kỹ năng sáng tạo (Creativity)
Trước khi lập trình, thường bạn sẽ nhận được yêu cầu bài toán của một dự án nào đó. Tùy vào từng trường hợp, có thể bạn sẽ gặp bài toán đã được phân tích rõ và thiết kế rồi thì việc của bạn đơn giản chỉ là lập trình. Còn trong trường hợp mọi thứ đều chưa rõ ràng, nếu bạn lao vào lập trình thì rủi ro sẽ rất cao. Thông thường, trong dự án phát triển phần mềm thường có BA (Business Analyst – nhân viên phân tích nghiệp vụ) sẽ phân tích, tài liệu hóa các yêu cầu (requirement) để lập trình viên có thể lập trình ra được phần mềm. Việc có người khác phân tích yêu cầu khiến cho lập trình viên “lười” suy nghĩ hơn, dễ thành thói quen ai bảo gì làm nấy.
Ngoài ra, đó mới chỉ là phân tích về yêu cầu bài toán, còn việc phân tích & thiết kế đối tượng, cơ sở dữ liệu…trong lập trình thì BA không giúp được chúng ta quá nhiều. Việc này đòi hỏi bạn phải thực sự hiểu yêu cầu bài toán cũng như nắm chắc kiến thức về lập trình, cơ sở dữ liệu…để có thể thiết kế tốt được.
Tư duy phản biện (Critical thinking)
Tư duy phản biện là khả năng phân tích, đánh giá các vấn đề hoặc giả thuyết giúp cho việc đưa ra quan điểm, lập luận, chứng minh một cách khoa học, nhất quán.
– DevUP.vn
Để cải thiện tư duy phản biện, cách làm đơn giản và dễ thực hiện nhất đó là “bắt đầu với việc đặt câu hỏi”. Mình thường hay đặt câu hỏi như tại sao lại cần tính năng này? tại sao không phải làm thế này mà lại làm thế kia? Việc đặt câu hỏi tại sao giúp kích thích sự tò mò trong bạn. Không ngừng thắc mắc, không ngừng tự hỏi, tự phản biện và đưa ra giả định