12/08/2018, 17:16

Nguyên tắc quản lý thời gian cho developer

Lời nói đầu Phát triển phần mềm và web có thể rất hấp đãn, phần thưởng sau nhiều năm làm việc là hàng triệu đô la hoặc là một sự nghiệp thành công. Nhiều người trong số chúng ta chỉ quan tâm đến việc tồn tại, nhưng đó vốn chẳng phải là phục tiêu hay giấc mơ của thuở thiếu thời. Để kiếm nhiều ...

Lời nói đầu

Phát triển phần mềm và web có thể rất hấp đãn, phần thưởng sau nhiều năm làm việc là hàng triệu đô la hoặc là một sự nghiệp thành công. Nhiều người trong số chúng ta chỉ quan tâm đến việc tồn tại, nhưng đó vốn chẳng phải là phục tiêu hay giấc mơ của thuở thiếu thời.

Để kiếm nhiều tiền hơn, nhiều người tìm kiếm công việc làm thêm và không quan tâm đến bất cứ thứ gì khác ngoài lập trình. Chúng ta không thể nghỉ ngơi, không thể dành thời gian cho gia đình và bạn bè, chẳng thể làm điều gì khác ngoài công việc. Điều này dẫn đến stress và một cuộc sống không thoải mái.

Nhưng gượm đã, có một cách giúp cho cuộc đời ta tốt đẹp hơn, dễ dàng hơn. Sự thật là một vài nguyên tắc quản lý thời gian có thể giúp ta có một cuộc đời thành công và nâng mức độ phát triển phần mềm, web đến tầm có khả năng sinh lợi.

Đặt mục tiêu: dài hạn và ngắn hạn

Đầu tiên bạn phải biết điều gì là tốt hơn cho bản thân. Bạn muốn ở đâu sau 1 tuần, 1 quý, sau 2 năm, thậm chí sau 20 năm.

Lập kế hoạch

Napoleon từng nói chỉ những việc được lên kế hoạch chính xác mới sản sinh ra được kết quả như mong mốn. Đừng phớt lờ nguyên tắc này và hãy dành thời gian cho việc lập kế hoạch. Bạn phải nhớ rằng hỗn loạn không phải là kế hoạch. Tôi rất thích trích dẫn sau: "Đôi lúc tôi ngồi và suy ngẫm, đôi lúc tôi chỉ ngồi đấy mà thôi". Thông thường việc này tốn rất nhiều thời gian. Nếu bạn đang thấy rối bời, hãy làm việc khác, hoặc nhìn ra ngoài cửa sổ hoặc chỉ đơn giản là nhắm mắt thư giãn.

Nhớ thường xuyên cập nhật kế hoạch theo hướng thực tế nhé.

Nếu không thể lập kế hoạch, hãy theo dõi nó

Đừng lo nếu bạn không thể lên kế hoạch bây giờ, bạn có thể làm sau. Chỉ cần nhớ theo dõi bất cứ thứ gì bạn làm trên giấy, Excel hoặc sử dụng phần mềm quản lý công việc. Cập nhật danh sách mỗi 2 giờ, hoặc ít nhất là vào cuối ngày. Điều này sẽ giúp bạn tìm thấy những task gián đoạn và định kỳ, bằng cách đó bạn có thể lập kế hoạch cho tương lai.

Xem lại lịch trình của bạn và cố gắng tìm ra những việc không thực sự cần thiết, những việc có thể giao cho người khác, những việc có thể làm hiệu quả hơn hoặc nhanh hơn, những hoạt động lãng phí thời gian ...

Tạo to-do list

Thỉnh thoảng không có việc, và sau đó chúng ta nhớ ra có một số task quan trọng và khẩn cấp. Chỉ có một cách để tránh tình huống đó là tạo một to-do list những task cần làm. Thêm task vào danh sách mỗi khi nhận được từ sếp, từ đồng nghiệp hoặc tự bản thân nhận ra. Nếu bạn không truy cập được máy tính, hoặc không nhớ task đó là gì, hãy viết ra giấy và lưu vào danh sách ngay khi có thể.

Ước lượng thời gian cho mỗi task và tự đặt ra deadline cho bản thân. Điều này giúp bạn tránh phải làm quá nhiều việc vào phút cuối.

Ưu tiên

Drucker Dictum từng nói: "Làm việc đúng không quan trọng bằng làm đúng việc". Trong phát triển phần mềm có thể có những task mất rất nhiều thời gian mà sinh ra giá trị không mong muốn cho khách hàng, hoặc thậm chí chẳng tạo ra bất cứ giá trị nào. Chẳng hạn, viết một biểu thức chính quy để tạo array từ string hoặc viết ứng dụng CORBA để truy cập remote. Không có lời giải hoàn hảo cho việc này, nhưng một vài mẹo dưới đây có thể có ích:

  1. Hỏi khách hàng hoặc quản lý thứ tự ưu tiên của các task trước. Hãy làm điều này đầu tiên vì không phải khách hàng nào cũng có thể trả lời ngay lập tức
  2. Nếu đang bận làm task nào thì hãy làm xong task đó trước
  3. Để công bằng thì cứ task khoai nhất nên làm đầu tiên

Giao việc khi có thể

Nếu có ai đó có thể làm một phần công việc của bạn, và đang rỗi, đừng do dự chia sẻ công việc với họ. Đưa ra mục tiêu chứ không phải phương pháp, nhận trách nhiệm và giải trình. Mô tả task rõ ràng. Cung cấp một ví dụ để test.

Những quy tắc dưới đây có thể được dùng để xác định một task có thể được ủy nhiệm cho người khác hay không:

  1. Họ có làm tốt hơn hoặc nhanh hơn bạn không?
  2. Còn task nào khác quan trọng mà bạn phải làm không?
  3. Họ có thể hoàn thành công việc mà không cần bạn hỗ trợ hay không?
  4. Bạn thậm chí có thể giao việc cho sếp, nhưng đừng lạm dụng.

Trong môi trường nhiều dự án, công việc của cả nhóm không thể được phân phối đồng đều đến mọi member. Sẽ có người làm nhiều và làm ít. Theo lý thuyết ràng buộc của Goldrat, dự án không thể hoàn thành cho đến khi member chậm chạp nhất hoàn thành công việc. Bởi vậy việc phân chia công việc nên được làm ở trong team, không chỉ là quản lý giao việc cho developer. Quy trình này chỉ hiệu quả với những nhóm mà việc trao đổi thông tin dễ dàng và cởi mở, như nhóm làm theo XP hoặc agile.

Hoàn hảo chưa chắc đã tốt

Khi viết code, hoàn thành đúng giờ quan trọng hơn là tìm ra giải pháp hoàn hảo. Làm xong việc và bạn có thể chức năng khác sau. Làm tốt công việc và đúng giờ. Đừng quá chú trọng coding convention và code quality.

Chia nhỏ task khó

Mọi người thường tránh những task khó. Hãy chia nhỏ chúng ra, và hoàn thành từng bước một, bạn sẽ thấy vấn đề được giải quyết. Một cách tiếp cận hay là thêm lưu ý "how to test" cho mỗi task. Điều này sẽ tạo một mục tiêu nhỏ và giúp ta xác định mức độ hoàn thành của task.

Tìm ra khoảng thời gian lang phí

Con người sống trong xã hội, chúng ta đối mặt với nhau mỗi ngày mỗi giờ. Chúng ta có đồng nghiệp, bạn bè hoặc họ hàng. Họ có thể giúp bạn hoặc trì hoãn bạn theo nhiều cách. Ai đó hỏi bạn trực tiếp, qua điện thoại, tin nhắn, email. Điều này tạo ra những gián đoạn cũng như hao phí thời gian. Gián đoạn từ 6 - 9 phút thường mất thêm 4 - 5 phút để khôi phục. Năm lần như vậy là đi tong một giờ. Hãy luôn nghĩ cách hạn chế nó. Khó mà để tạo dựng một bức tường ngăn cách hay phớt lờ người khác. Chẳng hạn, bỏ qua cuộc gọi từ người bạn đời có thể dẫn đến những kết quả không mong muốn. Chỉ một cách để giảm việc tiêu tốn thời gian như vậy là tìm ra những việc hao phí thời gian mà lặp đi lặp lại. Khi bạn thấy được bức tranh toàn cảnh thì việc đưa ra quyết định sẽ dễ dàng hơn.

Lập kế hoạch nghỉ ngơi và thư giãn

Keith Frayn, giáo sư về lĩnh vực trao đổi chất ở con người tại đại học Oxford từng nói: "Bất kỳ một người bình thường nào cũng có thể sống sót đến 60 ngày chỉ bằng nước". Nhưng một số người không ngủ có thể giảm thời gian đó nhanh hơn. Năm 1964, một cậu học sinh cấp 3 Randy Gardner đã phá kỷ lục Guinness về thời gian không ngủ lâu nhất - 260 giờ. Stanley Coren mô tả hành động này ảnh hưởng đến Randy như thế nào trong cuốn sách Sleep Thieves. Randy đã gặp vấn đề tập trung vào ngày thứ 2, ảo giác vào ngày thứ 4, khó giao tiếp vào những ngày cuối cùng.

Đừng mong chờ hiệu quả nếu bạn mệt mỏi. Giấc ngủ giúp khôi phục trí nào và giúp chúng ta tỉnh táo. Hãy lập kế hoạch chính xác và ngủ đủ giấc.

Developer thường ngồi ít nhất 8 giờ mỗi ngày trước máy tính ở công ty. Điều này dẫn đến bệnh tật về thể chất lẫn tinh thần. Một trong những giác quan của chúng ta là mắt. Ngồi trước màn hình một thời gian dài sẽ làm hỏng thị lực của chúng ta. Hãy cố gắng mát xa và luyện tập mắt mỗi ngày vào một thời gian cố định.

Đừng ngại xin lời khuyên từ bạn bè hay đồng nghiệp

Hều hết mọi dự án IT đều có rủi ro, được khám phá từ lúc đầu hoặc không. Developer phải giải quyết chúng, và dù những rủi ro rất nhỏ cũng có thể mất cả ngày, thậm chí cả tuần. Để tránh mất thời gian hãy hỏi hoặc xin trợ giúp từ đồng nghiệp hay bạn bè. Tôi có nhiều ví dụ minh chứng quy tắc này có thể giảm rất nhiều thời gian cho task khó và tránh được một dự án thất bại. Một ví dụ từ trải nhiệm của tôi: khách hàng yêu cầu thêm chức năng bảo mật ứng dụng tránh bị crack. Một phần công việc là phải tải component từ server và load file DLL vào ứng dụng và không ghi lên ổ đĩa. Tôi đã không tìm ra bất kỳ thông tin nào hữu ích sau 2 giờ nghiên cứu. Tôi tạm ngưng chốc lát và thử gọi cho một vài người. Tôi đã hỏi một người bạn đang là developer ở công ty khác và cậu ấy đã giúp tôi. Cậu ấy gửi cho tôi một đường link hướng dẫn mà tôi đang tìm và vấn đề được giải quyết.

Tự thưởng cho bản thân

Mọi người đều muốn được tưởng thưởng, cụ thể là sau khi hoàn thành một thứ gì đó. Việc thiếu khen thưởng có thể giết chết đam mê trong công việc, dẫn đến thiếu hiệu quả. Đó là lý do tại sao chúng ta thích làm việc cho người khác hơn là làm gì đó cho chính bản thân. Hãy tự tặng cho mình một phần thưởng sau khi hoàn thành một task hay công việc. Chẳng hạn đi xem phim sau khi bạn hoàn thành một trang web hoặc một chức năng mới.

Tổng kết

Những mẹo quản lý thời gian trên chỉ là khởi đầu cho một cuộc sống mới. Tuân theo những nguyên tắc này mỗi ngày để có một sự nghiệp thành công, sức khỏe và thịnh vượng.

Nguồn: https://www.codeproject.com/Articles/11502/Time-Management-Tips-for-Developers

0