A classic is a book that has never finished saying what it has to say.

— Italo Calvino
The Uses of Literature
This list is not definitive. I will try to keep it up-to-date with my future readings but as there are so many books out there and so few time to devour them, excellent books will always be missing from this list.

Mindset, by Carol Dweck

mindset

Nothing is more important than adopting the right mindset. If you think your abilities are finite, and no advance is possible once you have reached the limit, Mindset will help you reconsider that. By adopting a growth mindset, limits become obstacles to be overcome, and success a reachable goal.

Designing Your Life, by Bill Burnett & Dave Evans

Designing Your Life

Life is a perilous journey among an ocean of destinations. Contrary to popular misconceptions, there is not a clearly defined path we have to find to reach happiness. Designing Your Life highlights there are many paths and multiple destinations we will have to follow during our life. As a developer, there is so many opportunities, so many roles to assume, so many decisions to take. Let Designing Your Life help you reflect by asking you the most pertinent questions.

A Mind for Numbers, by Barbara Oakley

A Mind for Numbers

Developer is probably the most demanding job when it comes to learning — new languages, new paradigms, new frameworks, new architectural styles, new editors, new hosting solutions --- to stay competitive, you have to learn, period. But if school taught us many things, it never took the time to teach us how to learn. With A Mind for Numbers, the reference book behind the MOOC Learning how to learn by the same author, you will learn why we fail to remember and what we can do instead to leverage our remarkable memory. It’s definitely the perfect book to introduce yourself to the subject.

Grit, by Angela Duckworth

Grit

Mindset taught us adopting a growth mindset is imperative to tackle big challenges. But to solve them, we need a more systematic approach than just trying. Grit condenses the research about expertise and shows that passion and perseverance are keys to reach the top. The book cites numerous other books including some presents in this list and is the perfect introduction on the subject of expertise before diving deeper with books like Peak or Flow.

Peak, by K. Anders Ericsson

Peak

There is always a shortest path to reach the top of a mountain. Deliberate practice is the best way to follow this path. Written by one of the two experts on the subject, Peak develops the particular type of practice that help you move forward - doing baby steps outside of your comfort zone, and seeking feedback to focus on the hardest parts. As a programmer, we can constantly try new frameworks, or new languages, but does that make us really more competent. Probably not. We should stop learning different equivalent things and start learning complementary ones. A fascinating reading to debunk the myth of talent.

Deep Work, by Cal Newport

Deep Work

As outlined by Peak, deliberate practice requires long interrupted time spent alone, focusing on tough materials. Oddly, what is necessary to advance is something we can’t do at work; instant messaging, social networks, noisy open spaces, are omnipresent to be sure we never spent too much time without being distracted. As a developer, working in such environment is really counterproductive, particularly in the long term. Deep Work will reveal you the reasons and the strategy to regain your attention back.

The Power of Habits, by Charles Duhigg

The Power of Habits

"`I’m not a great programmer;`", says Kent Beck, "`I’m just a good programmer with great habits.`" To be proficient in our job, we don’t need to work longer, we need to work better. Good habits are the cornerstone of productivity, but as everyone knows, changing habits is far more easily said than done. Consequently, this list would not have been complete without a book on the subject. The Power of Habits is the most popular, and the only one I read, but have a look at newer publications first.

Ego Is the Enemy, by Ryan Holiday

Ego Is the Enemy

A successful career implies having achieved some long-term goals. When it comes to making decisions, your ego could very easily influence you and force you to privilege short-term goals, at the expense of your more valuable ambitions. Ego Is the Enemy presents you two choices — you can be someone or you can do something. Before answering hastily that question, I advise you to read that book first.

Management 3.0, by Jurgen Appelo

Management 3.0

You can be the best developer in the world, you still need good management to do a good job. Indeed, studies showed that management is often the biggest obstacle to successful transformations. In Management 3.0, Jurgen Appelo brings decades of research in complexity theory to support a new style of management that help people foster and bring the most values to the company. Clearly, this is one of the most outstanding book that I had ever read. Every developer will be delighted by the content even if the book targets managers (of course.)

Quiet, by Susan Cain

Quiet

I can hardly say that Quiet is a recommended reading for every developer, but if you ask me the book that influenced me the most, without a doubt, it would be Quiet. This book succeeds in highlighting the subtleties of the personality trait that differentiate us the most. If you are introvert, forgot all other books of this list and go reading Quiet without delay. It will transform your introversion in a strength to exploit even in a world that can’t stop talking.

This list is not definitive and will never be. Moreover, if everyone read the same books, everyone will think the same way, and that’s just boring. In the end, read what inspires you the most and consider this list just as pointers to get you started.