15 điểm bởi baeba 4 giờ trước | 2 bình luận | Chia sẻ qua WhatsApp

Mục lục

Chia sẻ những insight cốt lõi thu được khi đọc 45 cuốn sách kỹ thuật trong 2 năm qua, đồng thời nhìn lại tác động của chúng đến việc hình thành tư duy của một kỹ sư phần mềm, đặc biệt là hiểu biết sâu hơn về thời đại AI và quy trình phát triển hiệu quả.

Giới thiệu podcast và nhìn lại 2 năm

Giới thiệu Book Overflow

  • Đây là podcast về sách kỹ thuật dành cho kỹ sư phần mềm, với mục tiêu nâng cao năng lực bằng cách đọc những cuốn sách kỹ thuật hay nhất mỗi tuần.

Kế hoạch tập kỷ niệm 2 năm

  • Nhân dịp podcast tròn 2 năm, họ nhìn lại tất cả những cuốn sách đã đọc trong 2 năm qua và chia sẻ một insight duy nhất đáng nhớ nhất từ mỗi cuốn sách, vẫn còn ảnh hưởng đến hiện tại.

  • Không chỉ dừng ở việc nhớ nội dung sách, trọng tâm là các cuốn sách đó đã ảnh hưởng thế nào đến việc hình thành tư duy của họ với tư cách kỹ sư phần mềm.

Những thay đổi trong 2 năm qua

  • Hai host của podcast, Carter và Nathan, đã trải qua nhiều thay đổi lớn trong đời sống cá nhân trong 2 năm qua.

    • Nathan chuyển sang một quốc gia khác, cả hai đều hoàn thành chương trình cao học, và Nathan đang chờ đón đứa con sắp chào đời.

    • Công việc của họ cũng có thay đổi. Nathan chuyển sang làm tư vấn toàn thời gian, còn Carter rời Big Tech để gia nhập startup.

  • Họ bày tỏ lòng biết ơn vì chính sự ủng hộ và quan tâm của thính giả đã giúp podcast có thể tiếp tục duy trì giữa những thay đổi cá nhân đó.

Insight cốt lõi theo từng sách kỹ thuật chính

The Practice of Programming (Brian Kernighan, Rob Pike)

  • Insight cốt lõi: Cuốn sách chứa đựng triết lý lập trình làm nền tảng cho ngôn ngữ Go; dù một số nội dung đã lỗi thời, các ý tưởng cốt lõi vẫn còn giá trị.

    • Với tư cách là lập trình viên Go và là fan của Rob Pike, họ nhớ đến cuốn sách này và hồi tưởng rằng những ý tưởng cốt lõi về lập trình tốt đã xuất phát từ đây.

    • Cũng có nhắc đến việc một số nội dung, chẳng hạn như CSV parser, đã lỗi thời.

A Philosophy of Software Design (John Ousterhout)

  • Insight cốt lõi: Khái niệm “thiết kế hai lần” (Design It Twice) nhấn mạnh rằng thay vì cố thiết kế hoàn hảo ngay từ đầu, ta có thể đạt được thiết kế tốt hơn thông qua quá trình xây dựng hệ thống, học hỏi và cải thiện.

    • Trong thời đại AI, việc tận dụng LLM giúp giảm công sức cần thiết để thiết kế hai lần, từ đó cho phép thiết kế hiệu quả hơn.

    • Dù được xuất bản năm 2018, cuốn sách này vẫn có ảnh hưởng lớn và đã được trích dẫn trong nhiều sách khác.

  • Những insight bổ sung

    • Cuốn sách đưa ra các ý tưởng mạnh mẽ về cách tiếp cận đóng gói độ phức tạp, thiết kế interface và xử lý lỗi.

    • Qua cuộc phỏng vấn với tác giả John Osterhout, họ đã được nghe quan điểm và phê bình của ông về TDD.

Refactoring: Improving the Design of Existing Code (Martin Fowler)

  • Insight cốt lõi: Refactoring có thể dừng lại bất cứ lúc nào cũng không sao; vì đây là công việc cải thiện thiết kế mà không thay đổi output của code, nên có thể tiến hành đều đặn theo từng đơn vị nhỏ.

    • Nhiều người thường hiểu nhầm refactoring là viết lại toàn bộ code, nhưng định nghĩa của Fowler được giới hạn trong phạm vi rất hẹp.
  • Ví dụ áp dụng thực tế

    • Gần đây, trong quá trình cải thiện việc dùng Next.js và React để tối ưu hiệu năng cho roborobato.com, họ đã áp dụng refactoring đúng nghĩa.

    • Họ tái cấu trúc code mà không thay đổi tính năng hay UI, chia thành 5 commit để có thể review và áp dụng dễ dàng.

What Is ChatGPT Doing and Why Does It Work? (Stephen Wolfram)

  • Insight cốt lõi: Cuốn sách giúp hiểu cách LLM hoạt động, đặc biệt là cơ chế dự đoán token tiếp theo và khái niệm temperature.

    • Nó giải thích rằng tính ngẫu nhiên nội tại trong LLM chính là yếu tố tạo nên sức mạnh của chúng.
  • Giá trị của cuốn sách

    • Cung cấp một phân tích có cấu trúc tốt, giải thích chủ đề phức tạp theo cách dễ hiểu.

    • Cung cấp vốn từ vựng và framework nền tảng để hiểu LLM, và đây vẫn là kiến thức quan trọng.

Fundamentals of Software Architecture (Mark Richards, Neal Ford)

  • Insight cốt lõi: Cuốn sách nhấn mạnh tầm quan trọng của năng lực “bán” tầm nhìn kiến trúc cho các bên liên quan cả kỹ thuật lẫn phi kỹ thuật, và xem đây là một yếu tố nền tảng của kiến trúc.

    • Cần liên tục giao tiếp và chứng minh giá trị của mình; thái độ kiểu “cứ làm theo lời tôi nói” là không phù hợp.
  • Các nguyên tắc bổ sung

    • Không ở trong “tháp ngà”, mà phải đồng hành với code và team, trực tiếp trải nghiệm thiết kế, đi trước vài bước và dự đoán các vấn đề tiềm ẩn.

    • Cuốn sách nhấn mạnh vai trò của ADR (Architectural Design Document), cho rằng việc ghi lại và phát triển quá trình ra quyết định là rất quan trọng.

    • Để tránh “hiện tượng Groundhog Day”, việc ghi lại và chia sẻ các quyết định là điều thiết yếu.

The Clean Coder (Robert C. Martin, “Uncle Bob”)

  • Insight cốt lõi: Cuốn sách khám phá ý nghĩa của tính chuyên nghiệp thực sự, đặc biệt đưa ra quan điểm cấp tiến của Uncle Bob về deadline và việc đưa ra estimate.

    • Trong văn hóa kỹ thuật, việc nhầm lẫn giữa estimate và deadline là khá phổ biến, nhưng để có tính chuyên nghiệp thì cần phân biệt rõ hai khái niệm này.
  • Đặc điểm của cuốn sách

    • Cuốn sách chứa nhiều câu chuyện, giúp người đọc hiểu sâu hơn về nhân vật Uncle Bob.

    • Sách được viết tốt, dễ đọc và phù hợp để đọc từ đầu đến cuối.

Working Effectively with Legacy Code (Michael Feathers)

  • Insight cốt lõi: Code khó thay đổi hoặc khiến ta sợ thay đổi là code được thiết kế chưa tốt, và bất kỳ ai cũng có thể làm cho code trở nên dễ thay đổi hơn.

    • Legacy code được định nghĩa là code không có test coverage hoặc code mà ta không hiểu cách nó hoạt động.

    • Cuốn sách đưa ra hướng dẫn về cách bắt đầu khi đó không phải là dự án greenfield hoặc khi ta thiếu quyền kiểm soát đối với codebase.

  • Giá trị của cuốn sách

    • Mỗi phần đều độc lập nên rất phù hợp để dùng làm tài liệu tham khảo; hiệu quả hơn là tìm đọc phần cần thiết thay vì đọc từ đầu đến cuối.

Web Scalability for Startup Engineers (Artur Ejsmont)

  • Insight cốt lõi: Ở giai đoạn đầu của startup, điều quan trọng là di chuyển nhanh thay vì theo đuổi tối ưu hóa quá mức hoặc tính sẵn sàng cao; cần đầu tư vào đúng thời điểm.

    • Startup giai đoạn đầu không nên cố đạt khả năng chịu lỗi hoàn hảo hay tính sẵn sàng cao khi còn ít khách hàng.
  • Giới hạn theo thời đại và đề xuất

    • Nội dung sách đề cập là những chủ đề quan trọng trong thập niên 2010, nhưng hiện nay nhiều phần đã được các công ty SaaS và PaaS giải quyết.

    • Phiên bản mới cần được cập nhật thành một handbook dành cho nhà sáng lập lần đầu hoặc lãnh đạo kỹ thuật.

Recoding America (Jennifer Pahlka)

  • Insight cốt lõi: Cuốn sách cho thấy sự kém hiệu quả của phần mềm chính phủ và khả năng cải thiện, đồng thời nêu ra khả năng rằng phần mềm chính phủ hoàn toàn có thể được xây dựng với chất lượng tốt.

    • Phần mềm chính phủ được đánh giá dựa trên việc có hoàn thành checklist hay không, nên việc nó có thực sự thực hiện chức năng hay không không được xem xét quan trọng.

    • Cuốn sách nhấn mạnh tầm quan trọng của việc áp dụng các nguyên tắc cốt lõi của Agile — “hợp tác chặt chẽ với khách hàng” và “liên tục bàn giao phần mềm chạy được” — vào phát triển phần mềm chính phủ.

Building Evolutionary Architectures (Neal Ford, Rebecca Parsons, Patrick K. Kua, Pramod Sadalage)

  • Insight cốt lõi: Thông qua khái niệm “hàm fitness” (Fitness Functions), cuốn sách đưa ra cách đánh giá khách quan liệu hệ thống có hoạt động như kỳ vọng hay không và cách xây dựng kiến trúc có thể tiến hóa.

    • Hàm fitness là thiết yếu để theo dõi quá trình tiến hóa của hệ thống và xác nhận rằng các quyết định thiết kế đang hoạt động đúng như dự định.

    • Cần tổ chức team và thiết kế hệ thống có tính đến ảnh hưởng của cấu trúc tổ chức, chẳng hạn như Định luật Conway, lên kiến trúc phần mềm.

Looks Good to Me (Adrian Bergeron)

  • Insight cốt lõi: Dù không nhớ lời khuyên cụ thể trong sách, cuốn sách đã một lần nữa nhắc họ nhớ về tầm quan trọng của pull request (PR).

  • Nhìn lại quá trình migration gần đây ở công ty, khi việc review PR chưa được chú trọng đúng mức, tôi cảm thấy cần xem lại cuốn sách này.

  • Giá trị của cuốn sách

    • Cung cấp chỉ dẫn tốt về việc định nghĩa khế ước xã hội và tiêu chuẩn trong đội ngũ.

    • Sách kỹ thuật hữu ích khi cần xem lại và phát triển ý tưởng.

Slow Productivity (Cal Newport)

  • Insight cốt lõi: Thông qua thông điệp “làm ít hơn và tập trung vào công việc có ý nghĩa”, sách cảnh báo về năng suất giả (pseudo-productivity) và nhấn mạnh việc tập trung vào các hoạt động có giá trị cao.

    • Đây là cuốn sách thể hiện lối tư duy sâu sắc của Cal Newport; ông đã cắt giảm các hoạt động không cần thiết để tập trung vào những việc quan trọng như vận hành podcast.

    • Càng tích lũy kinh nghiệm, ta càng phải tập trung vào các hoạt động có đòn bẩy và giá trị cao nhất; năng suất giả sẽ cản trở điều đó.

The Unicorn Project (Gene Kim)

  • Insight cốt lõi: Giải thích tầm quan trọng của quy trình DevOps từ góc nhìn kỹ nghệ phần mềm, đồng thời nhấn mạnh rằng cần giải quyết các vấn đề gốc rễ để tăng tốc độ phát triển.

    • Một hệ thống phụ thuộc vào release manager là kém hiệu quả; thông qua quy trình tự động hóa, bất kỳ ai cũng nên có thể quản lý việc release.
  • Cấu trúc và ảnh hưởng của cuốn sách

    • Khác với tác phẩm trước đó, The Phoenix Project, sách giải thích DevOps từ góc nhìn kỹ nghệ phần mềm, nên có thể áp dụng cho nhiều developer hơn.

    • Truyền tải nội dung kỹ thuật một cách dễ hiểu dưới dạng ngụ ngôn, đồng thời dẫn dắt xu hướng kết hợp câu chuyện vào sách kỹ thuật.

Tidy First (Kent Beck)

  • Insight cốt lõi: Nhấn mạnh giá trị của “Optionality” trong cấu trúc code, tức tính linh hoạt và khả năng mở rộng; điều này tương tự giá trị thời gian, tạo ra lợi ích tiềm năng trong tương lai.

    • Khi viết code lần đầu, rất khó dự đoán các chức năng sẽ cần trong tương lai, vì vậy điều quan trọng là viết theo cách có thể thay đổi linh hoạt.
  • Đặc điểm và giá trị của cuốn sách

    • Đây là một cuốn sách ngắn gọn, súc tích nhưng mang lại insight sâu sắc và khiến người đọc cảm nhận được niềm vui trong phát triển phần mềm.

    • Việc áp dụng ý tưởng từ các ngành khác, như giao dịch quyền chọn, vào phần mềm là bằng chứng cho sự trưởng thành trong phát triển.

Unix: A History and a Memoir

  • Insight cốt lõi: Giúp hiểu cách hoạt động và tầm quan trọng của “pipes”, một trong những khối xây dựng cốt lõi của Unix.

    • Nhờ triết lý Unix, trong đó mỗi chương trình nhận đầu vào và trả về đầu ra, ta có thể dễ dàng nối đầu ra giữa các chương trình bằng toán tử pipe.
  • Vai trò của Doug McIlroy

    • Doug McIlroy đóng vai trò quan trọng trong việc hợp nhất các ý tưởng Unix thông qua pipe và góp phần hình thành triết lý Unix.

The Twelve-Factor App

  • Insight cốt lõi: Đưa ra 12 nguyên tắc để xây dựng ứng dụng cloud-native; nếu áp dụng sai, các nguyên tắc này có thể làm tăng độ phức tạp.

    • Đây là các nguyên tắc được tạo ra thời Heroku; khi nhìn vào những nguyên tắc cơ bản, người đọc dễ dàng thấy hợp lý.

    • Tương tự việc áp dụng một công nghệ cụ thể như Kubernetes mà không hiểu rõ, các nguyên tắc này cũng có thể bị dùng sai.

The Agile Manifesto

  • Insight cốt lõi: Agile là phản ứng trước mô hình waterfall, với mục tiêu nhanh chóng chuyển giao phần mềm hoạt động được và nhanh chóng phản ánh phản hồi của khách hàng.

    • Cốt lõi của Agile là hợp tác chặt chẽ với khách hàng và các bên liên quan để cải tiến phần mềm theo vòng lặp.
  • Cách áp dụng hiện đại và phê bình

    • Bản chất của Agile đã quen thuộc với nhiều developer, nhưng nếu không nỗ lực có ý thức, ý nghĩa của nó rất dễ bị đánh mất.

    • Vì Agile đã ăn sâu vào phát triển phần mềm hiện đại, nó khiến ta nhìn lại cách làm hiện có hơn là học một điều hoàn toàn mới.

    • Agile từng rất hiệu quả như một phản ứng đối với mô hình waterfall, đồng thời nhấn mạnh rằng do độ phức tạp của phần mềm, việc chuyển giao giá trị theo đơn vị nhỏ quan trọng hơn lập kế hoạch dài hạn.

The Software Engineer's Guidebook (Jorge Orozco)

  • Insight cốt lõi: Cùng với sự phát triển nghề nghiệp, cần tập trung vào các công việc có đòn bẩy cao và chủ động quản lý sự nghiệp của mình.

    • Sách nhấn mạnh tầm quan trọng của manager và sponsor: manager ủng hộ bạn để được thăng tiến, còn bạn cần nỗ lực đáp ứng kỳ vọng đó.
  • Đặc điểm của cuốn sách

    • Tương tự newsletter The Pragmatic Engineer, sách cung cấp lời khuyên thực tế về quản lý sự nghiệp.

    • Cung cấp framework cần thiết để hiểu những lộ trình nghề nghiệp phức tạp và chủ động quảng bá bản thân.

Hypermedia Systems (Carson Gross, et al.)

  • Insight cốt lõi: Thông qua các công nghệ như HTMX, có thể xây dựng ứng dụng web đủ động bằng server-side rendering, qua đó giảm nhu cầu về các client JavaScript phức tạp.

    • Tận dụng ưu điểm của hệ thống hypermedia, ý tưởng ban đầu của web, chỉ cần có đặc tả tốt thì có thể triển khai nhiều chức năng ở phía server, bất kể công nghệ backend là gì.
  • Ưu điểm và giới hạn của HTMX

    • Code viết bằng HTMX đơn giản nên dễ bảo trì, và có khả năng tồn tại lâu hơn các framework hiện đại.

    • HTMX có thể không phải là tương lai của phát triển web, nhưng quan điểm phản biện như vậy giúp ta đưa ra phán đoán tốt hơn với tư cách kỹ sư.

Team Topologies (Matthew Skelton, Manuel Pais)

  • Insight cốt lõi: Đội ngũ nên được tổ chức sao cho giảm thiểu các phụ thuộc lẫn nhau cần điều phối, và cấu trúc đội ngũ có ảnh hưởng trực tiếp đến kiến trúc phần mềm.

    • Team Topologies tập trung vào việc tối ưu hóa flow bằng cách giảm điều phối giữa các đội.

    • Vì cấu trúc đội ngũ quyết định cấu trúc phần mềm, cần thận trọng khi thiết kế đội ngũ.

Ace the System Design Interview (Alex Xu)

  • Insight cốt lõi: Trong phỏng vấn thiết kế hệ thống, điều quan trọng là dùng “back-of-the-napkin math” để ước tính quy mô và yêu cầu hiệu năng.

    • Nếu ghi nhớ các con số phổ biến như thời gian, kích thước dữ liệu và sử dụng chúng để cụ thể hóa yêu cầu hệ thống, ta có thể thiết kế dựa trên căn cứ thay vì phỏng đoán.

    • Ví dụ, khi cần xử lý số tweet mỗi giờ, nếu biết số byte mỗi tweet và độ dài tweet, ta có thể tính dung lượng lưu trữ và throughput cần thiết.

  • Cách vận dụng trong phỏng vấn

    • Khi suy nghĩ thành tiếng cùng người phỏng vấn và chia sẻ quá trình tính toán, bạn có thể nhận phản hồi và đưa ra thiết kế tốt hơn.

    • Điều quan trọng không phải chỉ là liệt kê các công nghệ mới nhất, mà là đưa ra căn cứ vì sao chọn một công nghệ cụ thể.

The Good News Factory (Kent Beck)

  • Insight cốt lõi: Để một đội phần mềm liên tục trở thành “nhà máy tin tốt” mang lại “tin tốt”, việc xây dựng clean code và hệ thống có khả năng mở rộng là điều thiết yếu.

    • Nếu đội không thể liên tục thể hiện kết quả tích cực, một câu chuyện tiêu cực có thể được tạo ra từ bên ngoài.
  • Đặc điểm của cuốn sách

    • Đây là cuốn sách dạng báo cáo ngắn gọn, súc tích, truyền tải hiệu quả thông điệp cốt lõi.

Thinking in Systems (Donella Meadows)

  • Insight cốt lõi: Thông qua khái niệm “stocks and flows”, sách giúp hiểu các đặc tính động của hệ thống và cung cấp một framework hữu ích để phân tích hệ thống phức tạp.

    • Giống như việc hiểu sự khác biệt giữa GDP (flow) và vốn hóa thị trường (stock), điều quan trọng là phân biệt trạng thái hiện tại của hệ thống với tốc độ thay đổi.
  • Giá trị của cuốn sách

    • Dù mang tính trừu tượng, sách cung cấp insight ở cấp độ cao cho tư duy chiến lược và tư duy hệ thống.

Grokking Concurrency (Karol Bobrov)

  • Insight cốt lõi: Điều quan trọng là “right-sizing” mô hình concurrency; cả việc chia quá nhỏ lẫn thiết kế quá rộng đều có nhược điểm.

    • Sách trình bày cách hiểu đơn vị công việc có thể song song hóa hoặc chia thành các tác vụ đồng thời, cũng như cách tinh chỉnh hệ thống.

Rework (Jason Fried, David Heinemeier Hansson)

  • Insight cốt lõi: Có thể biến trạng thái nhỏ bé và chưa được biết đến thành lợi thế để lặp lại, tái tạo và tạo nên thành công.

    • Bất lợi trước khi trở nên nổi tiếng có thể trở thành cơ hội đổi mới, và cần tận dụng điều đó để không bỏ lỡ lợi thế của thành công.
  • Đặc điểm và ảnh hưởng của cuốn sách

    • Đây là cuốn sách logic, được viết tốt, truyền cảm hứng cho những người muốn bootstrap hoặc xây dựng thứ gì đó không phù hợp với quan niệm thành công chủ lưu.
  • Qua các câu chuyện thành công của Basecamp và 37signals, cuốn sách chứng minh rằng triết lý của họ vẫn còn giá trị theo thời gian.

In the Plex (Steven Levy)

  • Insight cốt lõi

    • Khả năng các kỹ sư Google tự mình tái phát minh một cách sáng tạo những khái niệm phức tạp như lý thuyết đấu giá là kết quả có thể đạt được khi tuyển dụng và tin tưởng những người thông minh.

    • Thành công của startup không được đảm bảo, vì vậy cần không ngừng nỗ lực và đóng góp cho tương lai của công ty.

  • Mối liên hệ với tác giả

    • Tác giả Steven Levy là một cây bút xuất sắc, và cuốn sách khác của ông, 'Crypto', cũng rất đáng được đề xuất.

    • Trải nghiệm phỏng vấn tại một công ty mà một nhân vật xuất hiện trong sách hiện đang là CEO là điều rất thú vị.

Thinking Like a Large Language Model (Mukund Sundararajan)

  • Insight cốt lõi: Ký ức cụ thể về cuốn sách này đã mờ nhạt, nhưng nó đã giúp hiểu cách tư duy của LLM.

The DevOps Handbook

  • Insight cốt lõi

    • Cuốn sách cung cấp hướng dẫn về triển khai DevOps trong thực tế như pipeline CI/CD, rollback tự động, khả năng quan sát được cải thiện, qua đó nâng cao đáng kể năng lực kỹ thuật phần mềm của đội ngũ.

    • Khi triển khai tính năng mới như "chức năng tìm kiếm mới", cuốn sách giới thiệu kỹ thuật "shadow traffic", tức gửi một phần lưu lượng thực tế tới API mới để quan sát kết quả.

    • Cuốn sách nhấn mạnh tầm quan trọng của việc tách biệt deployment và release; bằng cách dùng feature flag, có thể xử lý nhanh các hồi quy có thể phát sinh trong quá trình migration.

  • Tác giả và giá trị của cuốn sách

    • Cuốn sách có sự tham gia của các tác giả nổi tiếng như Gene Kim, Jess Humble, Patrick Dubois, Nicole Forsgren, John Willis, và chứa nội dung bổ trợ cho 'Unicorn Project' và 'The Phoenix Project'.

Just for Fun: How Linus Torvalds Started an Accidental Revolution

  • Insight cốt lõi: Linus Torvalds đã tạo ra Linux bằng cách tập trung vào những việc ông thấy vui, và điều đó đã dẫn tới kết quả làm thay đổi thế giới.

    • Tập trung vào việc mình thấy vui là động lực khiến ta làm việc chăm chỉ nhất, và điều này có thể dẫn đến thành công lớn ngoài dự đoán.
  • Đổi mới trong phần mềm mã nguồn mở

    • Linus Torvalds đã mở ra một cách tiếp cận phi truyền thống để tạo doanh thu từ phần mềm mã nguồn mở đồng thời giữ vững nguyên tắc, điều này đã tác động lớn đến cách vận hành server và commit code.

Made to Stick

  • Insight cốt lõi: Những ý tưởng đáng nhớ thường tuân theo các mẫu hình nhất định, và ngay cả khi không phải thiên tài sáng tạo, ta vẫn có thể tận dụng các mẫu hình này để truyền đạt ý tưởng hiệu quả.

    • Thông điệp "hãy tập trung vào việc thú vị, và tin rằng bạn sẽ làm việc chăm chỉ nhất với điều thú vị nhất" đã ảnh hưởng lớn đến các quyết định nghề nghiệp cá nhân.

Staff Engineer (Will Larson)

  • Insight cốt lõi: Ở cấp độ Staff Engineer, cần tập trung vào những công việc có mức ưu tiên và tầm ảnh hưởng cao; đây là một thước đo quan trọng áp dụng trong suốt sự nghiệp.

    • Không có con đường cố định để trở thành Staff Engineer; những người có xuất thân đa dạng đều có thể giải quyết các vấn đề phức tạp.

Finite and Infinite Games (James P. Carse)

  • Insight cốt lõi: "Trò chơi hữu hạn" có thắng thua rõ ràng, còn "trò chơi vô hạn" có mục tiêu là tận hưởng chính trò chơi; trong cuộc sống, việc theo đuổi các trò chơi vô hạn là điều quan trọng.

    • Khi Linus Torvalds tạo ra Linux, ông không theo đuổi trò chơi hữu hạn là tạo ra hệ điều hành phổ biến nhất, mà theo đuổi trò chơi vô hạn là tạo ra hệ điều hành tốt nhất và xây dựng cộng đồng.

Radical Candor (Kim Scott)

  • Insight cốt lõi: Phản hồi trực tiếp và thẳng thắn thực ra là cách vì lợi ích của đối phương, và cần tránh "sự đồng cảm tai hại (ruinous empathy)".

    • Việc đưa ra phản hồi trực tiếp xuất phát từ sự quan tâm chân thành đến điều tốt đẹp cho đối phương, và điều này khác với sự thô lỗ.

    • Khi đưa ra phản hồi, cần cân nhắc cảm xúc của đối phương nhưng vẫn truyền đạt rõ ràng điểm cốt lõi.

Mastering OpenTelemetry and Observability (Steve Flanders)

  • Insight cốt lõi: Cần tránh phụ thuộc nhà cung cấp và sử dụng OpenTelemetry, nhưng cuốn sách cũng khiến ta suy nghĩ lại rằng trong kỷ nguyên AI, tầm quan trọng của sự phụ thuộc nhà cung cấp có thể thay đổi.

    • Sự tiện lợi của các công cụ như DataDog có thể khiến phụ thuộc nhà cung cấp trở nên hấp dẫn, nhưng cần cân nhắc các rủi ro như thay đổi giá hoặc mua bán - sáp nhập.

Beyond Vibe Coding (Addy Osmani) & Advanced React (Nadia Makarevich)

  • Insight cốt lõi

    • 'Beyond Vibe Coding' giới thiệu khái niệm "AI tăng cường (augmented AI)", trong đó các kỹ sư làm việc hiệu quả hợp tác với coding agent để viết code.

    • 'Advanced React' rất phù hợp để dùng làm tài liệu tham khảo.

The Tao of Programming (Jeffrey James)

  • Insight cốt lõi: Việc xây dựng hệ điều hành chủ yếu đòi hỏi tính chính xác kỹ thuật, nhưng mô hình hóa thế giới thực, như hệ thống trả lương, khó hơn vì liên quan đến các vấn đề phức tạp như các bên liên quan.

    • Điều này có thể không trực quan đối với lập trình viên, và gợi ý rằng việc mô hình hóa thế giới thực bằng phần mềm có độ phức tạp nội tại.
  • Mối liên hệ với bài tiểu luận "Worse Is Better"

    • 'The Tao of Programming' và "Worse Is Better" là những bài viết cùng kiểu: ngắn nhưng gợi mở nhiều suy nghĩ sâu sắc.

Mastering the Behavioral Interview (Austin McDonald)

  • Insight cốt lõi: Có thể học cách kể trải nghiệm của mình theo các archetype như "hacker đơn độc" trong các buổi phỏng vấn kỹ thuật kiểu Silicon Valley.

    • Kỹ năng truyền tải câu chuyện hiệu quả trong phỏng vấn là rất quan trọng, và cuốn sách này trình bày cụ thể cách làm điều đó.

Designing Data-Intensive Applications (Martin Kleppmann)

  • Insight cốt lõi: Cuốn sách đào sâu các khái niệm nền tảng của hệ thống phân tán như độ tin cậy, độ trễ so với thông lượng, khả năng chống chịu so với khôi phục nhanh.

    • Sách cũng đề cập đến các chủ đề như quyền riêng tư dữ liệu và khai thác sự chú ý, và sẽ khiến người đọc suy ngẫm nhiều hơn khi xây dựng các hệ thống có nhu cầu cao.

Reflections on Trusting Trust (Ken Thompson) & Coding Machines (Lawrence Kesteloot)

  • Insight cốt lõi: Trong thời đại AI tạo ra code, các tác phẩm này khiến ta suy nghĩ sâu sắc về vấn đề niềm tin đối với code được tạo ra và các ý đồ độc hại tiềm ẩn, chẳng hạn như steganography.

Frictionless (Nicole Forsgren, Abby Noda)

  • Insight cốt lõi: Cuốn sách chủ yếu hướng tới lãnh đạo ở các doanh nghiệp lớn và tập trung vào việc triển khai các sáng kiến trải nghiệm nhà phát triển (DevEx), nên ở giai đoạn sự nghiệp hiện tại, nó chưa tạo ra ảnh hưởng lớn.

    • Sách có nội dung rất hay về DevEx, nhưng có thể quan trọng hơn với các công ty ở giai đoạn sau Series C.

Project Hail Mary (Andy Weir)

  • Insight cốt lõi: Tương lai không phải là điều đáng sợ, mà là một vấn đề cần giải quyết; cuốn sách thể hiện góc nhìn lạc quan về vai trò của nhân loại và công nghệ.

    • Sách truyền tải một thông điệp đầy hy vọng rằng ngay cả trong hoàn cảnh khó khăn, ta vẫn có thể làm được những điều đáng kinh ngạc thông qua sự tập trung và đổi mới.

2 bình luận

 
  1. Các liên kết trong mục lục đệ quy quay lại trang này.
  2. Tôi không rõ là bạn đã tự tay tóm tắt toàn bộ nội dung, hay chuyển lại phần tóm tắt bằng AI, nhưng YouTube có chức năng Ask, nên có lẽ cũng không sao nếu bạn không tóm tắt hết mọi nội dung. Ngược lại, điều tôi tò mò nhất là lý do bạn chia sẻ thứ này, còn phần nội dung thì tôi nghĩ tóm tắt 3 dòng là đủ.
 

Địa chỉ website ở bên dưới.
https://bookoverflow.io/