The following post was written by Veronica Sampson-Merryfield.
I have been teaching courses in software for start-ups for a while and have a number of book recommendations for programmers and entrepreneurs alike, new to software engineering.
If you can only read one, read these two!
Mythical Man Month: Essays in Software Engineering
By Frederick Brooks
This is a set of essays and comments Fred wrote as a result of his time as a project manager at IBM, in the era of the 360 project. Anyone in software or project management can learn much from Fred.
From Zero to One: Notes on Startups, or How to Build the Future
By Peter Thiel and Blake Masters
Peter's experiences with his start-ups are clearly presented here with a lot of great advice for start-ups in general. Go to market early, and simply, is a reoccurring theme that I can't emphasize enough.
Creativity Inc.: Overcoming the Unseen Forces That Stand in the Way of True Inspiration
By Ed Cutmull
Software engineers and programmers are creatives. Managing them and the work process is hard. While Ed talks about his time managing Pixar, where the creative process was film, much of the process for effectively managing the software process and the creatives is the same.
Zen and the Art of Motorcycle Maintenance: An Inquiry into Values
By Robert M. Pirsig
Despite the title, this is a book about quality, in ones self and ones work.
This is the ISO quality standard and contains all the guidance you could ever want if you care about quality, which you should. Quality is much easier to build from the start than to retrofit later.
The Artists Way
By Julia Cameron
Many of us find ourselves blocked. The artist or creative in us just runs out of steam. Julia's book, while aimed at writers, has much to help creatives, plus a ton of references to other great books. Most engineering disciplines have a creative component that shouldn't be ignored, but frequently is. Understanding your own creative self, the causes of blocks and how to unblock or avoid blocks is critical for ones health and productivity.
Design Patterns: Elements of Reusable Object-Oriented Software
By Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides
Reuse in software, particularly in object-orientated methods, is often touted as it's big advantage. Design Patterns recognizes that the patterns crop up over and over again and make a much better reuse point than the code itself. This book is a great aid to the design process.
The C Programming Language
By Brian Kernigan and Dennis Ricthie
The C++ Programming Language
By Bjorn Straustrop
These two, while language definitions appear dry, contain some nuggets of gold when thinking about the engineering of software. They also provide a great framework in thinking about programming for non-programmers.
Changing Minds: The Art and Science of Changing Our Own and Other Peoples' Minds
By Howard Gardner
Entrepreneurs, managers and sellers are going to find themselves thrown into the world of what people think, as well challenging their own thoughts and views. This is a great book to help understand both what you think and what others think, and how that process of change happens.
The Manager's Path
By Camille Fournier
For the entrepreneur, you will become a manager. Others may be put into positions of managing. This is a great read to ease you into it for the first time.
By Mitchell Kusy and Elizabth Holloway
Like it or not, somewhere along the line you will come across toxicity. This is a great book to help with an extremely difficult subject with lots of great, and practical, advice.
By Sheryl Sandberg
From experiences, particularly during her time at Facebook, Sheryl looks at the issue of equality in the tech workplace in a fresh way.
Cape Breton, Nova Scotia, July 13, 2018