Có gì trên giá sách kỹ thuật phần mềm của tôi

Luôn cập nhật và không ngừng cải tiến là một phần công việc của một kỹ sư phần mềm.

Có rất nhiều cách để nghiên cứu những điều mới trên internet như MOOC, hướng dẫn và bài báo. Tuy nhiên, đôi khi một cuốn sách vật lý là lựa chọn tốt nhất , đặc biệt khi nó là “tài liệu tham khảo” cung cấp kiến ​​thức sẽ tồn tại trong nhiều năm tới. Chúng ta có thể đặt nó trên giá sách của mình và xem qua nó mỗi khi cảm thấy cần thiết.

Đây là danh sách các sách tham khảo mà tôi giữ trên giá sách kỹ thuật phần mềm của mình. Tôi hy vọng nó có thể là một nguồn cảm hứng cho tất cả mọi người đang tìm kiếm một cái gì đó thú vị để đọc! ?

Những gì tôi có trên giá sách của mình

Mẫu thiết kế: Các yếu tố của phần mềm hướng đối tượng có thể tái sử dụng

Đây là một cổ điển.

Trong cuốn sách này, cái gọi là "Bộ tứ" trình bày 23 mẫu thiết kế đã thúc đẩy thế giới Hướng đối tượng trong nhiều thập kỷ. Các mẫu mới đã được tạo ra kể từ đó, nhưng những mẫu trong cuốn sách được coi là nền tảng của tất cả các mẫu khác.

Nó không phải là một cuốn sách dễ đọc, nhưng bạn nên xem nó để hiểu nơi để tìm những gì bạn cần vào mỗi dịp. Giữ nó trên bàn làm việc của bạn và xem qua nó khi bạn đang xây dựng một cái gì đó và có cảm giác, "Những gì tôi đang làm nghe có vẻ quen thuộc." Bạn có thể sẽ phát hiện ra rằng bạn đang cố gắng thực hiện một mẫu thiết kế đã được mô tả trong cuốn sách này.

Mã sạch: Sổ tay thủ công phần mềm Agile

Tôi đã đọc cuốn sách này nhiều năm trước, nhưng nó đã gắn bó với tôi kể từ đó.

Đây là một nguồn tuyệt vời của các phương pháp hay nhất để tạo ra mã sạch, dễ đọc và tránh mùi mã. Cuốn sách chủ yếu tập trung vào Java / OOP, nhưng rất nhiều lời khuyên có thể áp dụng cho mọi ngôn ngữ hoặc mô hình lập trình.

Viết mã có thể bảo trì và đọc được không phải là điều xa xỉ - đó là điều mà mọi kỹ sư phần mềm giỏi nên khao khát . Cuốn sách này sẽ cung cấp cho bạn những kiến ​​thức để biến điều đó thành hiện thực.

Chú Bob đôi khi có thể hơi cực đoan và tôi không đồng ý với chú về tất cả các kỹ thuật đã trình bày. Đề xuất của tôi: hãy đọc nó và chỉ mang theo những điều bạn cảm thấy đúng. Trong mọi trường hợp, nó là một cuốn sách đáng đọc .

Learn You a Haskell for Great Good !: Hướng dẫn cho Người mới bắt đầu

Đây là một cuốn sách về ngôn ngữ lập trình Haskell, vậy tại sao phải mua nó và giữ nó làm tài liệu tham khảo? Lý do của tôi là:

  • Đây là một cuốn sách được viết rất hay và dễ đọc về một chủ đề không dễ dàng như lập trình hàm
  • Nó cung cấp cho bạn nền tảng của tư duy chức năng, không chỉ là cú pháp Haskell
  • Haskell là một ngôn ngữ rất thanh lịch và tôi thích nó

Đây là cuốn sách đã giới thiệu cho tôi về lập trình hàm. Hiện tại, tôi chủ yếu lập trình bằng Scala, nhưng quá trình chuyển đổi đã dễ dàng hơn rất nhiều sau khi học những kiến ​​thức cơ bản về Haskell.

Lập trình chức năng không dễ dàng, nhưng nó sẽ mở mang đầu óc của bạn. Nó có thể rất lý thuyết, và áp dụng nó vào thực tế bằng cách sử dụng Haskell sẽ giúp ích rất nhiều .

Ngoài ra còn có những bức vẽ rất đẹp trong cuốn sách, vì vậy bạn không có lý do gì để không lướt qua nó. ?

Lý thuyết danh mục cho lập trình viên

Cuốn sách này bao gồm lý thuyết Danh mục , là nền tảng của mô hình lập trình chức năng.

Chủ đề khá phức tạp đối với những người không chuyên về toán học, nhưng tác giả đã rất nỗ lực để làm cho nó dễ hiểu đối với các nhà phát triển. Tôi thừa nhận rằng tôi đã gặp một số khó khăn khi đọc nó, nhưng tôi muốn xem lại nó một lần nữa.

Cuốn sách này không bắt buộc để trở thành một lập trình viên chức năng tuyệt vời. Hãy đọc nó nếu bạn thích thử thách và muốn tìm hiểu sâu hơn về cơ sở lý thuyết của lập trình hàm.

Thiết kế các ứng dụng chuyên sâu về dữ liệu: Ý tưởng lớn đằng sau các hệ thống đáng tin cậy, có thể mở rộng và có thể bảo trì

Đây là yêu thích của tôi, có lẽ bởi vì tôi yêu các hệ thống phân tán! :-D

Trong cuốn sách này, Martin Kleppmann mô tả tất cả các khía cạnh khác nhau của hệ thống phân tán, từ tuần tự hóa đến các mô hình nhất quán và đồng thuận, chuyển qua các công cụ cơ sở dữ liệu khác nhau. Anh ấy cũng khám phá các xu hướng mới liên quan đến các ứng dụng theo hướng dữ liệu.

Trong thế giới của các ứng dụng dựa trên microservices gốc đám mây, điều cơ bản là phải biết các khía cạnh khác nhau của hệ thống phân tán. Kiến thức được cung cấp bởi cuốn sách này không gắn liền với một công nghệ cụ thể và sẽ có giá trị trong toàn bộ sự nghiệp của bạn trong lĩnh vực kỹ thuật phần mềm .

Release It !: Thiết kế và Triển khai Phần mềm Sẵn sàng Sản xuất

Tôi đang đọc cái này bây giờ.

Chúng tôi đã hoàn thành sau khi phần mềm của chúng tôi được đưa vào sản xuất chưa? Không, đó chỉ là bắt đầu!

Cuốn sách này nêu bật những sai sót có thể xảy ra sau khi phần mềm được đưa vào sản xuất và phải đối mặt với người dùng thực. Nó mô tả các mô hình chống có thể phá hoại sự ổn định của phần mềm của chúng tôi, cũng như các giải pháp cho những vấn đề như vậy.

Điều tôi thích nhất ở cuốn sách này là mỗi chương đều bắt đầu bằng một ví dụ lấy từ cuộc sống thực. Sau đó, tác giả phân tích các vấn đề khiến phần mềm bị lỗi trong quá trình sản xuất. Tôi nghĩ học từ những ví dụ cụ thể là một cách tiếp cận rất hiệu quả.

Giới thiệu về các thuật toán

Tôi có thể nói gì về cuốn sách này? Chỉ cần mua nó và giữ nó trên bàn làm việc của bạn .

Nếu bạn là một kỹ sư phần mềm, có nhiều khả năng bạn phải nghiên cứu cấu trúc dữ liệu và thuật toán. Không phải lúc nào cũng dễ dàng đối phó với sự phức tạp hoặc chọn đúng cấu trúc dữ liệu.

Khi nghi ngờ nảy sinh, hãy mở cuốn sách này ra và bạn sẽ tìm thấy thứ mình cần.

Đối với hầu hết mọi người (bao gồm cả tôi), đây là một cuốn sách rất khó đọc. Tôi thường chỉ đọc những gì tôi cần biết vào thời điểm đó và để cuốn sách trong tầm mắt trên bàn làm việc.

Hyperfocus: Cách quản lý sự chú ý của bạn trong một thế giới mất tập trung

Đây không phải là một cuốn sách kỹ thuật, nhưng nó nằm trong bộ các bài đọc đã thay đổi cuộc sống của tôi trở nên tốt đẹp hơn.

Công việc của chúng tôi với tư cách là kỹ sư phần mềm bao gồm giải quyết các vấn đề bằng trí óc của chúng tôi. Để đạt được hiệu quả trong nhiệm vụ này, chúng ta cần khả năng hoàn toàn tập trung vào vấn đề mà chúng ta đang giải quyết .

Tại đây, bạn có thể tìm thấy nhiều gợi ý và kỹ thuật để tối đa hóa thời gian bạn có thể tập trung vào một nhiệm vụ. Tác giả cũng thảo luận về tầm quan trọng của việc để tâm trí bạn đi lang thang khi bạn cần sáng tạo hơn.

Nắm vững cách sử dụng sự chú ý là điều sẽ cải thiện không chỉ hiệu suất của bạn trong công việc mà còn cải thiện mọi khía cạnh khác trong cuộc sống của bạn.

Những gì tôi sẽ thêm vào giá sách của mình

Lập trình viên thực dụng

Đây là một trong những cuốn sách nổi tiếng nhất về phát triển phần mềm.

Những đề xuất và kỹ thuật được trình bày trong cuốn sách này đã ảnh hưởng đến sự nghiệp của nhiều nhà phát triển và kỹ sư để tốt hơn. Cuốn sách được xuất bản vào năm 1999, nhưng bây giờ nó đã có sẵn dưới dạng ấn bản kỷ niệm 20 năm mới và cập nhật.

Bạn không thể bỏ lỡ điều này. :-)

Tái cấu trúc: Cải thiện thiết kế của mã hiện có

Thật khó để luôn cung cấp mã chất lượng cao. Hạn chót, gấp gáp, một ngày tồi tệ đều ảnh hưởng đến chất lượng công việc của bạn.

Đó là lý do tại sao việc tái cấu trúc lại rất quan trọng. Nếu chúng tôi không thể cung cấp chất lượng lần đầu tiên, chúng tôi có thể cải thiện chất lượng sau đó để có khả năng bảo trì tốt hơn. Martin Fowler (một trong những thần tượng của tôi trong giới phát triển phần mềm) mô tả các kỹ thuật tốt nhất để tái cấu trúc hiệu quả.

Sẽ luôn có không gian trên giá sách của tôi cho những cuốn sách giúp tôi viết mã tốt hơn.

Phần kết luận

Đây là danh sách những cuốn sách phải có của tôi về kỹ thuật phần mềm. Nó hoàn toàn không phải là một danh sách đầy đủ những cuốn sách "quan trọng" trong lĩnh vực này, và tôi chắc rằng tôi sẽ bổ sung thêm nhiều cuốn sách hơn nữa trong những năm tới.

Hy vọng rằng tôi đã cho bạn một số mẹo hay về cuốn sách tiếp theo mà bạn nên đọc. ?

Hẹn gặp lại !?