Almost everyone has an official list of favourite technical books. This now includes me: Here is mine! I hope that you will find something that you also want to read.
.
Kanban
Successful Evolutionary Change for Your Technology Business
Are you overladen and often have to switch between projects and tasks? Do you want to visualize and limit work-in-progress? Or work in a Kaizen culture of continuous and incremental improvement?
.
This book is a good introduction to
Kanban. It’s a fun and enjoyable read, but most examples are for larger organizations.
.
.
Seven Databases in Seven Weeks
A Guide to Modern Databases and the NoSQL Movement
This book represents a unique fast-moving deep dive into modern databases of all kinds, from relational to document and graph.
.
PostgreSQL, Riak, HBase, MongoDB, CouchDB, Neo4J, Redis and The CAP Theorem
.
.
The Deadline
A Novel About Project Management
A super entertaining story about a project management experiment. Yes, you will learn something, while having a ton of fun!
.
.
Conceptual Mathematics
A First Introduction to Categories
If you like Functional Programming Languages (like Haskell) and you want to understand their foundations in mathematics, then at some point you’ll want to study Category Theory.
.
This book starts as a very easy read and continuously gets more challenging as you uncover the magical world of categories and conceptual mathematics. Greatly recommended. Also see: my blogpost.
.
.
Programming Ruby 1.9
The Pragmatic Programmers’ Guide
The goal of Ruby is to make programmers happy. Do you want to be happy while coding? Then you should learn Ruby.
.
This book will give you a great starting point that explores the basic but also some deeper concepts of Ruby. You will be enlightened. Also see: my blogpost.
.
.
Thinking about Android Epistemology
(No, not those smart phones; but maybe.. some day?)
A series of enjoyable and not-too-much-technical essays. You will be confronted with questions of epistemology (the study of knowledge) and philosophy of minds so very different from ours (and yet so equal) – artificial machines.
.
.
GUI Bloopers 2.0
Common User Interface Design Don’ts and Dos
Did you ever build a piece of software with a graphical interface? Was it perfect? Are you sure? Please read this book now. It’s also very fun.
.
.
Learn You a Haskell for Great Good!
A Beginner’s Guide
This hilarious book (just look at what the sun has to say at the website!) teaches you functional programming fundamentals from the ground up to mastering functors, applicative functions, monoids, and even the dreaded monads. Those won’t scare you any more, but will be your best friends afterwards.
.
The e-book is free. Also see: my blogpost.
.
.
Haskell Road to Logic, Maths and Programming
(Warning: complex – hard work required!)
This book is an in-depth introduction into the mathematics that lie behind functional programming languages and computer science.
.
Don’t be fooled – this won’t teach you Haskell. It is best to learn the tool – Haskell – first, before starting this complex but beginner-friendly book.
.
.
Clean Code
A Handbook of Agile Software Craftsmanship
‘Programmers who satisfy themselves with merely working code are behaving unprofessionally. .. Bad code rots and ferments, becoming an inexorable weight that drags the team down.’
Mandatory reading for aspiring professional developers. Be warned that this is a very opinionated book and it exclusively uses Java – but with the right set of scepticism you will be able to pick many life-long lessons.
.
Please-please don’t be one of those that don’t care about the quality of their code. Please! I beg you.
.
.
Domain Driven Design
Tackling Complexity in the Heart of Software
This book will teach you how to design robust and maintainable application for complex problem domains.
.
Heureka! You will add many useful items to your object-oriented-design tool belt.
.
.
Gödel, Escher, Bach
An Eternal Golden Braid
‘Hofstadter’s Law: It always takes longer than you expect, even when you take into account Hofstadter’s Law.’
A magnificent journey about K. Gödel‘s Incompleteness Theorem, M. C. Escher‘s self-referential worlds, J. S. Bach‘s mathematical music, formal systems, the self, the meaning of meaning, cognition, ant colonies, and indeed very strange loops.
.
.
Learn You Some Erlang for Great Good!
A Beginner’s Guide
Similar to Learn You a Haskell for Great Good! but for Erlang.
.
Erlang and the Open Telecom Platform are different, useful and a fun learning experience. Hey, Prolog-style syntax. But as always: Don’t drink too much Kool-Aid! Also take a look at Elixir.
.
:edit: Added Learn You Some Erlang for Great Good!