Reading is a great way to "pick the brains" of some of the best thinkers in the world, and can be a fundamental part of levelling up in software development, management and team culture. We chat to software developers, tech leads and CTOs from top companies like Disney, Booking.com, WeTransfer, and Gitlab, who have shared their top reads with us. Here are their recommendations for levelling up in software principles and product management.
If you’ve read any of these books, or have others you’d like to add, let us know in the comments! You can also tweet your own recommendations — just remember to tag OfferZen (@offerzen) so we can see what you’re reading!
“Design Patterns”, E. Gamma, J. Vlissides, R. Helm, and R. Johnson
Recommend by: Donny Wals, iOS Engineer at Disney Streaming Services
Four designers put together concise and simply laid out solutions to the most common and frustrating design problems in object-oriented software. Although an older software book, Donny says that most software problems have already been solved: “My best-spent effort, in my opinion, is reading old stuff, the books that people have been recommending for 10 years or more… because it's almost a bird's eye view of the programming landscape.”
“Chaos Engineering: System Resiliency in Practice”, Casey Rosenthal and Nora Jones
Recommend by: Henrique Boregio, CTO at Primephonic
As more companies move toward microservices and other distributed technologies, the complexity of these systems increases. Rosenthal and Jones pioneered the discipline of Chaos Engineering at Netflix, and this book provides a guide on establishing a framework for thinking about complexity within software systems.
“Composing Software: An Exploration of Functional Programming and Object Composition in JavaScript”, Eric Elliott
Recommend by: Walmyr Filho, former Senior Software Test Engineer at GitLab
Walmyr looks for books that expand his thinking and give him new ways to look at old problems. Eric Elliott unpacks the basics of function composition and object composition, and explores them in the context of JavaScript. Simply, it gives a framework for breaking complex problems down into smaller problems and composing those solutions.
What are your favourite books? Let us know in the comments what books have helped you in your career, and why they’ve had such an impact!