Tất cả lập trình viên đều mong muốn mình giỏi lên từng ngày, và có hàng tấn cuốn sách sẽ hỗ trợ chúng ta thực hiện điều đó trong suốt hành trình rèn luyện. Trong bài viết này, WorkLabs sẽ giới thiệu đến bạn 5 cuốn sách vô cùng hữu ích và thú vị về ngành lập trình. Có thể bạn đã đọc một hoặc thậm chí hết tất cả những cuốn sách này, hãy chia sẻ cảm nhận cho chúng mình tạo fanpage WorkLabs nhé. Nào, giờ thì cùng khám phá thôi!

1. Clean Code – Robert C. Martin  

Chắc hẳn bạn đã nghe rất nhiều lời giới thiệu về cuốn sách này – cuốn sách mà mỗi lập trình viên nhất định phải đọc qua một lần. Clean Code mang lại những góc nhìn mới mẻ và sắp xếp lại những suy nghĩ, định kiến của bạn về lập trình. Cuốn sách giúp bạn nhận ra lập trình là một môn nghệ thuật và lập trình viên/kỹ sư phần mềm chính là những nghệ sĩ. Bên cạnh đó, cuốn sách là một nguồn tài liệu tham khảo vô cùng hữu ích, đề cập rất nhiều ví dụ về việc chuyển đổi những bản code tệ thành “clean code – code sạch” và quy trình để thực hiện điều đó. Bạn có thể nhìn vào bản code của mình, và nhận ra những điểm trừ trong đó: độ phức tạp, abstraction không đồng bộ, các comment thừa thãi…

Những điều bạn học được từ quyển sách này:  

  • Ý nghĩa thực sự của việc viết clean code và một số nguyên tắc cần tuần theo  
  • Cách chọn tên variable (biến)/ class (lớp)/ method (phương thức) có nghĩa  
  • Cách viết một function (hàm) gọn đẹp  
  • Khi nào cần comment và comment như thế nào  
  • Cách định dạng code của bạn, vị trí của các method và định dạng theo newspaper mentaphor 
  • Object (đối tượng), data structure (cấu trúc dữ liệu) và data abstraction (trừu tượng hóa dữ liệu)  
  • Xử lý lỗi thích hợp  
  • Cách viết các unit test một cách xuất sắc  
  • Cách thực hiện sàng lọc liên tiếp  
  • Và một danh sách các loại “code smells – code tệ” 

2. Head First Design Pattern – Eric Freeman, Bert Bates, Kathy Sierra, Elisabeth Robson 

Khi lập trình chắc hẳn bạn sẽ luôn bắt gặp những vấn đề lặp đi lặp lại, thường những vấn đề lặp lại đó đều đã có giải pháp. Trong trường hợp này, các lập trình viên sẽ sử dụng các design pattern. Việc học những design pattern này rất quan trọng, ngay cả khi bạn không hoàn toàn biết cách triển khai một design pattern nhất định. Bạn chỉ cần biết mục đích của nó cũng đủ thành công. Đây là cuốn sách rất dễ tiếp cận với những nội dung thú vị và hài hước. Bất kỳ ai cũng thể ngay lập tức thử viết một vài design pattern của mình trong vài phút.

Những điều bạn học được từ quyển sách này: 

  • The Observer pattern 
  • The Decorator pattern 
  • The Factory pattern 
  • The Singleton pattern 
  • The Command pattern 
  • The Adapter and Façade patterns 
  • The Template Method pattern 
  • The Iterator and Composite patterns 
  • The State pattern 
  • The Proxy pattern 
  • Compound patterns 
  • Ứng dụng của các pattern trong thực tế 

3. The Clean Coder – Robert C. Martin  

Lại là một cuốn sách vô cùng hữu ích khác nằm trong “Robert C. Martin Series” của tác giả Robert. Cuốn sách chứa đựng những lời khuyên thực tế dành cho lập trình viên, từ cách ước lượng, cách refactor, cách test và cách để trở nên chuyên nghiệp hơn. Tác giả cũng chỉ ra những kỳ vọng về một lập trình viên chuyên nghiệp bằng cách đề cập về các kỹ năng quản lý thời gian, cộng tác/làm việc nhóm, quản lý công việc, v/v … Bên cạnh đó, cuốn sách trình bày chi tiết những quy tắc và những điều bạn cần thực hiện để có thể giúp ngành trở nên phát triển hơn.

Những điều bạn học được từ quyển sách này:  

  • Bạn sẽ tìm hiểu ý nghĩa của việc hành động như một “software craftsman – nghệ nhân phần mềm”  
  • Cách đối phó với xung đột, lịch trình làm việc dày đặc  
  • Làm thế nào để hòa mình vào “flow of coding – dòng chảy của việc viết code” 
  • Cách xử lý áp lực không ngừng và tránh kiệt sức 
  • Cách quản lý thời gian  
  • Cách tạo môi trường – nơi các nhóm lập trình viên có thể phát triển  
  • Khi nào nên nói “Yes”/ “No” và cách đảm nhận/từ chối công việc  

4. The Complete Software Developer’s Career Guide – John Sonmez  

Đúng như tiêu đề, cuốn sách này “complete – hoàn chỉnh”, với 798 trang đầy ắp những lời khuyên về cách thành công trong hành trình lập trình của bạn. Bạn không nhất thiết phải đọc hết từng trang sách mà có thể lựa chọn những chương có liên quan nhất đến giai đoạn sự nghiệp hiện tại của bạn. Nhưng nếu tò mò, bạn có thể khám phá toàn bộ cuốn sách để có những trải nghiệm và lời khuyên hữu ích nhất.

Những điều bạn học được từ quyển sách này:  

  • Những technical skills bạn cần có để trở thành một lập trình viên/ nhà phát triển phần mềm thành công  
  • Những ngôn ngữ lập trình nào cần học  
  • Cách để tìm được việc làm, cách thương lượng, cách rời khỏi công việc và cách thức hoạt động của ngành tuyển dụng
  • Tất cả những điều bạn cần biết về phát triển phần mềm, từ TDD (Testing Driven Development – Phát triển hướng kiểm thử), kiểm soát nguồn, duy trì code cũ, …
  • Làm thế nào để thăng tiến sự nghiệp, tạo dưng danh tiếng, phát biểu trước công chúng, generalist hay specialist, cập nhật kỹ năng, …
  • Và nhiều hơn thế nữa.  

5. Crack the Coding Interview – Gayle Laakmann McDowell 

Tất cả những quyển sách khác đã được giới thiệu trong danh sách phía trên có thể phù hợp cho hầu hết các lập trình viên ở bất kỳ cấp độ nào. Quyển sách này lại phù hợp với các lập trình viên đang cố gắng đạt được hợp đồng làm việc đầu tiên hoặc là những lập trình viên đang mong muốn nhận công việc tại một công ty công nghệ lớn với quy trình phỏng vấn nghiêm ngặt. Tuy nhiên, nếu bạn muốn chuẩn bị trước cho bản thân thì hoàn toàn có thể đọc. Đó có thể sẽ là hành trình giúp bạn đạt được công việc sớm hơn, thành công hơn.

Những điều bạn học được từ quyển sách này:  

  • Tất cả những nội dung về quy trình phỏng vấn và những gì diễn ra ở hậu trường 
  • Ký hiệu Big O, độ phức tạp về không gian/ thời gian, … 
  • Cách chuẩn bị cho những câu hỏi liên quan đến kỹ thuật và quan trọng hơn là cách giải quyết chúng  
  • Cách xử lý đề nghị, từ chối và thương lượng  
  • Hàng nghìn câu hỏi phỏng vấn và cách trả lời  
  • Tương tự với các câu hỏi dựa trên kiến thức, đặc biệt là những câu hỏi về ngôn ngữ lập trình cụ thể  

Trên đây là 5 cuốn sách mà WorkLabs nghĩ rằng bạn nhất định phải nên thử đọc một lần để chuẩn bị hành trang cho sự nghiệp lập trình của mình. Tất nhiên, kiến thức là bao la và sẽ có rất nhiều cuốn sách hay mà chúng mình chưa biết đến. Hãy chia sẻ thêm về những cuốn sách ưa thích của bạn tại fanpage WorkLabs nhé. Happy Coding </>

Nguồn bài viết tham khảo: Top 5 books EVERY programmer MUST read! 📚 – DEV Community