Books


How to become a great software developer? While a Computer Science degree can help, it’s not the answer if you ask me. I won’t pretend to have that either. What I do know is that reading must be a part of it. I tend to give out the same list of books whenever the subject comes up.

I would suggest starting at the top, though begin wherever you like. It’s better to read anything then never get going. If you get tired of reading I added some related talks. You could also start with one of those to get a feel for the subject.


  1. The Programmer’s Brain
    by Felienne Hermans

  2. The Pragmatic Programmer
    by David Thomas and Andrew Hunt

  3. Refactoring
    by Martin Fowler
    Related talks:

  4. Clean Architecture A Craftsman’s Guide to Software Structure and Design
    by Robert C. Martin
    The Appendix is a great read, might be a good place to begin if you find the start a bit too technical. Alternatively you could read Clean Code, however most of its advise is already discussed in The Pragmatic Programmer and Refactoring. This conversation between Robert and Casey in response to Casey’s critisim on Clean Code is a great addition or summary of some of the points.

  5. A Philosophy of Software Design
    by John Ousterhout
    I’ll be honest, I still got to find the time to finish this one. It caught my attension after reading the wonderfull discussion between its author and Robert C. Martin.

  6. Test-Driven Development by Example
    by Kent Beck

Fantasy

Arcane

It’s important to have fun :)

  • Assassin’s Apprentice
    by Robin Hobb
    I could not put it down, some of the most intense writing I have ever read.
  • Luck in the Shadows
    by Lynn Flewelling
    Tense from the beginning with unique world building

Sciency

  • Forward the Foundation
    by Isaac Asimov
    Moved me emotionally in a unique way (I do not want to spoil it). Its impressive how well the passage of time is made real in Asimov’s books.