Những thói xấu mà các lập trình viên nên tránh

2326

Dưới đây tôi sẽ liệt kê 35 thói quen xấu thường gặp mà các lập trình viên nên lưu ý. Có thể là sẽ còn có nhiều hơn 35, nhưng tôi thấy số 35 đẹp.

Ngoài ra tôi để 2 điều quan trọng nhất ở #17 và #35, để các bạn có thể đọc toàn bộ bài viết của tôi.

Hy vọng các bạn sẽ cảm thấy có ích.

1. Thể hiện mình biết tất cả các câu trả lời

  • Cho rằng mình biết mọi thứ là 1 suy nghĩ rất nguy hiểm. Bạn không thể biết hết được, và điều đó không có vấn đề gì cả.

2. Tham gia họp hành cả ngày

  • Nếu bạn sử dụng quá nhiều thời gian trong ngày chỉ để họp, bạn nên cân nhắc sử dụng thời gian của mình hiệu quả hơn.

3. Cố chấp khi người khác nhận xét code của mình

  • Những lập trình viên tốt luôn sẵn sàng đón nhận 1 cuộc tranh luận thẳng thắn về code mình viết để có thể nâng cao khả năng bản thân.

4. Từ bỏ quá sớm

  • Rất nhiều lập trình viên đã tiến rất sát đến đáp án nhưng họ lại từ bỏ ngay trước khi họ có thể giải quyết được vấn đề.

5. Từ chối sự giúp đỡ

  • Khi trình bày vấn đề của mình cho người khác, thường thì bạn sẽ tìm ra được phương án giải quyết.

6. Đổ lỗi

  • Một lập trình viên tốt sẽ có trách nhiệm với những dòng code mà họ viết.

7. Thực hiện tối ưu hoá code trước khi hoàn thành những đoạn code khác

  • Trong hầu hết các trường hợp, việc tối ưu hoá 1 phần code trước khi code xong toàn bộ sẽ rất khó để đánh giá thay đổi về hiệu năng.

8. Lờ đi ý kiến của các lập trình viên khác

  • Một trong những cách để học và phát triển kỹ năng tốt nhất là được làm cùng với những lập trình viên có kinh nghiệm hơn mình. Do đó, hãy tìm ý kiến của họ.

9. Không biết làm thế nào để tối ưu hoá code

Có 1 số trường hợp mà performance thực sự là vấn đề lớn, ví dụ khi làm việc với:

  • Các thuật toán phức tạp
  • Các thao tác với database không hiệu quả
  • APIs của 3rd party
  • N+1 Queries

Khi vấn đề liên quan đến performance xuất hiện, bạn cần phải biết làm sao để phân tích chúng, hiểu được nguyên do tại sao chúng xuất hiện, và làm sao để sửa.

10. Đánh giá thấp mối quan hệ với đồng nghiệp

  • Bạn được thuê để viết code, nhưng đừng quên là bạn cũng cần phải gắn kết với những thành viên khác trong team.

11. Tranh luận gay gắt trong công ty

  • Thỉnh thoảng, những teams khác sẽ đưa ra quyết định rằng ý kiện của bạn là sai. Tuy nhiên, chỉ cần bạn có thể hoàn thành được mục tiêu của team mình, thì tốt nhất là nên làm việc kệ những lời châm chọc khác, hơn là cứ phải sa đà vào cãi vã.

12. Không chịu nổi áp lực

  • Khi bạn đang xử lý 1 bug khiến user không thể sử dụng được sản phẩm, có rất nhiều áp lực đang đè lên đôi vai bạn. Cái bạn cần là phải nâng cao khả năng giữ bình tĩnh để có thể hoàn thành công việc.

13. Không thể không viết code đẹp

Thực tế, có rất nhiều điều phải đánh đổi, ví dụ như:

  • Deadline
  • Kinh nghiệm
  • Những bugs khẩn cấp cần fix ngay lập tức

Nhiều khi, bạn không cần phải quá trau chuốt vào những dòng code, để đáp ứng được những yêu cầu cần thiết hơn.

14. Dùng dao mổ trâu để giết gà

  • Không cần thiết phải sử dụng các phương án phức tạp cho các vấn đề đơn giản.

15. Thể hiện mình như boss, chứ không phải là leader

  • Quá nhiều lập trình viên không biết làm thế nào để quản lý người khác. Bạn nên là người để mọi người tìm đến khi cần phương hướng, chứ không phải là cần những lời chỉ bảo step-by-step.

16. Sử dụng sai tool cho công việc

  • Đừng đưa ra quyết định chỉ vì “đó là thứ tôi biết”. Hãy tập sử dụng các công nghệ, ngôn ngữ, hay frameworks khác nữa.

17. Từ chối tìm hiểu những câu hỏi về code

  • Google thực sự là một trong những công cụ mạnh mẽ nhất dành cho những lập trình viên.

18. Không nắm rõ những gì mình đang sử dụng

  • Có rất nhiều công cụ bạn đang sử dụng như text editors, command line v.vv.. và việc nắm rõ chúng là hết sức cần thiết. Hãy dành thời gian để đọc về những tips và tricks, chúng sẽ giúp bạn có thể sử dụng các tools hiệu quả hơn.

19. Bỏ qua error messages

  • Các thông báo lỗi hiện ra rất thường xuyên. Chúng mang rất nhiều thông tin như: lỗi gì, tại sao lại lỗi, dòng code nào lỗi. Bạn nên tìm hiểu các message lỗi, thay vì cứ tránh né nó.

20. Đếm giờ

  • Những lập trình viên tốt sẽ thực sự đắm mình trong việc viết code và tìm thấy chính mình trong đó. Không phải là cứ code 10,000 giờ là sẽ có gì thay đổi.

21. Không học hỏi từ những sai lầm cũ

Điều này thực sự phản tác dụng. Khi có lỗi xuất hiện, hãy tập trung vào nó và rút ra 3 điều sau:

  • Đâu là nguyên nhân gây ra lỗi?
  • Phải làm gì để tránh lỗi tương tự xảy ra ở sau này?
  • Liệu lỗi này có thể được phát hiện sớm hơn và gây ít ảnh hưởng hơn không?

Việc không có được bài học từ những lỗi cũ sẽ khiến bạn lặp lại chúng.

22. Lo sợ việc phải từ bỏ những gì đã code

  • Know that spending three days to write the wrong solution will teach you more falling victim to analysis paralysis.

23. Quá mộng tưởng vào toolkit của bản thân

  • Một vài lập trình viên yêu vim, 1 số người khác lại ghét nó và yêu emacs. Tuy nhiên, tuỳ vào trường hợp mà sẽ có tool này thích hợp hơn những tools còn lại.

24. Tách biệt bản thân khỏi cộng đồng lập trình viên

  • Có rất nhiều cộng đồng lập trình viên trên thế giới, như Railsbridge, Girl Develop It, hay những event như RubyConf, RailsConf v.vv.. và có rất nhiều thứ để bạn có thể học được từ đó.

25. Không có tài khoản Twitter

Những lập trình viên đã tạo ra Ruby, Rails, Javascript v.vv.. đều sử dụng Twitter. Việc cập nhật thông tin trên Twitter có thể giúp bạn hiểu được họ đang suy tính làm những gì.

26. Không đáp trả lại cộng đồng

  • Bạn nên gắn mình với cộng đồng lập trình càng sớm càng tốt. Nếu bạn có thể làm gì đó cho cộng đồng, bạn sẽ thấy điều đó có ích như thế nào.

27. Loay hoay hàng giờ để giải quyết vấn đề nhưng không ghi chép lại

  • Bạn sẽ thường xuyên phải đối mặt với những vấn đề đặc biệt mà không có câu trả lời trên Internet. Sau khi vật lộn hàng giờ để giải quyết chúng, bạn nên viết lại để có thể giúp đỡ những người khác khi họ gặp phải vấn đề tương tự.

28. Viết quá nhiều (hoặc quá ít) comment cho code

  • Comment rất cần thiết cho code, tuy nhiên cũng phải có mức độ nhất định.

29. Lười cập nhật tình hình các vấn đề cho Product Managers

  • Product Managers là những người cần biết trạng thái của sản phẩm kịp thời, nên nếu bạn không cập nhật cho họ thì sẽ thực sự rất đau đầu.

30. Khởi đầu những chức năng không liên quan cùng lúc

  • Nếu những chức năng đó thực sự lớn, những issues tạo ra sẽ vô cùng phức tạp.

31. Bắt đầu với 1 phương án, nhưng hoàn toàn từ bỏ và thay đổi nó khi có 1 vấn đề không lường trước phát sinh

  • Đó là điều tệ nhất bạn có thể làm.

32. Dính với 1 phương án không hiệu quả

  • Điều duy nhất tệ hơn việc từ bỏ hoàn toàn phương án ở phút cuối, là cố chấp không dừng lại việc triển khai 1 phương án tồi.

33. Liên tục xin lỗi về đoạn code xấu đang viết

  • Nếu bạn nhận thấy mình cứ phải xin lỗi cho những đoạn code xấu của mình, thì bạn cần đánh giá lại những deadlines.

34. Không để tâm đến việc thực hiện code review

  • Team là 1 khối, và trách nhiệm của từng thành viên là phải đảm bảo code của tất cả mọi người đạt tiêu chuẩn cao nhất.

35. Không dành thời gian hướng dẫn những lập trình viên khác trong team

  • Đây là điều bắt buộc phải làm để team của bạn có thể phát triển ngày càng tốt lên.

Tôi nghĩ bất cứ lập trình viên nào cũng có những thói quen không tốt, điều đó hoàn toàn bình thường.

Để có thể nhìn lại chính mình qua 3 bước sau:

  • Nhận ra mình có những thói quen xấu
  • Tìm động lực để thay đổi thói quen đó
  • Biến động lực thành hành động để từ bỏ thói quen đó

Techtalk via Viblo

CHIA SẺ