10 đầu sách cải thiện khả năng tư duy 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, sách gì cũng không quan trọng”.
Một 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 đó, diề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à 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ì tôi khuyên bạn nên đọc những cuốn sách sau:
Moonwalking with Einstein
Moonwalking with Einstein của 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, 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ư những gông cùm khóa chặt tiềm năng của họ lại. Và có một sự thật rằng các nhà phát triển ngày 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 này 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. Tác giả tiết lộ các mẹo về để ta có thể luyện trí nhớ tốt nhất có thể.
You Don’t Know JS
Bạn chả biết gì về JS! của Kyle Simpson – Đây là một series sách mà bạn nên xem nó là kinh thánh cho JavaScript. Bất cứ nhà phát triển JS 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ố kiến thức của bạn về một số phần phức tạp nhất của JavaScript.
Clean Code
Code sạch của Robert C. Martin – Tác giả của cuốn sách này đượ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 đẹp 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 xác định giữa code tốt và xấu, cũng như cách làm sạch code của mình.
Software Craftsmanship: The New Imperative
Nghệ thuật trong viết phần mềm của Pete McBreen – Các nguyên tắc trong cuốn sách cũng rất đồng điệu với cuốn Clean Code. 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. Quyể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ự là một bậc thầy trong phát triển phần mềm.
7 Languages in 7 Weeks: A Pragmatic Guide to Learning Programming Languages
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 – 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 hiện nay. Cuốn sách này sẽ giúp bạn thấu hiểu nhanh code của những ngôn ngữ mới này, ngay cả khi bạn không có kế hoạch trở thành một người đa 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ữ 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, chúng là Clojure, Haskell, Io, Prolog, Scala, Erlang và Ruby.
7 Databases in 7 Weeks: A Guide to Modern Databases and the NoSQL Movement
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 – 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 của họ để 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 này 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.
JavaScript the Good Parts
Phần tốt của JavaScript của Douglas Crockford – JavaScript phát triển rất nhanh ngày nay. Nhanh tới mức 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 này, bạn sẽ quay trở lại các vấn đề cơ bản và tìm hiểu nhiều về nền tảng của JavaScript và những sai lầm để tránh. Vì 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á chúng một cách 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 code của người khác. Hiểu tại sao nên tránh một số lĩnh vực của JavaScript cũng sẽ giúp bạn tạo ra phần mềm tốt hơn.
Think and Grow Rich
13 nguyên tắc làm giàu của 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 này sẽ làm cho 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.
How to Win Friends and Influence People
How to Win Friends and Influence People bởi 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 này 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à thông cảm 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ý sự mong đợi. Sau khi đọc và thực hành các kỹ thuật, bạn sẽ được trang bị đầy đủ để hiểu người khác và khuyến khích họ nắm lấy 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.
HTML & CSS: Design and Build Web Sites
HTML & CSS: Thiết kế và xây dựng Web sites của Jon Duckett – Đây là cuốn sách bạn sẽ đặt trên bàn của mình, và mỗi khi bạn đọc nó, bạn sẽ học được một điều mới. Đây không phải là một quyển sách mà bạn chỉ đọc qua một lần, đó là một cuốn sách mà bạn sẽ phải đọc thường xuyên và ngẫm nghĩ về nó. Sử dụng nó như một từ điển để tìm cái 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.
Techtalk via sdtimes
0 comments:
Đăng nhận xét