Điều thú vị

Sách gối đầu giường cho lập trình viên

Dưới đây là một số quyển sách rất hữu ích cho các bạn lập trình viên. Tạm gọi là sách gối đầu giường :).  Danh sách này sẽ được mình update liên tục. Khi nào có thời gian rảnh thì sẽ viết bài review chi tiết cho vài cuốn mình tâm đắc.

Nói chung, một trong những tip để trở thành một lập trình viên giỏi – nên đầu tư vào việc đọc sách và tự học. Bạn có thể cắm đầu vào code để quen tay. Tuy nhiên, nếu không hiểu rõ những nguyên lý đằng sau thì code bạn viết, thuật toán bạn nghĩ ra chỉ có mình bạn hiểu và bảo trì được. Tệ hơn nữa, nếu không có phương pháp thì cho dù có khổ luyện 1 trăm năm nữa, bạn vẫn không thoát được cái bóng chỉ là một người quen gõ bàn phím. Lập trình là một nghệ thuật cần cả tư duy, phương pháp và những kĩ năng mềm khác nữa.

Bạn nên bỏ tiền ra mua sách. Mua hard copy càng hay. Trước giờ mình đọc toàn ebook cho các thể loại sách chuyên ngành này. Mãi sau này dần chuyển qua luyện hard copy thấy tâm thế khác hẳn. Một, vì tốn tiền mua nên phải đọc. Hai, trải nghiệm cái cảm giác sống thật hơn thay vì ngồi quẹt quẹt cái điện thoại/ tablet.

Túm lại là: nên mua và đọc sách. Giờ mình vô danh sách chi tiết những quyển sách đáng đọc này nhé.

The clean coder

Một quyển sách thú vị trong Robert C Martin series nói về đạo lập trình. Đây cũng là một chủ đề mình từng viết. Mình nghĩ nó là một quyển sách đáng đọc và đáng suy ngẫm cho bất kì ai. Đơn giản là vì: đạo đức là nền tảng để giúp ta sống tốt hơn. Nhờ sống tốt hơn thì ta mới hạnh phúc và có những nền tảng khác bền vững.

Clean code and code refactoring series

Những quyển này đọc cũng khá lâu. Nó chung với một loạt bộ sách ngày xưa mình đọc: Clean code,  Refactoring, Beautiful Code.

Nói chung, muốn luyện để code lên tay thì phải nắm được nguyên lý về good code và refactoring. Đây là những quyển sách để khai sáng khá nhiều về tư duy coding.

 

Patterns of enterprise application architecture

Đây là quyển sách mình đọc hồi mày mò làm Technical Architect. Quyển này khá dày. Hồi xưa mình luyện cuốn này hơi lâu. Tuy nhiên, nhờ vậy mà cảm ngộ được nhiều thứ trong rất nhiều vấn đề cần xử lý ngoài thực tế và giúp mình hiểu rõ hơn về cơ chế, nguyên lý của rất nhiều giải pháp.

TDD by example

Nếu bạn muốn làm TDD, hiểu và vận dụng bài bản – thì nên đọc quyển này thay vì luyện mấy quyển how to vớ vẩn ngoài giang hồ. Cách Kent Beck trình bày quyển này theo ví dụ rất thực tiễn và dễ hiểu. Lời khuyên chân thành để ngộ cảm được về TDD trong quyển này: đọc xong mỗi chương, nên suy nghĩ mình sẽ vận dụng nó vào ngữ cảnh nào trong những gì mình đang làm.

12 more essential skills for software architects

Quyển này mình recommend nên đọc cho những bạn đang ở level từ senior đến architect. Ngày xưa một anh bạn giới thiệu quyển này cho mình. Đọc xong, nó giúp ta thay đổi rất nhiều về góc nhìn. Thật sự để là một software architect giỏi, có rất nhiều soft skills mình cần trao dồi, chứ không phải chỉ đơn thuần là kĩ năng kĩ thuật nữa.

12-essential-skills

Release It

Quyển này đang đọc. Đây là một quyển sách kết hợp giữa góc nhìn của system engineering và coding. Nó giúp bạn nhìn ra những vấn đề cần phải quan tâm và một số bài học thông qua các practice rất thực tiễn khi release một phần mềm.

Thật tình mà nói 90% những dự án phần mềm đều gặp vấn đề với quản lý cấu hình, từ giai đoạn chuẩn bị đến release. Nếu bạn không nhìn ra những vấn đề này trong quá trình phát triển sản phẩm, bạn sẽ dễ dàng rơi vào rất nhiều thảm hoạ về sau này.

The art of agile development

Là một lập trình viên giỏi, code tốt chưa đủ. Bạn phải hiểu các phương pháp luận của ngành phần mềm. Trong những năm gần đây, phương pháp luận agile là một trào lưu và thường được nhiều nhóm, hãng sản xuất vận dụng. Hiểu được agile development là gì? Những best practices và lý luận cơ sở của agile là một điều tất yếu. The art of agile development là một quyển sách đáng đọc để tìm hiểu về những chân giá trị mà hệ phương pháp luận này mang lại.

Thực tế mà nói, giang hồ Việt Nam hay chạy theo phong trào. Dùng agile như một câu cửa miệng để sale. Vận dụng đúng tinh thần của agile thực sự là CỰC KÌ KHÓ. Nó cần sự kết hợp của nhiều góc nhìn, từ góc nhìn về con người, văn hoá công ty/nhóm, chiến lược về khách hàng, chiến lược phát triển. Nói gì thì nói, nếu bạn đọc những quyển sách về phương pháp luận kiểu này – bạn sẽ hiểu nhiều hơn để tìm cách vận dụng những practice về agile trong một trật tự hỗn độn của giới phát triển phần mềm như hiện nay.

The Toyota way

Trước đây do vô tình nghe về phương pháp sản xuất Toyota. Lúc đó cũng là lúc ở Việt Nam xuất hiện hàng loạt các lớp học đào tạo về Kaizen và Toyota production system của các công ty Nhật. Mình tò mò và mua quyển này (bản tiếng Việt tên là: Phương pháp sản xuất Toyota).

Đây là một quyển sách khá hay về tư duy sản xuất của Toyota. Mình nhiều lần muốn vận dụng một số practice vào những công ty mình đã tham gia ở góc độ của nhóm, tổ chức. Đây là một quyển sách đáng đọc, nghiền ngẫm và cũng rất thú vị nếu bạn tìm được cách vận dụng nó vào chính mô hình sản xuất bạn đang làm việc.

Tạm update đến đây. Khi nào nhớ ra thì viết tiếp 🙂

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: