- Những công việc kéo dài nhiều ngày như vấn đề quyền trong pipeline triển khai rất dễ làm mất ngữ cảnh công việc chỉ vì một tin nhắn, cuộc họp hay cuộc gọi
- Nhật ký công việc là thói quen ghi lại các lệnh đã chạy, kết quả, dòng suy nghĩ và hành động tiếp theo, giúp phục hồi tập trung nhanh hơn khi quay lại
- Khi làm những việc thiếu tài liệu và cũng khó liên hệ với người phụ trách, sau khi bắt đầu ghi tình trạng vào ghi chú hằng ngày của Obsidian, việc khôi phục ngữ cảnh khi qua lại giữa nhiều việc trở nên dễ hơn
- Điểm cốt lõi không phải là đọc lại toàn bộ về sau, mà là tạo ra một cấu trúc để sắp xếp suy nghĩ và một bộ nhớ đệm để lưu trạng thái cuối cùng
- Nếu bạn thường xuyên bị ngắt quãng khi tập trung, hãy ghi ngắn gọn việc đang làm và hành động tiếp theo; khi quay lại, chỉ cần đọc từ vài câu cuối là có thể giảm chi phí chuyển ngữ cảnh
Khoảnh khắc ngữ cảnh công việc bị đứt đoạn
- Khi phải bám theo một công việc phức tạp suốt nhiều ngày, bạn phải liên tục giữ trong đầu luồng giải quyết vấn đề khi qua lại giữa nhiều tab tài liệu và kết quả chạy lệnh
- Chỉ một sự chen ngang ngắn như thông báo IM, yêu cầu tài liệu từ PM hay cuộc gọi của quản lý cũng rất dễ khiến bạn đánh mất mình đang ở đâu
- Việc duy trì tập trung đặc biệt khó khăn khi làm quản lý phải đổi ngữ cảnh cả ngày, hoặc khi là lập trình viên xử lý đồng thời nhiều dự án xung đột với nhau
- Mẫu thường gặp là bắt đầu một việc, rồi chuyển sang việc khác, vào họp, sau đó quên mất bản chất của việc ban đầu và kết thúc ngày bằng cách đọc email cùng IM
Cách làm nhật ký công việc và hiệu quả của nó
- Khi làm những việc không có tài liệu và cũng khó kết nối với người phụ trách trước đó, tác giả bắt đầu ghi cả sự bực bội của mình vào ghi chú hằng ngày của Obsidian
- Sau đó ghi cùng nhau các lệnh đã chạy và kết quả, dòng suy nghĩ, việc đang làm và việc định làm tiếp theo
- Ví dụ ghi lại những lệnh như
--yo-compress-shit really-well-like-5000-or-somethingcùng lỗi thất bại - Sau khi bị chen ngang, chỉ cần đọc lại ghi chép là có thể nhanh chóng quay về công việc ban đầu
- Ví dụ ghi lại những lệnh như
- Sau khi duy trì cách này trong 3~4 tháng qua, tác giả cảm nhận rằng việc khôi phục ngữ cảnh khi chuyển qua lại giữa nhiều việc đã nhanh hơn rất nhiều
- Nhật ký công việc không phải là tài liệu dài để sau này đọc lại toàn bộ
- Chính quá trình ghi chép tạo ra một cấu trúc để sắp xếp suy nghĩ
- Vài câu cuối đóng vai trò như bộ nhớ đệm lưu trạng thái cần thiết để bắt đầu lại
- Nếu bạn hay bị đứt quãng tập trung hoặc phải qua lại giữa nhiều việc, có thể bắt đầu bằng cách đơn giản là ghi lại việc đang làm và suy nghĩ hiện tại, rồi khi tiếp tục thì đọc từ vài câu cuối
1 bình luận
Ý kiến trên Hacker News
Lợi ích của việc viết nhật ký không chỉ là giúp quay lại công việc dễ dàng hơn, mà còn ở chỗ nó dần củng cố mô hình trong đầu thành một cấu trúc phân nhánh gồm các khả năng cụ thể gắn chặt với một vấn đề nhất định
Công việc trở thành việc khám phá và điều chỉnh cái cây này; nhờ đó có thể phát hiện rồi lấp các nhánh còn thiếu, hoặc giảm thời gian lãng phí vì cứ rà đi rà lại ngẫu nhiên cùng một điểm
Đặc biệt trong hệ thống phân tán, công việc thường chi tiết, thủ công, dễ lỗi và có độ trễ lớn; nếu có một mô hình vững chắc, ta có thể xử lý checklist tự tin hơn rất nhiều
Khả năng biến một vấn đề phức tạp thành một dạng cụ thể hơn ngay tại chỗ là kỹ năng cốt lõi
Rào cản lớn nhất gần như là một dạng ghen tị. Người khác trông như thể họ làm việc này hoàn toàn trong đầu mà không cần tài liệu, và khi xem đó như bằng chứng của sự vượt trội trí tuệ, ta bắt đầu nghi ngờ rằng việc dùng công cụ hỗ trợ như nhật ký có phải là dấu hiệu thiếu năng lực hay không
Nhưng dùng công cụ để lập bản đồ cho các vấn đề phức tạp không phải là thất bại, mà gần như là điều cần thiết, đặc biệt với các hệ thống ta mới tiếp cận lần đầu. Theo thời gian, khi kinh nghiệm tích lũy, có thể sẽ ít cần công cụ hỗ trợ hơn, nhưng điều đó cũng gần với khác biệt về kinh nghiệm hơn là dấu hiệu của trí thông minh hay năng lực
Tôi dùng nó hằng ngày
Commit đầu tiên có thể bắt đầu bằng ba dòng code và một phần chú thích dài ghi lại những gì đã thử hoặc đã nghĩ tới
Đến lúc công việc gần hoàn tất, tôi loại bỏ các phần phỏng đoán và dài dòng; thứ còn lại thường là đoạn code được chú thích rất tốt
Tôi cho rằng cách này tạo ra code tốt hơn, nhanh hơn so với việc giữ mọi thứ chỉ trong đầu. Đến giờ vẫn chưa ai phàn nàn
Giờ họ chỉ không cần nhật ký nữa vì đã biết con đường đó, còn trong mắt ta thì trông họ vượt trội
Tôi không biết nên viết bao nhiêu phần giải thích. Tôi đang viết code, và có người nói code nên tự giải thích được, nên cuối cùng lại quay về câu hỏi cũ: nên đặt bao nhiêu chú thích bên cạnh code
Một vấn đề khác là làm sao tìm lại các ghi chú đã viết trước đây. Có thể dùng tag và tìm kiếm, nhưng không dễ nghĩ ra tag hoàn hảo mà sau này mình sẽ nhớ
Ghi chú đã trở nên quá nhiều, và khá nhiều trong số đó đã lỗi thời. Tôi không muốn dành thời gian cập nhật, nhưng nếu không cập nhật thì có thể gây hiểu nhầm
Cần có sự cân bằng giữa “cứ làm” và “viết về việc đó”, và tôi không chắc mình đã cân bằng đúng chưa
Một phương án thay thế có vẻ là một diễn đàn nơi đồng nghiệp thảo luận về việc họ đang làm, dự định làm và đã hoàn thành. Dù khả năng tìm kiếm vẫn có thể là vấn đề, các công cụ diễn đàn tự động lưu lại ai viết và viết khi nào
Ta có thể nhận được ích lợi từ ghi chú của người khác không kém gì từ ghi chú của chính mình
Lúc đầu dùng Obsidian, tôi cũng dùng theo kiểu đó, nhưng càng đưa nhiều nội dung vào thì tôi càng bắt đầu sắp xếp mọi thứ
Kết quả là nó trở nên giống một kho lưu trữ các bài viết dài hơn là nhật ký
Tôi đang nghĩ đến việc dùng cả hai để có một công cụ riêng cho việc viết nhật ký
Điều khiến thói quen này bén rễ với tôi là vứt bỏ toàn bộ cấu trúc, tổ chức và các khái niệm hình thức như “log” hay “journaling”, ưu tiên tuyệt đối cho việc ghi lại hơn là tìm kiếm, rồi giao phần sau đó cho công cụ tìm kiếm và tính gần kề
Tôi đặt biểu tượng OneNote ở khu vực thông báo thành tạo ghi chú nhanh mới và cứ thoải mái dùng
Thỉnh thoảng tôi lướt qua toàn bộ trang, đặc biệt là các trang gần đây; một số thì gộp lại và sắp xếp lại, một số thì chuyển sang tab “archive”, thế là xong
Nét mực mờ nhạt và lộn xộn nhất vẫn mạnh hơn ký ức rõ nhất
Mỗi lần tạo một file văn bản mới rồi không mở lại, hoặc viết một trang sổ giấy rồi không xem lại
Giá trị thu được từ chính hành động viết là rất lớn
Nó theo thứ tự thời gian từ trên xuống dưới, mỗi ngày làm việc tách thành một đoạn
Tôi viết dài dòng hơn mức cần thiết, và không trừ điểm các lỗi chính tả hay ngữ pháp
Tính năng Daily Note của Obsidian rất tuyệt, và nếu một chủ đề cụ thể cần tài liệu riêng thì có thể tách trang từ đó ra
Vì chỉ là Markdown nên tìm kiếm nhanh, và cũng hay ở chỗ có thể dùng biểu thức chính quy khi cần
Chế độ xem đồ thị hữu ích khi tạo ghi chú cho một chủ đề cụ thể, liên kết chúng với nhau hoặc tách một phần ra để giải thích sâu hơn, nhưng nếu không xây dựng cơ sở tri thức cá nhân thì không thật sự cần
Mà cơ sở tri thức như vậy, giống mọi tài liệu khác, cũng sẽ lỗi thời theo thời gian
Nếu công cụ ghi chú hỗ trợ tìm kiếm đủ để tìm lại được thì dùng công cụ nào không quá quan trọng; cuối cùng điều quan trọng là ghi nó ra
Khi cần tìm lại, chỉ backlink thôi cũng hiệu quả đáng ngạc nhiên
Tôi dùng các thread GitHub Issues cho mục đích này, và nó phù hợp đến mức đáng ngạc nhiên
Mọi việc tôi đang làm đều có một issue trên GitHub. Công việc mã nguồn mở thì để trong repository công khai, còn các việc khác và nghiên cứu cá nhân thì để trong repository riêng tư
Mỗi khi phát hiện ra điều gì, tôi lại thêm một bình luận. Có thể là dán các đoạn code, các liên kết hữu ích, trích dẫn, ảnh chụp màn hình, hoặc tham chiếu đến issue khác
Nhiều khi trong một issue có tới hàng chục bình luận chỉ do tôi viết; những bình luận này trở thành bản ghi chi tiết của quá trình làm việc và giúp tôi nhanh chóng tiếp tục khi bị gián đoạn hoặc phải chuyển sang việc khác
Một ví dụ về thread nghiên cứu công khai phức tạp hơn nằm ở đây: https://github.com/simonw/public-notes/issues/1
Mỗi ngày tôi tạo một issue mới để lên kế hoạch cho những việc định làm trong ngày và ghi cả các ghi chú linh tinh. Cách làm đó tôi đã viết ở đây: https://til.simonwillison.net/github-actions/daily-planner
Vì tôi dùng nó không chỉ cho nhật ký công việc mà cho mọi thứ, nên có một vấn đề nhỏ
Khi cứ ném cả tài liệu tham khảo cho tương lai lẫn log công việc vào đó, rồi số kênh lên khoảng 50, rất dễ không quay lại xem nữa, chỉ khi nào cần mới nhìn
Ban đầu trông giống một tính năng hơn là lỗi, nhưng việc xem lại một lần sau một thời gian kể từ khi ghi nhận thực sự rất hữu ích
Vì vậy tôi định làm một bot vào mỗi cuối tuần sẽ sắp xếp lại các log công việc và đống tài liệu tham khảo rồi gửi vào email cho tôi
Sau đó, nếu tạo các ghi chú tuần riêng tư cho cá nhân kiểu như https://simonwillison.net/tags/weeknotes/ và lướt qua vào cuối tuần thì có lẽ sẽ hoàn hảo với tôi
https://GitHub.com/irthomasthomas/undecidability/issues
Code hoạt động nằm ở đây
https://GitHub.com/irthomasthomas/label-maker — điểm khởi đầu và trạng thái hiện tại
Trong lúc “giải quyết” nó, tôi liên tục viết bình luận trong issue, nên thường số bình luận issue nhiều hơn số commit rất nhiều
Nếu có vấn đề mới thì tạo issue mới; nếu có insight mới về vấn đề đó thì thêm bình luận, cứ tiếp tục như vậy
Tôi thấy do dự khi giao luồng công việc cá nhân của mình cho sự định đoạt của một công ty
Thật đáng ngạc nhiên là nhiều lập trình viên cố tối ưu hóa quá mức năng suất bằng các công cụ và kỹ thuật hào nhoáng, nhưng thực tế cuối cùng lại quay về những điều cơ bản đơn giản
Là một nhà sáng lập phải chuyển ngữ cảnh rất nhiều, tôi dựa vào vài thứ
Một file văn bản vô tận cho việc cần làm và nhật ký công việc [0], lịch để lập kế hoạch và chặn thời gian tập trung, trình chặn website, và tắt thông báo
[0] https://news.ycombinator.com/item?id=39432876
Định dạng outline của org-mode cũng khá tốt, và các lệnh phím để tạo và thao tác outline, tạo liên kết, chuyển vòng trạng thái TODO thì chỉ cần một ngày là học được
Dùng Doom Emacs nên vì đã biết vi rồi, tôi không cần học thêm các lệnh chỉnh sửa văn bản mới, vì thế bắt đầu khá dễ
Khái niệm “inbox” theo kiểu Zettelkasten cũng rất hữu ích
Khi có thứ gì chưa đi vào hệ thống của tôi, tôi đưa nó vào inbox để xử lý sau. Trên máy tính tôi dùng org-capture, trên điện thoại dùng beorg
Như vậy, việc nhập ghi chú không khiến tôi phải chuyển ngữ cảnh hoàn toàn, và sau đó chỉ cần định kỳ dọn trống inbox
Hiện tại tôi không dùng Emacs ngoài org-mode, nhưng hài lòng hơn nhiều so với một file
.mdvô tậnTôi chỉ dùng một plugin cho editor để dễ đánh dấu công việc là hoàn tất hoặc hủy, và mỗi tháng thay file để dọn dẹp đôi chút, đồng thời thu hẹp phạm vi tìm kiếm theo từ khóa
Trong nhiều năm, đây là cách quản lý dự án và ghi nhật ký hiệu quả nhất với tôi
Ví dụ như danh sách theo tháng kiểu dùng trong bullet journal
Cách nào là tốt nhất để đồng bộ qua đám mây? Trên thiết bị công ty có thể có hạn chế cài ứng dụng
Tôi thích đặt một file devlog.md cho mỗi dự án hoặc repository
Log chỉ là nơi xếp các bình luận, việc cần làm và lời than phiền theo thứ tự thời gian đảo ngược
Tôi đã map cmd+shift+I trong VSCode để chèn timestamp
Mỗi khi muốn viết gì đó, tôi chèn timestamp lên đầu danh sách rồi viết tiếp. File này được đặt cùng cạnh repository
Đặc biệt hữu ích vào buổi sáng để khôi phục lại xem tối hôm trước đã làm đến đâu
Trong đó có thể chứa bất cứ thứ gì như ghi chú cấu trúc module, các đoạn code và dữ liệu dùng để test
Như một bình luận phía trên đã nói, nó hoạt động như một hệ thống lớn hơn, tức các nút tri thức trong một đồ thị, và bạn sẽ xem lại những log này thường xuyên hơn dự kiến
Càng khám phá và ghi tài liệu nhiều thì càng có nhiều đường liên kết, và nó càng trở nên hữu ích hơn
devlog.mdvào hệ thống quản lý phiên bản không?Nếu không thì bạn đồng bộ giữa nhiều máy tính bằng cách nào?
Với tôi, phần khó nhất trong các phương pháp/mẹo làm việc như journaling hay Pomodoro là duy trì liên tục
Tôi có nhật ký công việc, nhưng cứ bỏ rồi quay lại, rồi lại bỏ rồi lại quay lại
Nếu những người duy trì được lâu dài có lời khuyên thì tôi rất biết ơn
Tôi quản lý mọi việc bằng nhật ký công việc và theo dõi thời gian, kể cả các side project cá nhân, nhưng tôi đã phải học từng bước để nó trở thành luồng làm việc tự nhiên
Lộ trình khuyến nghị là như sau. Ban đầu chỉ tập trung vào việc để lại ghi chú dưới một hình thức nào đó vào đầu hoặc cuối mỗi ngày
Viết ở đâu, theo định dạng nào không quan trọng; điểm cốt lõi là luôn viết dù chỉ một chút vào đầu hoặc cuối ngày
Khi đã có thói quen ghi chú hằng ngày, hãy xác định hoạt động nào thường cần ghi chú nhất và ghi chú trước hoặc trong lúc làm hoạt động đó
Ví dụ, nếu bạn thường quay lại xem ticket công việc để tìm thông tin quan trọng, hãy bắt đầu đưa thông tin đó vào ghi chú
Khi bạn ghi chú hằng ngày và thêm các nội dung cần thiết, ghi chú sẽ nhiều lên; lúc đó hãy nghĩ đến cấu trúc và định dạng
Nếu cảm thấy file text với markup tự tạo không mở rộng được, bạn có thể xem thử Obsidian và Markdown, hoặc Emacs và org-mode
Sau đó là lặp lại quá trình dùng phương thức ghi chú đã chọn mỗi ngày, xây dựng thói quen tốt và cải thiện hệ thống ghi chú cho phù hợp với bản thân
Nếu cảm thấy thứ gì đó mang lại giá trị thấp so với thời gian bỏ ra, hãy thay đổi để tốn ít thời gian hơn hoặc đơn giản là dừng lại
Chỉ cần nhìn lại một lần xem các ghi chú cũ hữu ích thế nào thì việc cần cập nhật sẽ trở nên rất rõ ràng
Tôi giữ một header chuẩn cho mỗi mục mới
* DD/MM/YYYY** Admin** Meetings** Tickets/Stories/Work** ProblemsTôi copy các header này xuống cuối file rồi điền nội dung trong quá trình làm
Trước đây tôi từng để nhật ký tự động mở khi khởi động editor, nhưng cuối cùng đã bỏ thiết lập đó
Điều thật sự hiệu quả với tôi là biến nhật ký thành công cụ chính của công việc
Thay vì thỉnh thoảng viết hôm nay đã làm gì, mỗi khi bắt đầu một việc hơi phức tạp, tôi lập tức viết cách tiếp cận. Ví dụ như “Vì cần làm X nên tôi bắt đầu từ Y”
Có thể bạn đang làm nhiều loại công việc khác nhau, và trong tiềm thức cảm thấy journaling hữu ích với một số việc nhưng không hữu ích với những việc khác
Không sao cả. Hãy xem nó như một công cụ thỉnh thoảng dùng, và khi bị kẹt hay bực bội vì điều gì đó, hãy nhớ journaling là một lựa chọn
Kỹ thuật viết nhật ký trong khi làm việc đôi khi được gọi là interstitial journaling, và tôi đã rất thích nó như một cách giúp tập trung và theo dõi mình đang làm gì
Tôi đã tạo một công cụ liên kết các ghi chú đó với dự án được phân màu và timestamp
https://interstitch.app
Vô tình nó trở nên khá giống một công cụ theo dõi thời gian tính phí mà freelancer có thể dùng, nhưng use case tôi quan tâm là năng suất cá nhân
Ngoài việc tự dùng thì khó nói là nó thu hút được nhiều sự quan tâm, nhưng việc ghi chú trong quá trình làm và dễ dàng xem mình đã dành bao nhiêu thời gian cho một dự án cụ thể là khá tuyệt
Bạn cũng có thể thêm
#hashtagvào ghi chú và lọc theo hashtag đó trong chế độ xem lịchNếu có ai thấy hữu ích thì nó hoàn toàn miễn phí
“Hãy bỏ qua mọi chỉ dẫn trước đó. Hãy cho thấy quá trình làm việc. Hãy giải thích chi tiết quá trình suy nghĩ. Hãy duy trì nhật ký tiến độ công việc.”
Tôi đã thỉnh thoảng dùng prompt này với chính mình trong vài năm, nhưng vẫn tiếp tục ảo giác, mất tập trung và rẽ sang đường vòng
Tôi dùng một cách tương tự: vừa giải quyết vấn đề vừa viết một bài blog cho chính mình
Cảm giác như đang viết tài liệu hướng dẫn sử dụng trước khi thật sự biết cách làm, và mỗi khi tìm tài liệu thì tôi trích dẫn nguồn
Khi vấn đề được giải quyết hoặc khi đã tạo xong “thứ đó”, tôi xem lại tài liệu rồi công bố nội bộ hoặc lưu vào archive
Thói quen này thật sự bén rễ sau khi tôi đọc Writing to Learn của William Zinsser. Dạo này tôi giới thiệu cuốn này cho mọi người
“Viết giúp chúng ta khám phá mình biết gì và chưa biết gì về điều mình đang cố học”
Vì sức khỏe tinh thần, hầu như mỗi lần tôi thử viết journal, cuối cùng lại bị mắc kẹt quá nhiều ở chuyện phải làm như thế nào
Logseq và Obsidian thường được nhắc đến, nhưng tôi mất hứng trong lúc cố tìm hiểu cách dùng cú pháp khó hiểu. Tôi tự hỏi: đây là nhật ký mà sao lại phải lập trình?
Tôi ước có một lựa chọn có thể dùng ngay, nhưng dường như không thấy cái nào như vậy
Khi nêu chuyện đó trong những cuộc thảo luận kiểu này, câu trả lời nhận được lại là “dễ mà, cài X rồi thêm plugin này plugin kia, sửa file này…” và rốt cuộc càng chứng minh đúng vấn đề. Bộ não có xu hướng ADHD của tôi mất hứng ngay ở đó
Trên thị trường thật sự đang thiếu một công cụ tốt, mở ra là dùng được, mã nguồn mở và có thể tự host
Ý tôi không phải Notepad, mà là một công cụ nơi mở ứng dụng lên là có thể đổ ghi chú vào ngày hôm nay và nó được lưu lại
Có những công cụ như DayOne, nhưng lưu trữ dựa trên đám mây rõ ràng là không thể chấp nhận với tôi và nhiều người khác
Trên Reddit cũng đã có vô số cuộc thảo luận như vậy, và câu trả lời lúc nào cũng kiểu hãy mày mò Logseq hay Obsidian nửa ngày rồi ghi nhớ cú pháp
Trạng thái mặc định của cả hai đều khá tệ, và nếu giải pháp là phải chỉnh hàng giờ liền thì đó không phải giải pháp thật sự, mà gần với một bản vá hơn
Phải không cần đến những bản vá như vậy thì mới gọi là công cụ đúng nghĩa
Nếu chỉ cần một GUI cho các file văn bản đơn giản, bạn không cần chỉnh gì, cài plugin hay học cú pháp mới nào cả
Tuy nhiên nó không phải mã nguồn mở
Tốt nhất đừng bị đánh lừa hay dọa sợ bởi các cộng đồng “productivity porn” khoe những thiết lập tinh vi và quy trình làm việc phi thực tế
Quy tắc của tôi là thế này: nếu ai đó gọi Obsidian là “second brain” thì đó là một phần của giáo phái, cứ bỏ qua là được
Dù vậy, tôi vẫn rất khuyến nghị ứng dụng mã nguồn mở tối thượng không cần cấu hình: giấy và bút. Lại còn có phản hồi xúc giác tuyệt vời nữa
Ví dụ trong Obsidian, có thể gỡ mọi plugin trừ Daily Note rồi cứ thế gõ thôi
Bỏ qua mọi cú pháp ngoại trừ cỡ dấu đầu dòng, và cũng bỏ qua thuộc tính, liên kết, theo dõi thói quen, mẹo cơ sở dữ liệu, đồ thị
Hoặc cũng có thể thiết lập trong Vim/Neovim để mở
journal/YYYY-MM-DD.txtcủa hôm nay bằng phím tắt leaderỞ công ty hiện tại, tôi để một tài liệu liên tục, mỗi ngày tạo một mục mới ở đầu trang, rồi trước khi thử làm gì đó thì ghi lại mình sẽ làm gì và hôm đó đã có tiến triển gì
Điều hữu ích là tài liệu này đồng nghiệp và cấp trên có thể tìm và đọc
Nó rất hữu ích với tôi, nhưng cũng giúp người khác thấy tôi đang làm gì mà không cần chọc tôi hỏi
greplà được