5 Books Every Programmer Should Read
And they have nothing to do with programming.
Programming began as a passion that I turned into a profession. But literature has always been my guilty pleasure. And by literature, I don’t mean the great classics—though Jane Austen’s Emma will always be a firm favourite—but literary works of every kind.
You can only exist within a set of limited experiences, but by reading you can participate in the adventures, wisdom and knowledge of others and by so doing, liberate your mind from the limitations imposed by your culture and self-beliefs.
These books are not listed in order of importance, but the selection is intentional — to add value to your life and expand the way you think.
Disclosure: All links contained in this article are for convenience rather than affiliation. This means that I’ve read all books, all opinions are mine and I don’t make a penny if you choose to purchase any of the books. If this changes in the future then I’ll update this disclosure accordingly.
1. Mindset
I read this book six years ago and the concepts discussed have stayed with me. Written by Stanford University psychologist, Carol Dweck, the premise of Mindset is to challenge how you think about your capabilities. When faced with new obstacles, do you relish working hard to find the solution, or do you have a fixed set of ideas of what you can and can’t achieve?
The best thing about Mindset is that the writer takes you on a journey backed by decades of research on the correlation between talent and success as it relates to what you believe about your abilities.
Those with a growth mindset approach problems with excitement about what they’ll learn from the new challenges, and the people with a fixed mindset have predetermined self-beliefs that become a self-fulfilling prophecy about what they can achieve.
This book will raise your thinking to a higher level.
2. Mastery
In an age of coding bootcamps that promise to take you from “zero to expert” developer in 3–6 months, Mastery should be a staple on every programmer’s shelf as a constant reminder that coding is a craft to be honed and not a “quickie” to millions.
What distinguishes Mastery from similar self-help books is that the author gives you a realistic map of the journey to mastery. Here, the notion of instant gratification is replaced with instructions on continual practice; progress is not upwards but with dips, rises and plenty of plateaus to ensure that only the truly committed gain mastery.
Writing software is a craft, respect it.
3. Object Modeling & Flow Diagramming for Designers
Yes, this is a book written for professional UX designers, but here’s the thing, if you’ve ever lived in a house built by property developers who hired engineers and then experienced a house designed by a team of architects and engineers, you’ll know there’s a world of difference.
领英推荐
The architect is an orchestrator of space. A well-trained UX designer is akin to an architect and this book will get you started in the art of design thinking from the ground up.
Understanding how designers think about the user’s journey will make you a more creative problem solver.
4. To Show and to Tell: The Craft of Literary Nonfiction
Sure, you’re a great programmer, but can you explain your knowledge to a junior in a way that they can grasp? When it comes to writing that all-important documentation, do you write clearly and effectively?
To Show and to Tell is written for aspiring non-fiction writers, but it’ll shape how you talk and write about your work; and in a world where content is king, this, my friend, is a lucrative skill to possess.
Build it and they’ll come is dead. Invest in learning how to articulate your work.
5. Plato’s Phaedo
I seriously think it will blow your mind when you discover that a fundamental programming paradigm was stolen from the ancient world!
In Phaedo, Plato separates reality into two distinct realms.
The realm of forms or ideas where perfect, eternal, and unchanging forms or ideas exist. According to Plato, these forms represent the true essence of all things. For example, there is a perfect “Form of a Circle.”
The material world or the realm of appearance, is a sensory world we live in. Everything in the material world is a copy or imperfect reflection of the Forms. So the circle is a copy of the perfect form of a circle.
If this sounds all too familiar, it’s because it is. This is where we get the concept of Object Oriented Programming. The relationship between the Object — the perfect form or blueprint and the instance — the material copy of the perfect form.
Plato is generally regarded by all scholars as one of the greatest philosophers so reading his thoughts and the way he describes the world will refresh your creative spirit. And you never know, it might just ignite you with the next great software design pattern.
As previously stated, these books have been intentionally selected to bring much value to you as a person by getting you to read works that have nothing to do with programming but everything to do with becoming a better programmer.
I hope you enjoy reading them and if there’s a great book you’d like to recommend then let me know in the comment.
Happy Reading!
i.xo
Out of all the authors listed in my article, Heidi Adkisson the author of Object Modeling & Flow Diagramming for Designers is on LinkedIn. She shares #UX content on the platform so I encourage you to check out her profile.