Sant Jordi, Catalan St George's day on April 23rd, is a very special tradition in Catalonia. Streets fill with stands, where people buy books and roses as a present to those they love. This year we are a bit sad, since due to COVID-19 all the celebrations have been cancelled.
We want to make this day special despite the current situation, so a few codegrammers wanted to share some of the books that have helped us during our careers as programmers, project managers or designers. The best part of it is that most (if not all) are available online, so you'll be able to read them safely from your home. Let's celebrate reading! 📚🌹
(Please note that none of the links are affiliate links)
Being Geek: The Software Developer's Career Handbook, by Michael Lopp
Recommended by Núria
I read this book back when I did not consider myself a programmer yet, but I was working in the industry (I was more focused on design, and HTML and CSS development). It helped me realise that I was not happy in the company I was working at the time, I learned to recognize red flags in an organization, and it empowered me to start my journey into programming.
Test Driven Development: By Example, by Kent Beck
Recommended by David
A few years ago I started using Test Driven Development (or TDD for short) and I hated it! It's not like I didn't want to test things, because I think testing is extremely important for big systems, but the methodology itself was a pain for me. I decided to read a few books about it but most of them were technology-oriented. I finally found this book and I liked it! I still don't like TDD but this book changed my vision and I use it most of the time while developing new features. I don't follow a strict TDD approach but close! The examples of the book are great and easy to follow.
Functional Programming in Scala, by Paul Chiusano and Runar Bjarnason
Recommended by Oriol
Even though I don't use Scala usually, this book really helped me get into functional programming. It's quite accessible and it combines theory with quick exercises to keep learning and understanding the principles of FP. If concepts like generics, monads, monoids, or functors sound like total gibberish and you'd like to learn more about them, this is your book!
Recommended by Anna
This was the first programming book I read and was recommended to me when I first started learning. I found it very logical and liked how the author used examples to explain the code. There are also exercises at the end of each chapter to test your understanding. It starts off basic but get’s pretty involved once you get into it, so I think it’s a book you could take your time reading as you’re learning. The best part is it’s available free online so if you’re just dipping your toe into programming to see if you like it, you don’t need to fork out for an expensive book!
The Infinite Game, by Simon Sinek
Recommended by Eva
I read this book after watching this talk. The book is about strategy and balancing short-gains with long-term ideas. Building products with shared values and propose as a team make an impact and are the basics of an infinite mindset.
In these times of pandemic, this has also come to mind:
"a company which builds with an infinite mindset is resilient, not stable. Resilient to an unpredictable change, markets shift, or new competitor — a resilient company can withstand and be transformed by the change"
Practical Object Oriented Design, by Sandy Metz
Recommended by Elisa
It’s the book that I’m reading currently and it’s one of those books that grips you from the first moment.
It teaches you to think before programming, it shows us how we should organise our code to make it readable and easy to maintain over time, all backed by a large number of examples.
It’s one of those books that when you re-read it continues to teach you new things.
Learn You a Haskell for Great Good! by Miran Lipovača
Recommended by Armand
Haskell is what I expected programming would be before my first acquaintance with it. I had no idea yet that it can be an imperative affair most of the time (of course, I would not have used these terms by then). When I heard about it later on, it was love at first sight.
Regardless of its real-world applications, Haskell is a delight to play with. Once you understand what is going, it gives you both that rare feeling of elightenment and some insights that will help you elsewhere in your day-to-day programming.
However, both the Haskell ecosystem and community are not known for being the most welcoming ones. That is why I am recommending this book, as it is the one that finally helped me take the first steps into it.
And it's witty, it has cute drawings and it's free on the internets! 🎉
Crossing the chasm, by Geoffrey A. Moore
Recommended by Divins
The point of greatest peril in the development of a high-tech market lies in making the transition from an early market dominated by a few visionary customers to a mainstream market dominated by a large block of customers who are predominantly pragmatists.
The gap between these two markets is what we call the chasm and must be a primary focus of any long-term high-tech marketing plan.
This book gives imho a nice marketing vision that has helped me understand the need of changing strategies while your product matures and the target audience changes.
Clean Code, by Robert C. Martin
Recommended by Edgar
When I read this book for the first time it completely changed the way I was writing code. For me it's such a great book because it explains how you can write more readable and easier to test code and it also shows the importance of doing so.
Hello Ruby, by Linda Liukas
Recommended by Svenja
First of all, I have to admit that I actually didn't read these books (there's more than one and they are available in more than 20 languages) but I love everything about the idea behind: showing kids the world of computers, programming and technology. And teaching this knowledge in such a marvellous way with (in my opinion) gorgeous illustrations and really nice examples (you can find some on her website).
why's (poignant) Guide to Ruby, by why the lucky stiff
Recommended by Agustí
An entertaining introduction to Ruby, an unusual programming book with cartoons and humor. I recommend to read it just for the sake of reading it.
The book is distributed under the Creative Commons Attribution-ShareAlike license.
Inventing Bitcoin, by Yan Pritzker
Recommended by Faith
This is a great short book explaining what Bitcoin is, Why it is important and who controls it. It gives high-level explanations of the concepts so it's a great resource for beginners to understand the history of bitcoin and where it's headed.
Cover image by Ajuntament de les Franqueses del Vallès