Giải mã thói quen của các DEV giỏi

Bạn có bao giờ tự hỏi các DEV giỏi họ có những thói quen như thế nào chưa? hãy cùng khám và và trải nghiệm để sớm trở thành một DEV giỏi nhé

1. Tinh thần, tính cách

  • Thích chia sẻ cho người khác, năng động, hoạt bát, xông xáo trong công việc
  • Đam mê với công việc, tự tạo tâm lý và động lực cho chính mình
    • Tự tìm cách relax khi gặp căng thẳng vd: nghe nhạc, xem đồng nghiệp có cần giúp đỡ gì ko, break ra khỏi công việc hiện tại trong 15-20′
    • Tự đặt mục tiêu cho bản thân và cố gắng hoàn thành mục tiêu
  • Giữ tinh thần luôn thoải mái, xác định được việc nào cần, quan trọng làm trước
  • Không chần chừ, do dự, muốn làm là làm ngay
  • Suy nghĩ tích cực
  • Đơn giản hóa mọi việc
  • Cẩn thận, tỉ mỉ
  • Cam kết, nỗ lực hoàn thành công việc đã nhận
  • Tập trung vào công việc, không phân tán vào việc riêng như nghịch điện thoại,…
  • Loại bỏ các yếu tố ngoại cảnh để tập trung vào chuyên môn bằng cách tự đặt câu hỏi: Tại sao mình ở đây? Có nên ở lại không? Nếu ở thì phải làm gì?
    -> Xác định là mình mang lại lợi ích cho công ty thì chắc chắn công ty sẽ có đãi ngộ tốt với mình -> Luôn tâm niệm phải làm ra sản phẩm tốt

2. Lập kế hoạch, kiểm soát công việc

  • Tự kiểm soát công việc, các task, nhắc việc bằng các công cụ khác nhau VD: Sticky Notes, Tasks trên Thunder bird
  • Thường xuyên cập nhật kế hoạch: việc nào đã làm, việc nào chưa, ước lượng lại thời gian hoàn thành những việc chưa làm
  • Sử dụng MindMap để xác định luồng, các trường hợp cần phải xử lý trước khi làm 
  • Khi code, luôn bám theo file MindMap để ko bị thiếu, sót và không bị lệch với phương án thi công đã vạch ra
  • Trong các buổi họp bàn giải pháp hay review: tự ghi chép nhanh ra giấy để ghi nhớ và ko để sót vấn đề

3. Trước khi code

  • Trước khi đi hỏi thường giành thời gian tìm hiểu trước vấn đề, cần xin ý kiến chuẩn bị sẵn ý tưởng để đề xuất, tránh bị ảnh hưởng từ người được hỏi
  • Tìm hiểu xem công việc này ai đã từng làm, gặp phải những vấn đề gì, có kinh nghiệm gì hay ko
  • Làm rõ vấn đề trước khi code
  • Dành 50% thời gian tìm giải pháp (xem thế giới làm như nào,…) rồi mới bắt tay vào code
  • Suy nghĩ trước về cách kiểm chứng kết quả

4. Khi code

  • Comment các bước, mã giả trước khi code
  • Tách nhỏ hàm, càng nhỏ càng tốt, dễ kiểm soát và tái sử dụng
  • Trong quá trình làm, thấy có gì đó bất ổn, sẽ trao đổi ngay với cấp trên và đề xuất theo đổi theo giải pháp mà mình thấy đúng
  • Luôn nghĩ xem có giải pháp nào tốt hơn không, đào sâu suy nghĩ, tìm tòi từ các nguồn khác (search internet ngoài giờ,…) để tìm giải pháp tốt hơn
  • Ham học hỏi:  Không biết thì phải hỏi, muốn giỏi thì phải học. Không thấy ngại, xấu hổ khi hỏi nhiều.

5. Cập nhật kiến thức, nâng cao chuyên môn

  • Thường xuyên đọc các new features của ngôn ngữ, OS, flatform mới…
  • Tìm hiểu, cập nhật công nghệ mới qua các trang tin tức, diễn đàn công nghệ
    • Đăng ký thành viên và đọc các chủ đề quan tâm và nhận mail khi có bài viết mới
    • Tích cực viết các bài chia sẻ, thảo luận
    • Hay xem các video tutorial về kỹ thuật code, tips & tricks mới
    • Thích chia sẻ công nghệ với bạn bè
  • Thường tự mày mò làm các sample nhỏ, các project cá nhân để năng cao kỹ năng, để kiểm chứng 1 công nghệ/công thức/thuật toán
  • Tham gia các hội thảo về công nghệ
  • Mở rộng mối quan hệ với người trong ngành để trao đổi, hỏi han khi cần
  • Đọc code các opensource trên mạng xem code trên thế giới viết như thế nào, xem video hướng dẫn cách/lý do tại sao code thế
  • Follow các trang như Slideshare (mục Personal Development,…) để có tư tưởng tích cực, tầm nhìn rộng hơn

6. Quan sát, tích lũy kinh nghiệm

  • Hiểu cơ thể mình, xác định được khung giờ mà mình làm việc hiệu quả nhất. VD: từ 9h-11h giành làm các công việc khó, phức tạp
  • Thích làm việc với dev giỏi, chịu khó để ý, quan sát các kỹ năng của dev giỏi khi làm việc cùng
  • Thích test lại chức năng mình đã code, nghĩ xem có cách nào làm tốt hơn không (kể cả khi chức năng đã delivery cho KH). Lựa chọn cách thức thử sai để lựa chọn giải pháp tối ưu
  • Giành thời gian tìm hiểu các phần việc khác trong dự án, để hiểu hơn về hệ thống và xử lý rất nhanh khi đc giao công việc liên quan đến nó
  • Ghi lại những kinh nghiệm của bản thân thành 1 thư viện riêng hệ thống lại những gì mình đã gặp phải. Lưu lại source code của cá nhân (sample/pilot) để reuse khi cần

7. Đào tạo, hướng dẫn, hỗ trợ

  • Thường áp dụng pair programing với dev mới
  • Khi debug, sửa bug cho dev khác: nhìn tổng quát vấn đề, chỉ cho dev luồng đi, giải thích nguyên nhân gây lỗi chứ không chỉ tập trung sửa xong bug đó, sửa xong dev vẫn ko hiểu nguyên nhân từ đâu, cách khắc phục ra sao

8. Sinh hoạt

  • Thể dục đều đặn, ăn uống, nghỉ ngơi điều độ
  • Thích chơi các game thiên về trí tuệ, tư duy logic, rèn khả năng quan sát, nhanh nhẹn
Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.