Liệu có một giây phút nào trong những đêm vò đầu bứt tai ngồi viết code, ta ước rằng mình có “superpower”, để dăm ba cái dòng code chẳng còn làm ta phải tàn tạ tấm thân? Hay ước gì ta có thể nhảy cóc tới vài ba năm sau, khi mình đã là một senior sừng sỏ, viết code ầm ầm nhanh hơn cả lúc đi combat?
Khổ nỗi, ta lại chẳng biết bắt đầu từ đâu! Ta biết rằng mình nên học thêm thật nhiều, nhưng học cái gì, học thế nào, thì ta lại không biết.
Hiểu được tâm sự này, Got It đã biên soạn một bài blog gồm danh sách 8 “bảo bối” sẽ khiến giúp bạn cải thiện trông thấy tư duy và kỹ năng lập trình, để sau này đỡ vất vả trong cái nghề lập trình lắm gian nan.
Cùng bắt đầu thôi!
Mục lục
- 1. THE PRAGMATIC PROGRAMMER: FROM JOURNEYMAN TO MASTER
- 2. HEAD FIRST DESIGN PATTERNS: A BRAIN-FRIENDLY GUIDE
- 3. CLEAN CODE: A HANDBOOK OF AGILE SOFTWARE CRAFTSMANSHIP
- 4. THE CLEAN CODER
- 5. GROKKING ALGORITHMS: AN ILLUSTRATED GUIDE FOR PROGRAMMERS AND OTHER CURIOUS PEOPLE
- 6. CRACKING THE CODING INTERVIEW: 189 PROGRAMMING QUESTIONS AND SOLUTIONS
- 7. PYTHON IN PRACTICE: CREATE BETTER PROGRAMS USING CONCURRENCY, LIBRARIES, AND PATTERNS
- 8. TEST-DRIVEN DEVELOPMENT: BY EXAMPLE
1. THE PRAGMATIC PROGRAMMER: FROM JOURNEYMAN TO MASTER
Authors: Andy Hunt, Dave Thomas · Topic: general programming · Level: beginner
Đầu tiên, hẳn phải kể đến cuốn sách kinh điển gối đầu giường của bao nhiêu thế hệ — The Pragmatic Programmer. Đây là cuốn sách thiết yếu cho tất cả những lập trình viên nào thực sự muốn phát triển kỹ năng, và thực sự mong muốn tiến xa trong nghề nghiệp hiện tại.
Được viết dưới dạng một series chứa đầy những mẩu chuyện thú vị và những ví dụ bổ ích, The Pragmatic Programmer minh họa những cách làm tốt nhất cũng như những khó khăn cơ bản ở nhiều khía cạnh khác nhau trong phát triển phần mềm. Cho dù bạn là một newbie, một lập trình viên giàu kinh nghiệm hay một nhà quản lý dự án, hãy đọc những bài học trong cuốn sách này hàng ngày để thấy năng suất, độ chính xác và sự hài lòng trong công việc của mình được cải thiện rõ rệt. Cuốn sách sẽ giúp bạn học được các kỹ năng, phát triển các thói quen và thái độ, tạo nền tảng cho sự thành công trong tương lai.
(Hiện cuốn sách này đang có sẵn ở Tủ sách Got It. Bạn có thể tìm hiểu chi tiết về tủ sách và đăng ký tại đây để được đọc miễn phí nhé.)
2. HEAD FIRST DESIGN PATTERNS: A BRAIN-FRIENDLY GUIDE
Authors: Eric Freeman, Kathy Sierra · Topic: code design · Level: beginner
Hiểu các kiến thức cơ bản về lập trình hướng đối tượng (OOP) không biến bạn trở thành một OO designer giỏi. Nhưng cuốn sách này dạy bạn cách nhanh nhất để hiểu về mẫu thiết kế (design patterns) bằng cách đưa ra ví dụ về cách giải quyết các vấn đề thường gặp trong thiết kế phần mềm. Những chủ đề phức tạp được lý giải một cách vô cùng hóm hỉnh, dễ đọc và dễ áp dụng trong công việc. Có thể nói, nếu bạn đang tìm hiểu về lập trình hướng đối tượng, thì Head First Design Patterns: A Brain-Friendly Guide là một quyển sách phải đọc đấy nhé.
(Hiện cuốn sách này đang có sẵn ở Tủ sách Got It. Bạn có thể tìm hiểu chi tiết về tủ sách và đăng ký tại đây để được đọc miễn phí nhé.)
3. CLEAN CODE: A HANDBOOK OF AGILE SOFTWARE CRAFTSMANSHIP
Author: Robert C. Martin (Uncle Bob) · Topic: coding · Level: beginner/intermediate
Clean Code được nhiều lập trình viên đánh giá là quyển sách giá trị nhất mà họ từng đọc trong sự nghiệp của mình. Cuốn sách dạy bạn làm thế nào để viết những đoạn code có thể hoạt động tốt, cũng như truyền tải được ý định của người viết nên chúng. Cuốn sách này nổi bật bởi cách nó bao trùm rất nhiều ví dụ, gồm cả những đoạn code dài và phức tạp. Thay vì chỉ liệt kê những quy tắc để viết một đoạn code rõ ràng (clean code), cuốn sách dành nhiều chương để nói về các ví dụ và những phương pháp thực tế để cải thiện chúng. Tóm gọn lại, đây là cuốn sách phải đọc với mọi lập trình viên.
(Hiện cuốn sách này đang có sẵn ở Tủ sách Got It. Bạn có thể tìm hiểu chi tiết về tủ sách và đăng ký tại đây để được đọc miễn phí nhé.)
4. THE CLEAN CODER
Author: Robert C. Martin (Uncle Bob) · Topic: soft skills · Level: beginner/intermediate
Là phần tiếp theo của Clean Code, The Clean Coder cũng là một cuốn sách phải đọc đối với mỗi người làm lập trình. Nó bao gồm những lời khuyên thực tế về tất cả mọi thứ, từ ước tính (estimating) và viết code đến tái cấu trúc (refactoring) và kiểm thử (testing). Bạn sẽ học được cách làm thế nào để giao tiếp, ước tính, cũng như đối mặt với những tình huống khó khăn trong công việc.
Bạn muốn trở thành một lập trình viên chuyên nghiệp và có kỹ năng xuất sắc? Đây chính xác là nơi bạn nên bắt đầu.
(Hiện cuốn sách này đang có sẵn ở Tủ sách Got It. Bạn có thể tìm hiểu chi tiết về tủ sách và đăng ký tại đây để được đọc miễn phí nhé.)
5. GROKKING ALGORITHMS: AN ILLUSTRATED GUIDE FOR PROGRAMMERS AND OTHER CURIOUS PEOPLE
Author: Aditya Y. Bhargava · Topic: algorithms · Level: beginner
Grokking Algorithms: An illustrated guide for programmers and other curious people là một cuốn cẩm nang siêu bổ ích, trình bày về tất cả những thuật toán thường được sử dụng trong Khoa học Máy tính theo một cách vô cùng dễ hiểu. Kể cả những người không làm trong lĩnh vực lập trình cũng có thể dễ dàng biết được các thuật toán hoạt động như thế nào qua cuốn sách này. Vậy nên, để nhập môn về thuật toán, đây chính xác là đầu sách mà bạn cần đọc trước tiên.
(Hiện cuốn sách này đang có sẵn ở Tủ sách Got It. Bạn có thể tìm hiểu chi tiết về tủ sách và đăng ký tại đây để được đọc miễn phí nhé.)
6. CRACKING THE CODING INTERVIEW: 189 PROGRAMMING QUESTIONS AND SOLUTIONS
Author: Gayle Laakmann McDowell · Topic: soft skills · Level: beginner/intermediate
Đây chính là cuốn sách bạn cần để chuẩn bị cho một cuộc phỏng vấn ở vị trí lập trình viên. Với nhiều người, phỏng vấn có lẽ là phần “đáng sợ” nhất trên con đường trở thành một developer. Vậy thì Cracking the Coding Interview: 189 Programming Questions and Solutions chắc chắn sẽ là liều thuốc đắc lực giúp bạn thoát khỏi nỗi lo đó. Tuy bao gồm 189 câu hỏi về lập trình (có kèm câu trả lời), đây lại không phải là một cuốn sách dạy bạn cách gian lận trong phỏng vấn. Bản thân bạn cũng cần phải phân tích từng câu hỏi, tìm ra cách giải tốt nhất, và luyện tập với những câu hỏi mẫu mà cuốn sách đưa ra.
(Hiện cuốn sách này đang có sẵn ở Tủ sách Got It. Bạn có thể tìm hiểu chi tiết về tủ sách và đăng ký tại đây để được đọc miễn phí nhé.)
7. PYTHON IN PRACTICE: CREATE BETTER PROGRAMS USING CONCURRENCY, LIBRARIES, AND PATTERNS
Author: Mark Summerfield · Topic: programming language · Level: beginner/intermediate
“Dù bạn là một lập trình viên đầy kinh nghiệm hay chỉ mới bắt đầu sự nghiệp, Python in Practice hội tụ đầy đủ những lời khuyên giá trị giúp bạn phát triển trong công việc bằng cách nhìn nhận vấn đề từ nhiều hướng, giới thiệu về các công cụ, cũng như những cách làm cụ thể để tìm ra những giải pháp hiệu quả hơn.” — Doug Hellmann, Senior Developer, DreamHost
Nếu bạn là một lập trình viên đã có kinh nghiệm về Python, Python in Practice sẽ giúp bạn cải thiện chất lượng, sự ổn định, tốc độ, khả năng bảo trì và khả dụng của các chương trình Python của bạn.
Mark Summerfield tập trung vào bốn chủ đề chính:
- mẫu thiết kế để viết code một cách rõ ràng,
- cải thiện tốc độ xử lý thông qua concurrency và compiled Python (Cython),
- high-level networking,
- xử lý đồ họa.
Tác giả chỉ ra những mẫu thiết kế đã được chứng minh là hiệu quả trong Python, làm nổi bật điều đó bằng những đoạn code chất lượng, và giải thích vì sao một số mẫu thiết kế hướng đối tượng lại liên quan đến Python.
(Hiện cuốn sách này đang có sẵn ở Tủ sách Got It. Bạn có thể tìm hiểu chi tiết về tủ sách và đăng ký tại đây để được đọc miễn phí nhé.)
8. TEST-DRIVEN DEVELOPMENT: BY EXAMPLE
Author: Kent Beck · Topic: coding · Level: beginner/intermediate
Phát triển phần mềm dựa trên kiểm thử cho phép bạn lập trình phần mềm của mình theo từng bước một cách logic: đầu tiên, dùng test xác định các quy tắc logic; sau đó, quan sát cách chúng thất bại; cuối cùng, tạo ra lượng code tối thiểu để đảm bảo những quy tắc đó vẫn được thông qua. Thoạt nhìn có vẻ bạn sẽ phải làm nhiều việc hơn mức cần thiết, tuy nhiên một khi bạn đã thành thạo quy trình này, bạn sẽ thấy rằng mình có thể code ít hơn, chất lượng hơn và có đủ tự tin để điều chỉnh code mà không phải lo rằng mọi thứ sẽ trở nên… bung bét!
(Hiện cuốn sách này đang có sẵn ở Tủ sách Got It. Bạn có thể tìm hiểu chi tiết về tủ sách và đăng ký tại đây để được đọc miễn phí nhé.)
Trên đây là 8 cuốn sách mà Got It khuyên đọc không chỉ với các bạn sinh viên mà với bất kỳ ai quan tâm đến lập trình. Nếu bạn muốn trở thành một developer nổi bật, muốn tiến xa hơn và đạt được những thành tựu nhất định trong ngành, hãy chắc rằng bạn đã đọc và nghiền ngẫm ít nhất 1/2 những cuốn sách kể trên.
Phần lớn những cuốn sách kể trên hiện đang có tại Tủ sách Got It. Nếu bạn muốn được tận tay cầm đọc những cuốn sách kinh điển này, hãy ghé thăm chúng mình ngay nhé! Chi tiết về tủ sách bạn có thể tìm đọc tại đây.