Recommended books for CTOs and Software Developers
Design, architecture, craftsmanship, and code quality
Refactoring: Improving the design of existing code by Martin Fowler (and most other books he wrote): If you only read one book, make it this one. Being able to recognise bad code, and change it into good code is the most valuable skill for knowing how to write good code in the first place, and to fix your bad design decisions over time.
Patterns of Enterprise Application Architecture by Martin Fowler
A Philosophy of Software Design by John Ousterhout
The pragmatic programmer: your journey to mastery by David Thomas and Andrew Hunt
Code Complete by Steve McConnel
Design Patterns: Elements of Reusable Object-Oriented Software by the gang of four
Head First Design Patterns: A Brain-Friendly Guide by Eric Freeman
Beyond software architecture: Creating and sustaining winning solutions by Luke Hohmann
Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems by Martin Kleppmann
A Common-Sense Guide to Data Structures and Algorithms, Second Edition: Level Up Your Core Programming Skills by Jaw Wengrow
Domain-driven design: tackling complexity in the heart of software by Eric Evans
Shipping software
Continuous delivery: reliable software releases through build, test, and deployment automation by Jez Humble and David Farley
Release It! by Michael T. Nygard
Extreme Programming Explained: Embrace Change by Kent Beck
Java
Thinking in Java by Bruce Eckel
Effective Java by Joshua Block
Java concurrency in practice by Brian Goetz
Python
Fluent Python by Luciano Ramalho
Web development
CSS in Depth by Keith Grant
Collaboration, communication, organisation, and teamwork
Exploring requirements by Gerald M. Weinberg
Peopleware: productive projects and teams by Tom DeMarco
Mythical man-month by Frederick P. Brooks Jr.
Managing humans: biking and humorous tales of a software engineering manager by Michael Lopp
Being geek: the software developer’s career handbook by Michael Lopp
User Story Mapping by Jeff Patton
Escape Velocity: Better Metrics for Agile Teams by Doc Norton
Becoming a Technical Lead by Gerald M. Weinberg (and most other books he wrote)
The Manager’s Path: A Guide for Tech Leaders Navigating Growth and Change by Camille Fournier
Startups and business
The hard thing about hard things: building a business when there are no easy answers by Ben Horowitz
Zero to one: notes on startups, or how to build the future by Peter Thiel
The lean startup: how constant innovation creates radically successful businesses by Eric Ries
Rework by Jason Fried and David Heinemeier Hansson
Startup CXO: A Field Guide to Scaling Up Your Company’s Critical Functions and Teams by Matt Blumberg, et al.
UX and UI design
The design of everyday things by Don Norman
Don’t make me think by Steve Krug
The inmates are running the asylum: why high tech products drive us crazy and how to restore the sanity by Alan Cooper
Designing interactions by Bill Moggridge
Maths, statistics, finance
Naked statistics: stripping the dread from the data by Charles Wheelan
Economix: How and Why Our Economy Works (and Doesn’t Work) in Words and Pictures: How and Why Our Economy Works (and Doesn’t Work) in Words and Pictures by Michael Goodwin