Top 10 cuốn sách cải thiện khả năng tư duy dành cho lập trình viên

Khi các lập trình viên mới vào nghề hỏi tôi rằng họ nên đọc những cuốn sách nào, tôi thường trả lời: “Chỉ cần đọc, còn sách gì không quan trọng”.

Phần lớn của quá trình phát triển phần mềm là đọc code của người khác. Do đó, điều tốt nhất mà bạn có thể làm để cải thiện bản thân chính là đọc bất cứ thứ gì giúp phát triển kỹ năng suy luận và sự hiểu biết của bạn. Nói cách khác, đọc càng nhiều, bạn càng giỏi trong việc phát triển phần mềm. Tuy nhiên, nếu bạn muốn rõ ràng hơn cho lựa chọn của mình thì Quản Trị Mạng khuyên bạn nên đọc Top 10 cuốn sách cải thiện khả năng tư duy dành cho lập trình viên, sẽ có tác động đáng kể đến chỉ số IQ phần mềm của bạn.

1. Moonwalking with Einstein - Joshua Foer và Mike Chamberlain

Moonwalking with Einstein - Joshua Foer và Mike Chamberlain

Google rất tuyệt vời nhưng đi kèm với những tiện ích mà nó cung cấp thì Google thực sự đã làm hỏng sự ham học hỏi của chúng ta. Hầu hết các nhà phát triển không được dạy kỹ năng ghi nhớ và thậm chí bản thân của họ cũng không tự giác nỗ lực cải thiện điều đó. Kết quả là, các thiết bị công nghệ vô tình như gông cùm khóa chặt tiềm năng của họ lại. Có một sự thật rằng các nhà phát triển hiện nay phải vật lộn để viết một vài dòng code mà không cần tham khảo từ Google hoặc StackOverflow.

Cuốn sách Moonwalking with Einstein của Joshua Foer và Mike Chamberlain dạy các chiến thuật cụ thể, tận dụng tối đa sự tập trung, giúp bạn nhớ các phím tắt, status codes hoặc arguments cho một function để có thể làm điều đó một cách dễ dàng. Tác giả tiết lộ các mẹo về cách tốt nhất để ta có thể rèn luyện trí nhớ và học các kỹ thuật trong một thời gian ngắn.

2. You Don’t Know JS - Kyle Simpson

You Don’t Know JS - Kyle Simpson

You Don’t Know JS (tạm dịch: "Bạn chả biết gì về JS!") của Kyle Simpson – một series sách mà bạn nên xem là kinh thánh cho JavaScript. Bất cứ nhà phát triển JavaScript nào cũng nên đọc nó. Tác giả thậm chí còn cung cấp toàn bộ bản sao của mỗi cuốn sách trực tuyến nếu bạn muốn đọc nó miễn phí trên GitHub. Bạn sẽ mất kha khá thời gian để có thể tiêu thụ hết chúng nhưng chúng sẽ củng cố cho bạn kiến thức về một số phần phức tạp nhất của JavaScript.

3. Clean Code - Robert C. Martin

Clean Code - Robert C. Martin

Robert C. Martin - tác giả của cuốn sách Clean Code (tạm dịch: "Code sạch") được nhắc đến với sự tôn kính từ cộng đồng phần mềm. Thậm chí, ông còn được đặt biệt danh là “Bác Bob” và nổi tiếng với nhiều cuộc thảo luận về việc viết code gọn và dễ đọc. Sau khi đọc cuốn sách này, các lập trình viên có thể dành nhiều thời gian hơn để suy nghĩ về lý do tại sao code lại được viết theo cấu trúc như vậy. Nguyên tắc của “Bác Bob” sẽ cho phép bạn phân biệt được giữa code tốt và xấu, cũng như cách làm sạch code của mình.

4. Software Craftsmanship: The New Imperative - Pete McBreen

Software Craftsmanship: The New Imperative - Pete McBreen

Các nguyên tắc trong cuốn Software Craftsmanship: The New Imperative - Pete McBreen của Pete McBreen cũng rất đồng điệu với cuốn Clean Code. Tuy nhiên, nó khác ở chỗ tập trung nhiều vào nghệ thuật hơn là khoa học trong phần mềm. Cuốn sách này sẽ giúp các lập trình viên tìm ra cách làm thế nào để cung cấp giá trị cho khách hàng thông qua phần mềm. Nó nói về sự hợp tác với các bên liên quan, quản lý dự án và nhiều kỹ năng mềm cần thiết để thực sự trở thành bậc thầy trong phát triển phần mềm.

5. 7 Languages in 7 Weeks: A Pragmatic Guide to Learning Programming Languages - Bruce Tate

7 Languages in 7 Weeks: A Pragmatic Guide to Learning Programming Languages - Bruce Tate

Khả năng học nhanh các ngôn ngữ mới cho phép lập trình viên trở nên thực sự cạnh tranh trong thị trường công nghệ hiện nay. Cuốn sách 7 Languages in 7 Weeks: A Pragmatic Guide to Learning Programming Languages (tạm dịch: “7 ngôn ngữ trong 7 tuần: Hướng dẫn thực dụng để học ngôn ngữ lập trình”) của Bruce Tate sẽ giúp bạn hiểu nhanh code của những ngôn ngữ lập trình mới, ngay cả khi bạn không có kế hoạch trở thành một người đa ngôn ngữ (làm chủ nhiều ngôn ngữ).

Điểm mấu chốt để học 7 ngôn ngữ trong 7 tuần là tập trung vào kiến thức tổng quát. Điều này cho phép lập trình viên so sánh và đối chiếu ngôn ngữ lập trình nào tốt hơn cho từng trường hợp. Nếu bạn tò mò về 7 ngôn ngữ được trình bày trong cuốn sách gồm những ngôn ngữ nào thì đó là Clojure, Haskell, Io, Prolog, Scala, Erlang và Ruby.

Bằng việc sử dụng cách tiếp cận 7 tuần này, bạn sẽ được học hỏi hoặc nhớ lại, các mô hình lập trình đã phát triển theo thời gian. Nhiều người có thế mạnh chọn ngôn ngữ phù hợp nhất để giải quyết các kiểu thách thức cụ thể. Những người khác chứng minh vai trò của các kỹ sư trong những năm gần đây và sau đó cùng nhau quyết định cách cũ là nhàm chán và cách mới là "cách duy nhất" để code.

Ví dụ, lập trình JavaScript có thể được thực hiện theo hàm, định hướng đối tượng hoặc thủ tục. Cuốn sách này sẽ truyền cảm hứng cho bạn học các ngôn ngữ tập trung hơn và tham gia sâu hơn vào cách mỗi ngôn ngữ thực hiện các mẫu thiết kế chung.

Xem thêm: 15 mẹo sử dụng Chrome DevTools hữu ích mà bạn nên biết

6. 7 Databases in 7 Weeks: A Guide to Modern Databases and the NoSQL Movement - Eric Redmond và Jim Wilson

7 Databases in 7 Weeks: A Guide to Modern Databases and the NoSQL Movement

Bằng cách tiếp xúc với 7 cơ sở dữ liệu khác nhau, các lập trình viên có thể mở rộng khả năng để chọn đúng giải pháp cơ sở dữ liệu cho mỗi vấn đề mới mà họ gặp phải. Cuốn sách 7 Databases in 7 Weeks: A Guide to Modern Databases and the NoSQL Movement (tạm dịch: “7 cơ sở dữ liệu trong 7 tuần: Hướng dẫn cơ sở dữ liệu hiện đại và NoSQL”) của Eric Redmond và Jim Wilson sẽ cung cấp cho nhà phát triển sự tự tin để chinh phục bất cứ thử thách nào liên quan tới cơ sở dữ liệu. Ngay cả những cơ sở dữ liệu mà lần đầu tiên xuất hiện là duy nhất sẽ đột nhiên có vẻ rất giống với những người sử dụng phổ biến của cộng đồng phát triển ngày nay.

7. JavaScript the Good Parts - Douglas Crockford

JavaScript the Good Parts - Douglas Crockford

Hiện nay, JavaScript đang phát triển rất nhanh. Nhanh tới mức mà một số người bỏ qua việc học nền tảng cơ bản và tập trung vào việc làm chủ các framework và thư viện. Trong cuốn sách JavaScript the Good Parts (tạm dịch: “Phần tốt của JavaScript”) của Douglas Crockford, bạn sẽ quay trở lại các vấn đề cơ bản, tìm hiểu về nền tảng JavaScript và những sai lầm cần tránh.

Do bởi có rất nhiều thư viện và framework, các lập trình viên phần mềm cần phải có khả năng đánh giá nhanh chóng. Cuốn sách này phục vụ như một hướng dẫn thực tiễn tốt nhất. Ngay cả khi bạn quyết định không làm theo tác giả, việc hiểu quá trình ra quyết định của Douglas sẽ giúp bạn đánh giá tốt hơn về code của người khác. Nó sẽ giúp bạn tinh chỉnh khả năng nói ra những gì bạn không thích và nói rõ lý do tại sao. Việc hiểu tại sao nên tránh một số lĩnh vực của JavaScript cũng giúp bạn tạo ra phần mềm tốt hơn và suy nghĩ nhiều hơn về các mẫu thiết kế chịu sự kiểm soát của thời gian.

8. Think and Grow Rich - Napoleon Hill

Think and Grow Rich - Napoleon Hill

Thành công trong phát triển phần mềm luôn song hành với thành công trong cuộc sống. Các nguyên tắc mà bạn có thể học hỏi và xem ví dụ thực tế trong cuốn sách Think and Grow Rich (tạm dịch: "13 nguyên tắc làm giàu") của Napoleon Hill sẽ giúp bạn thành công hơn. Thành tựu cá nhân và nghề nghiệp đòi hỏi một quá trình tư duy hiệu quả và định hướng thành công. Cuốn sách này đã được xuất bản gần một thế kỷ trước, nhưng những câu chuyện của nó vẫn mang tầm ảnh hưởng mạnh mẽ tới tận ngày nay.

Xem thêm: Điểm danh 15 Chrome Extension dành cho các lập trình viên

9. How to Win Friends and Influence People - Dale Carnegie

How to Win Friends and Influence People - Dale Carnegie

Từ góc nhìn của người bên ngoài, viết code được cho là một trong những kỹ năng quan trọng nhất của kỹ sư phần mềm. Tuy nhiên, việc có thể lắng nghe và giao tiếp hiệu quả còn quan trọng hơn rất nhiều. Cuốn sách How to Win Friends and Influence People (Đắc nhân tâm) của Dale Carnegie sẽ cung cấp cho bất kỳ ai – ngay cả lập trình viên – những công cụ để đàm phán và cảm thông với các bên liên quan.

Sử dụng cuốn sách này để có được kết quả tốt hơn trong việc thiết lập và quản lý mong đợi. Sau khi đọc và thực hành các kỹ thuật, bạn sẽ được trang bị đầy đủ kiến thức để hiểu người khác và khuyến khích họ hiểu được các giải pháp của bạn. Vì vậy, bạn có thể dành nhiều thời gian hơn để xây dựng những thứ bản thân mình yêu thích.

10. HTML & CSS: Design and Build Web Sites - Jon Duckett

HTML & CSS: Design and Build Web Sites - Jon Duckett

HTML & CSS: Design and Build Web Sites (tạm dịch: “HTML & CSS: Thiết kế và xây dựng Web sites”) của Jon Duckett là cuốn sách bạn sẽ đặt trên bàn của mình và mỗi khi đọc nó, bạn sẽ học được một điều mới. Đây không phải là quyển sách mà bạn chỉ đọc qua một lần, bạn sẽ phải đọc thường xuyên và ngẫm nghĩ về nó.

Đó là minh họa rõ ràng và các ví dụ về code làm cho HTML trở nên sống động. Cuốn sách này được thực hiện với các thông số HTML và CSS mà các nhà phát triển cần ghi nhớ và học qua mỗi lần đọc. Sử dụng nó như cuốn từ điển để tìm thứ gì đó (khi Google không còn giúp ích được nữa), hoặc khi bạn chỉ muốn bổ sung kiến thức của mình về thiết kế trang web. Trên bàn cà phê, nó sẽ làm cho bạn trông giống như coder hipster mà tất cả chúng ta đều mong muốn có được.

Tham khảo thêm một số bài viết:

Chúc các bạn vui vẻ!

Thứ Hai, 02/04/2018 08:22
51 👨 3.470
0 Bình luận
Sắp xếp theo