Top Book Recommendations
Recently I was talking to a co-worker and we were chatting about what we asked candidates during an interview. I found out that they asked what books the candidate have read and liked and I found it interesting and started to reflect on it some.
It occurred to me that in general we don't talk about books enough. Instead all we do on social media is send around micro and macro blogs. So, I decided to writeup my list of top book recommendations. I apologize if I missed any and some I intentionally left off (such as books from Donald Knuth which I always do enjoy but find to be too academic for me but if that is your jam go for it, he is brilliant and his books are rich with goodies).
In no particular order!
The Linux Programming Interface: A Linux and UNIX System Programming Handbook
This book is wonderful. It speaks to you as a software engineer and not a system administrator when it comes to linux. It provides a foundation to understand how the OS behaves when you write applications that run on it.
Kafka: The Definitive Guide: Real-Time Data and Stream Processing at Scale
This is the most comprehensive guide to understanding Kafka you can get.
Observability Engineering: Achieving Production Excellence
Everything you should be doing as a software engineering whether it is for operator or security is making your systems observable.
Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems
From the link --> In this practical and comprehensive guide, author Martin Kleppmann helps you navigate this diverse landscape by examining the pros and cons of various technologies for processing and storing data. Software keeps changing, but the fundamental principles remain the same. With this book, software engineers and architects will learn how to apply those ideas in practice, and how to make full use of data in modern applications.
could not have said it better myself. Now that we are moving more into an object storage world things will be changing and you can see this with projects like https://github.com/slatedb/slatedb and the recent acquisition by Confluent of Warpstream.
Applied Cryptography: Protocols, Algorithms, and Source Code in C
I read this book early on in my career during the dot com boom. I was working for a consulting company and one project I had was for a digital text book company. They wanted to implement DRM using Blowfish. So, I worked on that and even had a problem and emailed Bruce Schneier and he responded to me to help me figure out my problem. It was awesome. I continued reading this book over and over again and eventually started my own Security Software Company (which I sold to a public company) and my love for all aspects of Security up to this day started here.
The Art of UNIX Programming
领英推荐
Ok, I haven't read this book yet but it is on my reading list when I get back to reading after I get done writing my books. I get this one on a good recommendation so I feel comfortable telling others about it.
Learn You Some Erlang for Great Good!: A Beginner's Guide
The BEAM runtime is still a thing. It used by the Elixir community that have built up a wonderful ecosystem of tools and companies relying on the BEAM. Elixir is basically just macros around Erlang so instead of telling you about Macros and Elixir I suggest you read and learn Erlang. Its like eating your vegetables.
Clojure for the Brave and True: Learn the Ultimate Language and Become a Better Programmer
Kotlin developers should read this book to become better Kotlin developers. Besides that I am a polygot and love programming languages and Clojure is a favorite of mine. I had the opportunity to work at Bloomberg in Clojure for a few sprints because at the time the Apache Storm master was written in Clojure an we needed it to-do something differently. I had known Clojure already so I was excited to-do this but for all the Clojure books this is the best.
Zero To Production In Rust: An introduction to backend development
This book helped me go from zero to building my own s3 proxy server using cassandra and cedar policy engine for permissions (just a prototype I built to learn more about the language) pretty sharply. It wasn't everything but it was the final catalyst.
The Art of Project Management
After reading this book I found myself able to work in and succeed in any type of methodology or environment by apply good practices and integrating them into the great whole. What is in this book has stuck with me since 2005 and not much has changed in the industry so its still relevant.
Mythical Man-Month
You don't need to read this book as long as you understand its premise. Adding more software engineers doesn't make things go faster. If you do not understand that I invite you to read the book and make your own opinion.
Thanks!
Joe Stein
Architect, Developer, Security Professional
1 个月I forgot Camille Fournier's The Manager's Path: A Guide for Tech Leaders Navigating Growth and Change https://www.amazon.com/Managers-Path-Leaders-Navigating-Growth/dp/1491973897/ I used this book to transition from being an IC at the world's largest hedge fund to a manager at the world's fifth largest bank. Eventually I became a managing director overseeing a project with 1,000 people on it. I am glad to be back to being an IC and I can't wait for Camille's new book about platform engineering to come out I expect it to make my list.