Những cuốn sách mà Developer nên đọc – Phần 2
Bài viết được sự cho phép của tác giả Edward Thien Hoang
Phần trước mình đã điểm qua 1 số mặt sách dành cho các bạn developer mới vào nghề nhằm khuyến khích niềm đam mê và kỹ năng code sạch từ sớm. Phần này mình sẽ điểm qua các cuốn sách mà các bạn senior và tech lead nên đọc để nâng cao kỹ năng thiết kế và quản lý các team ở quy mô nhỏ.
REFACTORING: IMPROVING THE DESIGN OF EXISTING CODE
Các bạn senior, technical lead nên đọc, để có thể review code của các bạn junior và đưa ra lời khuyên. Làm sao để biến những đoạn code không theo pattern để sử dụng các pattern thích hợp. Khi đó bạn sẽ thấy chất lượng và cấu trúc mã nguồn sẽ trở nên dễ đoán và dễ bảo trì hơn.
Review sách Refactoring to Patterns

WORKING EFFECTIVELY WITH LEGACY CODE
Code đẹp ngay từ đầu là một chuyện tốt, tuy nhiên đa số các bạn sẽ được tham gia vào dự án đã và đang chạy. Codebase có thể lên tới hàng chục năm tuổi với hằng hà technical debt. Working Effectively with Legacy Code cung cấp nhiều hướng dẫn để các bạn có thể cải thiện chất lượng của mã nguồn “legacy”.

97 THINGS EVERY PROGRAMMER SHOULD KNOW
Tập hợp các lời khuyên hữu ích cho tất cả các bạn lập trình viên.

TALKING WITH TECH LEADS: FROM NOVICES TO PRACTITIONERS
Một cuốn sách không thể không đọc để có thể trở thành 1 tech lead thực thụ. Ngoài công việc coding, các bạn tech lead sẽ bắt đầu được giao nhiệm vụ quản lý một nhóm nhỏ hoặc đưa ra các giải pháp thiết kế, đề xuất về mặt kỹ thuật nhiều hơn.
Review sách Talking with Tech Leads

DOMAIN-DRIVEN DESIGN: TACKLING COMPLEXITY IN THE HEART OF SOFTWARE
Một cuốn sách để giúp hình thành các suy nghĩ về cách thiết kế các hệ thống phức tạp. Có rất nhiều phương pháp thiết kế “driven” ví dụ như Event Driven, Domain Driven, Data Driven, nhưng mình thích cách tiếp cận từ Domain (nghiệp vụ), phân tách nghiệp vụ thành các sub-module, sub-system sẽ giúp bạn có một cái nhìn tổng thể nhất về các thành phần trong hệ thống mà mình đang xây dựng
Tản mạn về Domain Driven Design

SYSTEM DESIGN INTERVIEW – AN INSIDER’S GUIDE
Một bước tạo đà nữa để giúp các bạn làm quen với các thuật ngữ và kỹ thuật thường dùng trong thiết kế hệ thống, đặc biệt là các hệ thống large-scale, distributed với rất nhiều ví dụ từ các hệ thống thực tế (được đơn giản hóa)
Series về System Design

Bonus 3: https://github.com/donnemartin/system-design-primer Tác giả của page này cũng đã đưa ra được 1 mô hình kiến trúc điển hình cho các hệ thống mà chúng ta sẽ build.
Bài viết gốc được đăng tải tại edwardthienhoang.wordpress.com
Xem thêm:
- Team Leader là gì? Những kỹ năng nào mà một Team Leader cần có?
- Bí Kíp Pass Phỏng Vấn Coding Amazon, Apple, Facebook, Microsoft Mà Không Cần Leet Code Quá Nhiều
- Mẫu CV IT tiếng Anh hấp dẫn nhà tuyển dụng
Đừng bỏ lỡ tin tuyển dụng IT mọi cấp độ trên TopDev
- T Top 10 việc làm tuyển dụng ngành IT mới nhất 2023
- 6 6 Xu hướng quản trị nhân sự năm 2023
- M Mẫu CV IT Administrator chuẩn nhất 2023
- T Tìm hiểu về môi trường làm việc ở Amanotes, nơi coi nhân viên là khoản đầu tư không bao giờ lỗ!
- T Tổng hợp các khoản phụ cấp không phải đóng BHXH và thuế TNCN
- N Nên đăng tin tuyển dụng ở đâu? Cần lưu ý gì khi đăng tin tuyển dụng
- K KICC HCMC x TOPDEV – Cái Bắt Tay Góp Phần Phát Triển Tài Năng IT Của Việt Nam
- K Kinh nghiệm tự xây dựng business website
- F Fresher, Junior, Senior là gì? Yêu cầu và nhiệm vụ
- 9 9 kênh tuyển dụng IT hiệu quả bạn nên sử dụng