TIPS GIÚP CODER TĂNG HIỆU QUẢ CÔNG VIỆC

0
106
1. TRONG QUÁ TRÌNH LÀM VIỆC, LUÔN LUÔN PHẢI TẠO DOCUMENT ĐỂ LƯU LẠI CÁC HIỂU BIẾT, NHỮNG KIẾN THỨC HAY… GỌI CHUNG LÀ KNOWHOW ĐƯỢC PHÁT HIỆN VÀ TÍCH LŨY TRONG QUÁ TRÌNH LÀM VIỆC.

Có thể ngay tại thời điểm đó chúng ta cảm thấy rất rất hiểu một vấn đề nào đó và cảm giác như sẽ không bao giờ có thể quên được. Tuy nhiên trên thực tế thì não chúng ta không thể nhớ hết mọi thứ, khi chúng ta lâu không dùng đến các kiến thức đó, hoặc khi chúng ta nạp vào đầu những kiến thức mới phục vụ cho công việc mới thì các kiến thức đó sẽ dần dần bị xóa trong não để nhường chỗ cho kiến thức mới.Nếu chúng ta không lưu lại thì các kiến thức đó sẽ thất truyền, sau này khi cần sẽ lại phải nghiên cứu lại từ đầu. Tuy nhiên việc nghiên cứu lại này sẽ không phải là từ đầu và chắc chắn sẽ nhanh hơn rất nhiều nếu chúng ta có tài liệu lưu lại từ trước. Nếu các bạn có blog riêng thì quá ngon rồi, nhưng nếu chưa có blog hoặc không thích viết blog thì nên dùng GitHub để lưu tài liệu, vừa có thể truy cập từ bất cứ đâu, vừa có thể dễ dàng chia sẻ cho cộng đồng (những tài liệu nhạy cảm thì cất ở máy dùng riêng thôi nhé).

2. CÁCH TỐT NHẤT ĐỂ TÌM HIỂU LEGACY CODE LÀ DEBUG VÀ VẼ LẠI SEQUENCE.
  • Debug là cách tốt nhất để chúng ta có thể hiểu được chương trình hoạt động như thế nào, các module liên kết với nhau ra làm sao. Tuy nhiên không phải lúc nào chúng ta cũng có thể debug được vì có thể tại thời điếm đó chúng ta chưa thiết lập được môi trường để build, run và debug chương trình
  • Trog trường hợp không thể debug thì đành phải đọc code chay và tự hình dung ra các mà chương trình hoạt động
  • Nếu chỉ đọc và hiểu trong đầu nhưng không tạo document thì sẽ rất khó nhớ và nhanh quên. Để giải quyết vấn đề này mình khuyên các bạn nên vẽ lại UML diagram như component diagram (thể hiện kiến trúc tổng thể), sequence diagram cho các luồng xử lý chính của chương trình. Việc vẽ các diagram này sẽ giúp các luồng xử lý của chương trình nhập vào đầu chúng ta nhanh hơn. Những lúc nào quên chỉ cần mở lại xem thì sẽ hiểu và nhớ ra rất nhanh.
    Một số tool vẽ UML mà mình hay dùng: AstahVisual Paradigm
3. LUÔN TÌM HIỂU VÀ BỔ SUNG NHỮNG THUẬT NGỮ MÀ MÌNH KHÔNG BIẾT

Trong các cuộc meeting, thảo luận của team có thể bạn sẽ bắt gặp những thuật ngữ lạ mà mình không biết. Đừng bỏ qua, hãy âm thầm note lại sau đó lên mạng search xem nó là cái gì để lần sau còn biết mà gật gù, hoặc đọc tài liệu kỹ thuật thì còn hiểu.

4. LUÔN ĐẶT CÂU HỎI TẠI SAO VÀ TÌM CÂU TRẢ LỜI

Bạn hãy luôn luôn tự đặt cho mình những câu hỏi đại loại như “TẠI SAO ?”“NHƯ THẾ NÀO ?”, “LÀ THẾ NÀO ?” và hãy tìm cho mình một Mentor tốt có thể giúp bạn giải đáp những thắc mắc đó hoặc tự mình tìm tòi để trả lời được những câu hỏi đó.Dần dần kho kiến thức trong đầu bạn sẽ được bổ sung và củng cố, bạn có thể giải quyết vấn đề một cách tự tin và nhanh chóng vì bạn hiểu bản chất của mọi việc. Khi đó bạn đã ở tầm cao rất mới, và lúc này hãy quay trở lại bàn về vấn đề salary với các manager của bạn. Nếu không vừa lòng, bạn hoàn toàn có thể kiếm một chỗ khác tốt hơn, bạn giỏi bạn có quyền mà.

5. CHỌN LỌC CÂU TRẢ LỜI TRÊN STACKOVERFLOW

Tất nhiên rồi, thời nay ông LTV nào mà chả search và copy code trên StackOverflow (SO). Lại nhớ hồi đầu search code trên SO mình còn copy cả code ở câu hỏi về chạy :))Các đồng chí newbie khi search code trên SO nhớ để ý nhé:

  1. Đọc câu hỏi xem có đúng với ý mình cần hỏi hoặc vấn đề mình đang gặp phải không. Nếu đúng thì sang bước 2, nếu không thì next
  2. Tìm câu trả lời có dấu tích xanh. Đây là câu trả lời giải quyết được vấn đề của người hỏi và sẽ hiện đầu tiên trong danh sách các câu trả lời
  3. Nếu không có câu trả lời tích xanh như trên thì hãy đọc những câu trả lời có nhiều upvote nhất, đừng mất thời gian vào các câu không có upvote hoặc upvote âm
6. CHỦ ĐỘNG TRONG CÔNG VIỆC
  • Chủ động report công việc cho leader, không để leader hỏi mới báo cáo ⇒ Leader rất thích member như thế này
  • Chủ động xin việc mới khi đã hoàn thành xong công việc được giao trước thời hạn ⇒ Leader sẽ nhìn bạn bằng con mắt khác: “Thằng này ngon đấy”
  • Khi phát hiện ra leader SAI, hãy tìm cách BẬT lại để gây ấn tượng. Nhưng không phải BẬT kiểu sồn sồn lên: “không phải thế”, “anh nói không đúng”, “anh sai rồi”, bala bolo, ect. Hãy trao đổi riêng và nói một cách cầu thị + tôn trọng đối phương: “theo em hiểu thì cái này nó thế này, cái lọ cái chai, …” ⇒ Nếu bạn đúng, leader sẽ tôn trọng bạn, lời nói của bạn sẽ có trọng lượng hơn. Nếu bạn có lỡ sai thì leader cũng không có lý do gì để chửi hay ghét bạn. Trường hợp bạn gặp phải leader hãm, đã ngu còn không biết tiếp thu, lại quay ra chửi bạn thì không còn lý do gì để ở lại cái team đấy nữa.
7. HÃY CODE ĐẸP

Code đẹp là triệu chứng, là biểu hiện của một LTV có tư duy logic mạch lạc, tư duy design tốt, có hiểu biết về ngôn ngữ lập trình mà họ đang sử dụng. Khi bạn có ý thức muốn code mình đẹp thì cũng là luyện cách tư duy, trình bày mạch lạc, logic. Ngoài ra ý thức đó sẽ thúc đẩy bạn học hỏi thêm về ngôn ngữ lập trình, design, các kỹ năng khác, vân vân và mây mây. Khi trình độ bạn lên thì code auto đẹp.

8. SỬ DỤNG TOOLS & TOYS MỘT CÁCH HỢP LÝ ĐỂ TĂNG HIỆU QUẢ CÔNG VIỆC

Nếu biết và sử dụng Tools & Toys hợp lý, năng suất và chất lượng công việc của bạn ngon hơn rất nhiều. Dưới đây là bộ Tools mà mình vẫn thường xuyên sử dụng trong công việc

  • Tìm kiếm File/Folder: Everything
  • Compare source code: WinMerge, Beyond Compare
  • Code Editor: Notepad++, Visual Studio Code
  • Binary Editor: HxD
  • IDE: Visual Studio, QtCreator, Android Studio
  • Vẽ UML: Astah
  • Chạy máy ảo: VirtualBox, VmWare
  • Ghi chú (đồng bộ lên cloud): Microsoft OneNote
  • SSH/SCP tool: MobaXterm

Tool là để phục vụ công việc của chính bạn nên bạn hãy sử dụng những tool mà bạn cảm thấy thoải mái nhất, nếu bạn thấy dùng Visual Studio Code thuận tiện và thoải mái hơn so với Vim thì đừng cố dùng Vim chỉ vì mấy thằng trong team bạn cũng dùng Vim.

9. DÀNH THỜI GIAN ĐỌC MỘT SỐ CUỐN SÁCH KINH ĐIỂN CHO LẬP TRÌNH VIÊN

Một vài cuốn sách mình đã đọc, thấy khá hay, áp dụng được nhiều vào thực tế, anh em có thể tham khảo

  • Clean Code by Robert C. Martin
  • The Pragmatic Programmer by David Thomas & Andrew Hunt
  • Code Complete by Steve McConnell
  • Design Patterns For Dummies by Steven Holzner
  • Lập trình và cuộc sống

———Nguồn: Phạm Minh Tuấn (Shun) – https://cppdeveloper.com/tech360/tip-coder-tang-level/

LEAVE A REPLY

Please enter your comment!
Please enter your name here