Bài viết được sự cho phép của tác giả Edward Thien Hoang
Quay lại khoảng thời gian cách đây 8-10 năm, lúc đó thế giới công nghệ không có nhiều lựa chọn, loanh quanh thì cũng .NET và Java, PHP, … Không như bây giờ với hàng hàng sa số các công nghệ mới, framework, library mới ra đời khiến cho đa số các developer phải đổ xô để bắt kịp xu hướng.
Việc trau dồi kỹ năng của thế hệ developer trước đó cũng khác biệt. Họ có rất ít lưỡi dao trong tay nhưng lưỡi nào cũng sắc bén vô cùng, họ chăm chút từng dòng code, apply design principle, design pattern một cách kỹ lưỡng. Nhìn các developer hiện nay, theo những gì mình quan sát được từ các bạn developer trẻ ngày nay, họ quá ít quan tâm đến chất lượng code mà chỉ quan tâm đến việc đến số lượng công nghệ được apply, họ lại đi theo một xu hướng khác, đó là sắm cho mình những con dao của quân đội Thụy Sĩ, tuy số lượng thì nhiều nhưng thiếu đi độ bén.
Bạn thích 1 con dao thật bén, hay thích một bó dao?
Nếu bạn muốn theo đuổi nghề lập trình thì hãy xác định việc học là việc cả đời. Và quan trọng hơn cả là tự học.
Dưới đây là danh sách các cuốn sách hay mà mình khuyên các bạn developer nên đọc qua một lần, thứ tự sách được liệt kê sẽ được nâng dần cấp độ theo quá trình phát triển của bản thân.
Hãy bắt đầu với những cuốn sách cho các bạn mới vào nghề.
1. CLEAN CODE
Clean Code của tác giả Bob Martin là cuốn sách kinh điển mà tất cả các developer của mình cần đọc ĐẦU TIÊN để rèn luyện tay nghề, code cần phải sạch và đúng ngay từ thuở ban đầu, developer cần quan tâm đến từng dòng code mình viết ra thì mới tạo ra được niềm vui từ sự hoàn hảo. Nếu trong các năm đầu các bạn không thể viết ra các đoạn code “sạch sẽ” thì khả năng cao điều đó sẽ rất khó chỉnh về sau.
Các ví dụ trong sách được viết bằng Java, nhưng không khó để các bạn có thể tìm các phiên bản tương tự đâu đó trên Github.
https://github.com/ryanmcdermott/clean-code-javascript
https://github.com/labs42io/clean-code-typescript
https://github.com/labs42io/clean-code-typescript
2. DESIGN PATTERN
Có 1 điều dễ nhận thấy là ngày càng ít người quan tâm đến design pattern hay nói chính xác hơn là Object Oriented Design Pattern. Nếu bạn làm việc với các ngôn ngữ Object Oriented mà không biết Design Pattern thì hãy trang bị ngay. Hãy đọc cuốn Head First Design Patterns, bắt đầu với Strategy Pattern, bạn sẽ hiểu khi có design pattern, life is easier.
Tips: ngoài design pattern, các bạn cũng nên tìm đọc về các Design Principle ví dụ như SOLID, KISS, YANGI, …
Còn với các ngôn ngữ khác? Trước khi bắt đầu học một framework, ngôn ngữ nào mới, mình thường tìm kiếm các design pattern của nó.
Ví dụ https://reactpatterns.com/ tập hợp rất nhiều coding pattern, practice giúp mình xử lý các vấn đề lúc coding một cách chuẩn chỉnh hơn.
3. REFACTORING TO PATTERNS
Lại một cuốn sách hay nữa, Refactoring to Patterns sẽ giúp mình “chỉnh lại tay nghề” bằng cách chuyển những đoạn code không theo pattern vào nề nếp
Bonus: https://github.com/sunnypatel165/31DaysOfRefactoringInJava
4. CODE SMELL
Những đoạn code xấu thường bốc mùi. Hãy nhận biết mùi của code xấu và tìm cách làm cho nó thơm tho hơn
Các bạn có thể đọc phiên bản online ở đây: https://refactoring.guru/refactoring/smells
Hoặc mua các tài liệu premium để tìm hiểu sâu hơn: https://refactoring.guru/store
5. LẬP TRÌNH VÀ CUỘC SỐNG
“Để lập trình hiệu quả, viết code thôi là chưa đủ. Con người mới là nhân tố quan trọng”. Đây là lời trích từ trang bìa của cuốn sách. Mài dũa ngón tay của bạn, và cũng phải mài dũa cả tâm trí của mình.
Cuốn sách này được anh Hồ Sỹ Hùng tuyển tập và dịch từ trang https://blog.codinghorror.com/
Hãy đọc để xem các lập trình viên khác họ nghĩ gì, và tìm kiếm lời khuyên cho chính mình.
Một số cuốn sách hay của tác giả Việt Nam:
- Code dạo ký sự
- Agile Y
6. CODE COMPLETE VÀ PRAGMATIC PROGRAMMER
Sách sẽ không dạy bạn lập trình, nhưng sẽ truyền đạt cảm hứng và dạy bạn một số kỹ năng mềm trong nghề lập trình. Tương tự như cuốn Lập trình và cuộc sống ở trên
Trên đây là những cuốn sách Developer nên đọc và nó giành cho cả những bạn mới bước vào nghề. Ở phần 2 sẽ là những sách dành cho các bạn senior và tech lead.
Bài viết gốc được đăng tải tại edwardthienhoang.wordpress.com
Xem thêm:
- Làm sao để không bị “ngộp” khi học cái mới?
- Mẫu CV IT tiếng Anh hấp dẫn nhà tuyển dụng
- 10 kênh Youtube học lập trình không thể bỏ qua dành cho Junior Web Developer / Designer
Tìm việc làm IT tất cả level trên TopDev