a) Kiểm tra code kĩ trước khi đổ lỗi cho người khác
Khi 1 người nào đó report rằng phần mềm bạn đang có vấn đề, hãy đi tới và kiểm tra những gì họ làm. Có thể họ đang làm bằng cách nào đó không giống như bạn nghĩ.
Quy tắc của tôi là khi có bug, tôi nghĩ như là 1 compiler, đi từng bước và coi nó corrupt chỗ nào.
Vì vậy, trước khi đỗ lỗi, hãy nhớ tới lời khuyên của Sherlock Homes: Một khi đã loại bỏ những chi tiết không thể làm được, những gì còn lại, chắc chắn là câu trả lời.
b) Tiếp tục học
Chúng ta đang sống trong thời đại rất tốt. Chúng ta cũng thấy có rất nhiều người đang làm công việc giống ta cho nên chúng ta phải luôn học hỏi để tồn tại trong market này, nếu không bạn sẽ dần bị loại bỏ.
Thế làm cách nào, chúng ta phải bỏ tiền và time ra để tham gia các khóa training.
Sau đây là list các cách để học:
- Đọc sách, tạp chí, website… Nếu muốn tìm hiểu sâu hơn, bạn nên join vào group thảo luận về vấn đề đó.
- Nếu bạn muốn tìm hiểu sâu hơn, viết some code.
- Luôn cố gắng làm việc với chuyên gia, đặc biệt là người cực giỏi.
- Tìm chuyên gia online, tìm blog học, follow them.
- Tìm hiểu framework mới hiện nay, debug step by step để hiểu luồng đi của nó.
- Khi mắc mistake, hãy fix bug và nhảy vào problem đó, thử hiểu xem vấn đề là gì.
- Nếu đc hãy dạy ai đó, vì khi dạy ta sẽ hiểu vấn đề sâu hơn.
- Có 1 IDE tốt, như Sublime Text chẳng hạn.
- Follow advice của Pragmatic Programmers và học ngôn ngữ lập trình mới vào mỗi năm. Càng nhiều ngôn ngữ, ta càng có nhiều dữ liệu để giải quyết vấn đề.
Công nghệ thay đổi nhanh đến chóng mặt, đừng để nó vượt qua bạn.
c) Đừng sợ khi làm sai
Chúng ta đang ở 1 môi trường làm việc cần sự hoàn hảo. Chỉ cần change 1 chút để thay đổi tính năng A có thể làm break tính năng B, C ở đâu đó. Khi 1 module được add vào, developer chỉ change 1 tí, không dám change nhiều vì change nhiều sẽ gây ra hậu quả có thể không thể sửa được.
Đừng sợ, ai quan tâm nếu mọi thứ chỉ tạm thời die trong thời gian bạn đang deploy. Take 1 tí time để refactor code giúp cho bạn tiết kiệm time nhiều hơn khi xảy ra problem và giúp cho team bạn thoải mái hơn khi đọc code của bạn, và họ sẽ hiểu bạn professional thế nào.
d) Professional programmer
Đặc điểm quan trọng nhất của professional programmer là chịu trách nhiệm về career, estimate, schedule, mistake, and workmanship.
Nếu bạn prồ, thì bạn phải chịu trách nhiệm về career của bạn, phải up to date với công nghệ. Nhiều programmer than phiền rằng job của họ không train cho họ, xin lỗi là họ đã sai rồi. Họ nên học hỏi, update vào ngoài giờ làm việc. Thế nên có nghĩa là employer hứa sẽ trả tiền cho bạn, và bạn cũng nên hứa rằng mình đang làm good job.
Professional coder chịu trách nhiệm về code mà họ lập trình, họ không release code trừ khi họ tin rằng nó work tốt. Hãy nghĩ xem, đã bao giờ bạn release code khi mà bạn chưa sure nó sẽ work tốt? Hãy luôn nhờ QA test code dùm bạn, nó rất quan trọng.
Professional là người teamwork tốt, họ chịu trách nhiệm về output của cả team, chứ không chỉ cho họ. Họ help, teach, learn thậm chị code dùm cho đồng nghiệp.
Professional không thông cảm cho 1 list bugs quá nhiều. Một list lớn các bug là không chấp nhận được.
Professional thì không làm cái gì đó hỗn độn, họ tự hào về tay nghề của họ. Họ keep code clean, well structure và dễ đọc. Họ follow các standard và best pratice, họ không gấp rút vì đã có sự chuẩn bị tốt rồi.
e) Tận dụng các tool analysis code
Testing chỉ 1à 1 trong các tool mà ta có thể dùng để cải thiện code.
Sử dụng các tool -lint để cải thiện chất lượng code.
f) Social là your friends
Thông thường ta code trong trạng thái cô lập và khi compile code, có vẻ code giống như là giải pháp hơi hướng personal. Ta đang quên rằng ta đang ở trong 1 team, và code đó của ta sẽ được dùng, được thừa kế, và thậm chí được up lên cho cộng đồng xem. Cho nên ta phải suy nghĩ theo hướng viết cho cộng đồng, chứ không chỉ cho ta và cho team của ta.
Code của mình chắc chắn sẽ ảnh hưởng đến code của những người khác. Vậy điều gì sẽ xảy ra nếu code của mình có chất lượng không tốt?
g) Professional care about code của họ
Để có code tốt, bạn phải work hard. Và bạn sẽ đạt tới ngưỡng đó, khi bạn thực sự care về good code.
Dựa trên kinh nghiệm rất nhiều năm lập trình, tôi có thể kết luận điểm khác nhau của bad và good professional là: attitude(thái độ). Good programming cố gắng viết the best code mà họ có thể.
Nhận xét