Top 5 technology books I read in 2021
Tags: books, programming, architecture, discuss
Published: 2021-12-30 21:06:15


My top five picks on technological / technical books I read in 2021 and some honorable mentions. I also read some fiction and non-fiction, in fact I finished a great science fiction series, <em>Remembrance of Earth’s Past</em> made up of three books: <em>The Three-Body Problem</em>, <em>The Dark Forest</em> and <em>Death’s End</em> by the Chinese author Liu Cixin, which is one of greatest science fiction series I ever read (I’m a big fan of Russian literature and science fiction). But for this list I picked the top tech-related ones.

## 5. Your Computer Is On Fire

Edited by Thomas S. Mullaney, Benjamin Peters, Mar Hicks and Kavita Philip

This book is a collection of powerful essays from a great number of authors: Janet Abbate, Ben Allen, Paul N. Edwards, Nathan Ensmenger, Mar Hicks, Halcyon M. Lawrence, Thomas S. Mullaney, Safiya Umoja Noble, Benjamin Peters, Kavita Philip, Sarah T. Roberts, Sreela Sarkar, Corinna Schlombs, Andrea Stanton, Mitali Thakor, and Noah Wardrip-Fruin. Technology doesn’t happen in a vacuum. Much is talk about how "tech will change the world", "create experiences". Well, this **is** intrinsically political. Is about we live, share, trade and connect. Nothing more political than that.

I would never say judge an essay by its titles, but only take a glance at the titles could give a hint and take your attention. And yes, the essays here are great and direct to the point as the titles make clear. And if you work with technology, I urge you to give this book a chance.

- Part I: Nothing Is Virtual
  - The Cloud Is A Factory
  - Your AI Is A Human
  - A Network Is Not A Network
  - The Internet Will Be Decolonized
  - Capture Is Pleasure
- Part II: This Is An Emergency
  - Sexism Is A Feature, Not A Bug
  - Gender Is A Corporate Tool
  - Siri Disciplines
  - Your Robot Isn't Neutral
  - Broken Is Word
  - You Can't Make Games About Much
- Part III: Where Will The Fire Spread?
  - Code Is Not Empowerment
  - Source Code Isn't
  - Skills Will Not Set You Free
  - Platforms Are Infrastructures On Fire
  - Typing Is Dead

In times like theses in which tech is under (the much needed) public scrutiny, is important to broader our view of technology as "technical-only" and understand the tangled web of political, social and power dynamics in place.

## 4. Sooner Safer Happier

One review title on Amazon says **Most honest book I have read in last 4 years**. I agree. Because it speaks against the so-called [_Agile Industrial Complex_](https://martinfowler.com/articles/agile-aus-2018.html) that broke agile, or well, Agile™. I already [wrote about this book earlier this year](https://ibrahimcesar.cloud/blog/sooner-safer-happier-antipatterns-and-patterns-for-business-by-jonathan-smart/) and even made a whole talk around it, which I called [PeopleOps](blog/peopleops-integracao-continua-do-time-entrega-continua-de-valor/) (content in pt-br) and made a mix with another great book, **Team Topologies**.

Is a much needed look at Agile landscape that spoke a lot with me and how I see the landscape.

## 3. Cloud Native Patterns

[**Cloud Native Patterns**: Designing change-tolerant software](https://amzn.to/349UqG9) by Cornelia Davis is a brilliant book. The historical perspective the author gives us helps build our mental models and see the patterns that we are so deep that we even realize are constructions. Like the "request/response" model that permeates much of our development and the move to more reactive systems like the [Event Driven Architectures](https://ibrahimcesar.cloud/blog/event-driven-architectures/).

This is a **must read** for everyone in the Cloud field. The patterns covered are:

- Event-driven microservices
- App redundancy
- Application configuration
- The application lifecycle
- Accessing apps
- Interaction redundancy
- Fronting services
- Troubleshooting
- Cloud-native data

## 2. The CDK Book

In the 2021 I developed **a lot** with AWS CDK. In fact, I started nothing on AWS without using it. Is a powerful tool.

I made talks about CDK at:

- [DevOps Extreme](https://github.com/ibrahimcesar/devops-extreme)
- [BrazilJS](https://ibrahimcesar.cloud/talks/2021-10-21-BrazilJSConf-2021/), _the self proclaimed biggest JavaScript conference in the World_
- [AWS Community Day — Brazil](https://www.youtube.com/watch?v=9Gk_7qTkNgs)
- And another session on [TDC Future](https://ibrahimcesar.cloud/talks/2021-11-30-TDC-Future/)

And 2021 was an exceptional year for CDK with a [great spotlight in the work by Matt Coulter](https://www.youtube.com/watch?v=mwp51yqxmtU) and off course, the launch of CDK v2, which comes with some significant improvements. No more problems with versioning and a model better to understand. The CDK Book **is** [The DynamoDB Book](https://www.dynamodbbook.com/) this developer tool deserved.

Written by [Matthew Bonig](https://twitter.com/mattbonig), [Thorsten Höger](https://twitter.com/hoegertn), [Sathyajith Bhat](https://twitter.com/sathyabhat) and [Matt Coulter](https://twitter.com/nideveloper), [The CDK Book](https://thecdkbook.com/) is a comprehensive guide that will give you access to provision and handle the plethora of AWS services.

Written by [Matthew Bonig](https://twitter.com/mattbonig), [Thorsten Höger](https://twitter.com/hoegertn), [Sathyajitha Bhat](https://twitter.com/sathyabhat) and [Matt Coulter](https://twitter.com/nideveloper), [The CDK Book](https://thecdkbook.com/) is an comprehensive guide that will give you access to provision and handle the plethora of AWS services.

This year I even contributed with code for CDK!

### Honorable mentions 📚

This was a year I had a deep dive in DDD — Domain Driven Design, so my honorable mentions is all about DDD:

- [Domain-Driven Design:Tackling Complexity in the Heart of Software](https://amzn.to/3mM5r74), the "blue book" by Eric Evans, who "started thee fire". I also read before, but now after some years working with architecture in mind I come with fresh eyes and a much broader understanding than before.
- [Learning Domain-Driven Design: Aligning Software Architecture and Business Strategy](https://amzn.to/3eDa4f8), this book didn’t make the cut on my top 5 because I didn’t finish yet. I’m in about the middle and loving it. I think the author, Vlad Khononov, makes a great work of "organize" the content around DDD and gives new insights.
- [Implementing Domain-Driven Design](),also by Vaughn Vernon takes you far beyond "DDD-lite" approaches that embrace DDD solely as a technical toolset, and shows you how to fully leverage DDD’s "strategic design patterns" using Bounded Context, Context Maps, and the Ubiquitous Language. Is not as solid as Khononov’s book, but the breakdown could help a lot make more sense of the mind map DDD gives us to tackle complexity.
- [Domain-Driven Design Distilled](https://amzn.to/33ZPOlK) by Vaughn Vernon aims to be a concise, readable, and actionable book on DDD. "Distilled" is a term used even in Evan’s book and sometimes this book looks like a "DDD-lite" guide, but I think it serves as a good introduction</li>
- The [No BS TS](https://no-bs-ts.myshopify.com/) book covers every single video in the popular [No BS TS video series](https://www.youtube.com/playlist?list=PLNqp92_EXZBJYFrpEzdO2EapvU0GOJ09n) by Jack Herrington. Everything from basic types to generics, using Typescript with React and into Design Patterns.

![Crafting Interpreters](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9dl2euo8ppmi5npv37w1.png)

## 1. Crafting Interpreters

> Ever wanted to make your own programming language or wondered how they are designed and built?
> If so, this book is for you.

[Crafting Interpreters](https://craftinginterpreters.com/) by [Robert Nystrom](https://twitter.com/munificentbob) will be one of my favorite technical books. It gives the same sense of wonder and craft that I felt reading [Structure and Interpretation of Computer Programs](https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book-Z-H-1.html).

As we move in creating the [Lox language](https://github.com/topics/lox-language) the author gives some historical background, trade-offs and every meaningful step. Even if you are interested in creating your own language, you will learn a ton by reading this book. You will be a better developer.

The author is kind enough to let everyone [read for free the web version](https://craftinginterpreters.com/contents.html).