Types of books

Technology-specific books

Very valuable, but they expire. Essential for the immediate need, when we need to learn a new framework, language or other software we need to use.

They are also great when you plan your next career step to fill the gap between your current and desired jobs requirements.

Conceptual books

Give us the foundation to advance in our careers. They introduce new concepts, paradigms, and practices to us.

Knowledge most of the time cannot be applied immediately, and it can take significant amount of time to digest it.

Examples are books on Test-Driven Development, Domain-Driven Design etc.

Behavioral books

They cover more “human” and professional side of software development, and make us more efficient in teams and better professionals in general. They help us learn how to deal with people, clients, deadlines, team members etc.

Knowing only technical stuff is not enough to be a professional.

Examples are books on Agile methodologies, Software craftsmanship, Lean Software Development, psychology, philosophy and management.

Revolutionary books (classics)

Books that change the way we work or some of our personal values.

Examples are: Refactoring, The Pragmatic Programmer, Clean Code etc.

Where to start

Favor conceptual and behavioral books for your career progression, starting with the revolutionary ones. Read technology-specific books for your short- and medium-term plans.