Engineering Daybooks — Ghi chép hàng ngày cho lập trình viên (Pragmatic Programmer #22)

Phong

Mở đầu

Series The Pragmatic Programmer đã đi được gần nửa chặng đường rồi. Đọc tới đây mình mới thấy cuốn sách này không chỉ dạy về code — nó dạy về cách tư duy, cách tổ chức công việc, và cách trở thành một người làm nghề tử tế. Hôm nay tới Topic 22, một chủ đề tưởng đơn giản mà mình thấy cực kỳ thực tế: Engineering Daybooks — hay nôm na là cuốn nhật ký kỹ thuật.

Ảnh: Lukas Blazek — Pexels

Engineering Daybooks

Câu chuyện mở đầu topic này khá thú vị. Dave (một trong hai tác giả) từng làm việc cho một công ty sản xuất máy tính nhỏ, ngồi chung với mấy anh kỹ sư điện và cơ khí. Ổng để ý thấy nhiều người trong số họ lúc nào cũng mang theo một cuốn sổ tay giấy, thường có cây bút cắm dọc theo sống lưng sổ. Thi thoảng đang nói chuyện, họ mở sổ ra ghi ghi chép chép cái gì đó.

Một hôm Dave hỏi thì mới biết — họ được đào tạo để giữ một cuốn engineering daybook, một loại nhật ký ghi lại tất cả những gì họ làm trong ngày, những thứ họ học được, bản phác thảo ý tưởng, số liệu đo đạc được — nói chung là bất cứ thứ gì liên quan tới công việc. Khi cuốn sổ đầy, họ ghi khoảng ngày lên gáy sổ, rồi để lên kệ cạnh những cuốn daybook trước đó.

Nghe quen không? Đúng rồi, đó chính là tổ tiên của cái mà dân dev bây giờ gọi là "dev journal", "learning log", hay "work diary" nhưng bằng giấy.

Ảnh: ThisIsEngineering — Pexels

Sách liệt kê ba lợi ích chính của việc giữ engineering daybook:

  1. Nó đáng tin cậy hơn trí nhớ. Não bộ con người vốn dĩ không được thiết kế để nhớ chi tiết — chúng ta quên, nhớ nhầm, và tự thuyết phục mình rằng "mình nhớ đúng". Còn cuốn sổ thì không. Ghi lại ngay khi đang làm, sau này đọc lại mới thấy giá trị.
  2. Nó cho bạn một nơi để chứa những ý tưởng chưa cần dùng tới ngay. Bao nhiêu lần bạn đang code dở việc A nhưng tự nhiên nảy ra ý tưởng cho việc B, rồi sợ quên nên nhảy sang B, rồi lại bỏ dở cả A lẫn B? Cuốn sổ là bãi đỗ tạm cho mấy ý tưởng đó.
  3. Nó hoạt động như một con rubber duck. Viết ra vấn đề buộc bạn phải suy nghĩ rõ ràng hơn. Nhiều khi đang viết, tự dưng bạn nhận ra câu trả lời — giống như giải thích bug cho con vịt cao su vậy.
Ảnh: alleksana — Pexels

Cảm nhận của mình

Thiệt tình là đọc tới topic này mình thấy hơi... ngại. Tại vì mình từng thử giữ journal mấy lần rồi, nhưng lần nào cũng bỏ giữa chừng. Lần đầu dùng Notion, lần sau dùng Obsidian, lần sau nữa thử viết tay — cả ba lần đều không trụ nổi quá một tuần.

Cơ mà càng làm dev lâu, mình càng thấy cái giá trị của việc ghi chép. Có những lần debug cả buổi chiều một con bug, tìm ra nguyên nhân xong thì mừng quá, đóng laptop đi ăn tối. Ba tháng sau, gặp lại bug tương tự — không nhớ gì hết, lại vật nhau từ đầu. Nếu mà mình ghi lại hồi đó, chắc mất có 5 phút đọc lại.

Mình cũng thấy cái hay của việc dùng giấy như tác giả khuyên. Giấy thì không có app notification, không có wifi, không bị phân tâm. Mở sổ ra, viết, xong. Nhanh hơn mở laptop, chờ boot, mở app, tạo note mới. Nhưng thành thật mà nói, mình là dân kỹ thuật số, thích search Ctrl+F hơn là lật sổ giấy. Chắc mình sẽ compromise: dùng digital nhưng giữ nguyên tắc "ghi ngay, không filter, không tổ chức trước" — viết xong rồi hẵng nghĩ tới tổ chức sau.

Cái mình tâm đắc nhất là ý tưởng archiving — một cuốn sổ đầy, ghi date lên gáy, để lên kệ. Đó không chỉ là kho kiến thức, mà còn là minh chứng cho sự trưởng thành của mình qua thời gian. Nhìn lên kệ thấy 5-6 cuốn sổ, tự nhiên thấy tự tin hơn — "à, mình đã đi qua bao nhiêu thứ rồi đấy."

Kết

Topic 22 tuy ngắn nhưng gói gọn một thói quen cực kỳ đơn giản mà mạnh mẽ: ghi lại những gì mình làm mỗi ngày. Không cần app xịn, không cần template phức tạp — chỉ cần một cuốn sổ, một cây bút, và sự kỷ luật. Dân dev bây giờ có đầy tool xịn, nhưng đôi khi thứ cần nhất lại là thứ cơ bản nhất.

Bài sau mình sẽ đọc tiếp về chủ đề gì trong Chapter 3 — The Basic Tools. Hóng dữ hông? 😄