2021, a year of reading
Reading is part of my routine, I try to read as much as the time allows me and in 2021 I could finally achieve the goodreads challenge, reading 14 books along the year. In 2020, I shared the books I read, but I couldn’t meet my goal of 12 books.
As I enjoyed writing about the 2020 books, I am doing the same style in 2021, here is a short list of the books I read and the references I came along the way. Some of those have its own blog post just to go through the details and what are my thoughts.
Mathematics Education for a New Era: Video Games as a Medium for Learning
This book is in the intersection between math and education - and it’s focused for students that are just starting the university - Keith Devlin dives in the math history and the notation needed to get familiar to math formulas and also how to write them.
I got this book from his MOOC (Massive Open Online Course) named: Introduction to Mathematical Thinking which holds the same contents as the book.
Semantic software design
Software architecture has always been of interest to me (C.A, architectural patterns ), maybe because it’s high level characteristics and also how the industry makes it such an important fundamental. Even though, the book is named software design, it starts telling the software architecture history to contrast with the software design.
Deep work is one of these books that gets the name to be trendy. I got interested because I thought I could do more with the tme I have available during the day, and my feeling was kind of correct for this book. In my opinion it has more to do with focus and what you want to achieve, more than anything else. Deep work sounds a good name for marketing.
Nonetheless, the content presented can be used for anything, really, not just work - focusing on today’s era is something difficult. The author also has a podcast that he invites people to talk about the book.
NodeJs design patterns
NodeJs patterns is one of the books I will keep around, it is highly technical and went beyond on what I understood about “patterns”. I had the idea that a book about patterns in nodejs would depict the patterns that appears in code bases while using nodejs, but the book, goes beyond this simple definition and dives deep inside nodejs - how it inside works and it affects the work that developers do.
From ES modules to the event loop, it covers end to end. Although is an awesome book I would not recommend for beginners - this is a book for mid-senior developers.
Talking about mindmap, mindmap mastery was the first book that I read that focus on building mindmaps - Mindmap, is also a way of learning, it helped me to understand that we could use the idea of the brain to depict our understanding about a subject.
I also started to practice mind mapping, and the first that I built is depicted in the next section. I chose the book “Monolith to microservices” because it was my current reading at the time.
Monolith to microservices
Sam Newman in this book goes from the big picture to the implementation in a concise way. As microservices became the trend in the software industry Newman in the book elaborates on strategies in which companies might need or not to adopt microservices.
The book also comes with some side resources, for example, on youtube there is a chat that Sam Newman and Martin Fowler had about the book. In the video Sam suggests that microservices is not something that every company should do, and if it does the reason should be crystal clear - microservices come with a downside in operations, traceability and increase dependency. That’s might be the reason why the monolith first approach should be take into consideration. That not that rare to see cases in which starting with microservices “goes wrong”:
For the past 4.5 years I worked on the distributed Microservices architecture. I wish modular monolith would have been chosen because the initial Microservices choice was driven by the hype rather than real business need. Accidental complexities overwhelmed the business purpose.— Tomasz Jaskuλa (@tjaskula) January 4, 2022
Nevertheless, the book also inspired me to start drawing a mindmap as a companion to what I was understanding from the book and my own gaps.
Depois de ler o livro "Monolith to microservices" do Sam Newman, fiz esse mapa mental, a maioria dos tópicos eu consegui fazer sem consultar o livro, mas os padrões, tive que dar uma espiada xD, o mapa está disponível aqui: https://t.co/gojVvcsNO6 pic.twitter.com/nW668isAEj— Marabesi 💻🚀 (@MatheusMarabesi) March 20, 2021
Last but not least, I also wrote about Yanaga’s book that covers migrating databases to microservices.
THe craftsmanship community started in London, founded by Sandro and colleagues it is a community that gather people together that cares about their craft. Bulding software is hard, and it become harder to do so if even the people that does do not care.
The book has in the title “Professionalism, pragmatism and pride” - which resumes the essence of the book, being passionate about a craft sometimes means going the extra mile. Not only doing what is expected to do, or doing because someone told you to do so, but it is coupled to actively think about the decisions that are made and how to make them.
While reading the book, it feels that it is a conversation between the author and the reader, and sometimes feeling connected because of the anecdotes that the books has about software.
How to take smart notes
Learning for me has been subject that is something I am interested in, I wrote a bout different topics on this area: Learning how to learn and The programmer’s brain. Taking smart notes, for me fits the learning category, as it depicts how smart tricks could improve the taking note process.
Kubernetes up and running
As docker became the standard for building and running containers, kubernetes became the standard to orchestrate them in a production like environment. Kubernetes is used and maintained by google which gives it the credibility to be used across the globe.
The book covers basics from pods, containers, minikube, setting up a local environment and everything in between. I would recommend this book for anyone that want to get start with kubernetes and already has knowledge about containers.
Accelerate is a book to put some data in everything related software development, in the book the 4 key metrics are used as a guide on what to measure and potentially become a innovative company.
I also wrote an entire blog post on my takeaways from the book and shared my opinion as well.
Extreme programming - 2ed
XP is one of my favorites books in 2021, even though I read it in the past it gave me another perspective rereading it, so I also did another blog post just for this book.
There I share step by step on my notes around the points I got from the book.
The pragmatic programmer - 20th year anniversary
In this special edition the pragmatic programmer not only updated the book content but also added some interesting new discussions.
Migrating to microservices database
Migrating to microservices is a short and concise book that I will use as a reference for any kind of migration - not only microservices. The book depicts a few strategies to deal with database and highlights the importance of the data in today’s era.
I wrote an entire blog post around this subject as I would like to remember that thing I found most important from the book.
The programmer’s brain
The programmers’s brain was one of the best books of 2021 for me, it goes under the intersection between learning and programming, backed by research and also giving insights from the day-to-day of teaching young developers.
I also wrote about this book here in the blog, I tried to follow the same structure but going down to what I found important to apply on my daily work.
Table of contents
- Semantic software design
- Deep work
- NodeJs design patterns
- Monolithto microservices
- Mindmap mastery
- Software cratfsmanship
- How to take smart notes
- Kubernetes up and running
- Extreme programming - 2ed