Technology books that marked me
Technology books, especially the great ones, have a huge effect on our software development careers. Even though there are so many tech books written in this domain, there are only a few that really mark us. A great book does not only help us solve difficult problems, but it also has the power to change our perspective on them.
As bed night stories shaped our childhood, great tech books shape not only our careers but occasionally, even our worldview.
From evergreens to books that respond to a certain problem we asked our colleagues to tell us about the technology books that marked them.
This is how we celebrate Programmers’ day with knowledge, diversity, and guidance.
So, get inspired!
I did read over my last 12 years, many tech books, not exactly hundreds, but tens of. They were about different aspects of this industry, data structures and algorithms, code, patterns, principles, architectures, databases, cloud, and their services, good practices, etc.
The list is long and effective. But the one that gave me the solutions when others failed, was the one that taught me how to do a switch in the way we should think and code.
Going into reactive microservices and reactive systems was not a walk in the park. The road was long and full of terror… but over 4 years the team and I made it through. The book that gave light to us was: “Reactive Messaging Patterns with the Actor Model: Applications and Integration in Scala and Akka” – by Vaughn Vernon – and definitely not the only recommended book from this author.
At the time, in 2015, the subject was quite new, so the mindset of developers was not ready for this shift in the development paradigm.
The book offers practical examples and explanations about what reactive is, how to integrate that in code, and ultimately get huge advantages in performance by doing so. Also, explanations about AKKA and how it works helped us provide a very powerful and cost-effective system that is able to process Billions of database rows on a daily basis.
Level of difficulty: 5 out of 5
It was around twenty years ago when I was at the beginning of my software developer career looking for opportunities to grow in a new and restless market.
I wasn’t very experienced back then, newly graduate of the university, involved in some small personal projects, and with 1 year of work experience in Java and Visual Basic, I decided to change my job and switch to a company that used C and C++ for developing their products. I was always attracted to the power and speed of the C/C++ but never had the chance until then to feel the power, versatility, and elegance of this language.
During the first days at the new company, my boss at that time came to my desk and put a book on my desk: Enough Rope to Shoot Yourself in the Foot: Rules for C and C++ Programming by Allen Holub
First I was amused by the title and the funny drawing on the book cover, but as I was reading the book I started to understand the meaning of it, given that C/C++ is such a powerful tool that it can backfire anytime if you don’t know the basic tips and tricks to handle it.
Looking back now, I still find it one of the most interesting technology books that marked my career and I still fix bugs or give suggestions to new developers based on the tips and tricks I learned from this book.
Level of difficulty: 3 out of 5
C is the programming language that probably contributed the most to the evolution of technology. First developed between 1972-1973 it was hailed due to its simplicity (the syntax is relatively simple) and efficiency (maps well to assembly language constructs). Therefore, programmers can build robust programs with efficient execution and a great lower level control.
Given that it got rapidly standardized it created an ecosystem of compilators by many providers, adding support for most microprocessors and microcontrollers. The very developers of the C language, Dennis Ritchie and Brian Kernighan wrote a book that is iconic. It is a very helpful didactic material, fairly easily comprehensible for students that are interested in programming.
I believe this is an essential read for anyone who wants to get into the ins and outs of the embedded systems programming.
Level of difficulty – 3 out of 5
An all-in-one solution for electronics engineering which is really hard to read from beginning to end, but you will always keep this book near you and look again for details during your tinkering.
A must-have book on everyone’s shelf (or e-book like in my case).
Level of difficulty: 2 out of 5
I was hooked. It amazed me at how many “levels” you can improve and keep your code “clean”. The book gradually builds up the covered scope. It starts with how to correctly name variables, methods, how to break methods with long and confusing method names into smaller ones, each having a limited responsibility. Then it goes on to writing clean classes and this is just the beginning. After reading this book, I firmly believe that code aesthetics are essential to any software system.
The fact that the code works is an extremely insufficient criterion for its quality. The concepts covered in this tech book: clean structure, clarity, encapsulation, and much more simplify the current and future work so that other developers will find their way around this code easier, new features will be implemented easier, maintenance, and tests will be easier, etc. The examples in this book are based on Java but the principles are universal, so they can be applied to any object-oriented language. Anyone reading this book will do himself /herself and other developers who work on his code, a favor.
Ever since reading this book, I find myself “annoying” others with the same suggestions that were once annoying me but at the end that is a good thing. It leads only to code that is easier to read and understand which makes a developer’s life much easier.
Level of difficulty – 2 out of 5
Here are just some of the technology books that marked us in our IT outsourcing journey. Maybe it will help you too whenever you are in need.
Also, feel free to share with us the tech books that marked you!
Happy Programmers’ Day! 🙂