Notes on seeking wisdom and crafting software

Year in Reading - 2021 edition

We’re starting a new series to reflect and summarize books read during the year. Here’s the 2021 edition.

I read 22 books this year ranging from thinking and philosophical enquiry to leadership and negotiation. 3 physical books and all others were electronic texts. I rated most of the books 4 or 5 stars. Let’s look at the favorites.

Five favorites

Listed in no particular order.

  • Thinking in Systems: A Primer by Donella H. Meadows

    If there’s one book you pick up from this list, this is the one. It has life changing ideas to shake your world view. My one insight: if you’re not seeing a system in a phenomenon, you’re not looking deeply. Highly recommended for rational thinking.

  • Enchiridion by Epictectus

    This is a book that speaks the truth sprinkled with rationality. It will remind you of the fundamental principles of human nature. And like a great friend it will push you up. One of my goto books when clarity is at stake.

    I highlighted almost every paragraph in this text :) Highly recommended if you’re interested in stoic thinking. Suggest to pick up the version from “Standard Books” project (it’s free).

  • The Holy Geeta by Swami Chinmayananda

    Swamiji’s translation is based on Sankarabhashya, and is the most lucid explanation of the message in Geeta. The single most important vibe throughout is the spirit of rational thinking and intellectual honesty. With more than a thousand pages this is probably my longest read so far. Highly recommended if you’re interested in philosophical enquiry.

  • A Man Called Ove by Fredrik Backman

    I finished this one in two sittings. Absolute page turner. Ove is most of us. Driven by principles, and a desire to do something that appears too simple, Ove sets out on a journey to learn the essence of being human. Recommended if you want to read something to celebrate life and experience of having seen it all. And learn a thing or two in the process.

  • Trillion Dollar Coach by Eric Schmidt

    This is a book about Bill Campbell’s methods as a coach to some of the best minds in Silicon Valley. It’s a book about people and bringing out the best in everyone around. An awesome manager is a great coach. They provide the tools, act as a sounding board and get out of the way. They are enablers and amplifiers. To me this book is both a collection of timeless wisdom on leadership and a baseline to be a great leader. In the hard moments, ask what would Bill do?.

Other reads

Listed in no particular order.

  • The Making of a Manager by Julie Zhuo

    This book is an honest reflection on author’s journey at Facebook growing from an individual contributor to a senior leader. I picked this one with the desire to peek into life of a manager, be it defining success for your role and the team, or balancing the present while building out for the future. Second, the book is filled with words of wisdom on anti-patterns. A must read for those who’re transitioning into a people leadership role.

  • Scientist’s Search for Truth by Swami Virajeshwara

    This autobiography takes through the author’s journey growing up in India, travelling to the America for pursuing a career in Science, and various experiences leading him on a path of Yoga and philosophical enquiry. I loved the straightforward narrative, and my key takeaway is around purushartha or effort through an iron will.

    Author clearly calls out various decisions and his choices on their journey. A wishful curiosity is just a starting point, and the principles reveal as a function of our deliberate effort to pursue the truth.

  • C# 9.0 Pocket Reference by Joseph Albahari

    I picked this one as a quick refresher of the language. Overall a good book, and touches the most critical aspects of programming in C#. I learned some of the new features in 9.0, record is my favorite.

  • Patterns of Enterprise Application Architecture by Martin Fowler

    This is one of the classics in Enterprise Architecture. Reading it now does remind you of the age. I loved the structure: talking about the fundamentals of evaluating an architecture, and then proceeding to the patterns of three tiered services. Other takeaway is to note the evolution and basic decisions. E.g., mapping inheritances in SQL can be done through one class per table, or all classes in a single table. What are the trade-offs? I’d like to imagine that this book must have influenced some of the patterns like MVP or MVVM etc.

  • Designing Distributed Systems by Brendan Burns

    This book will give you an overview of common patterns in distributed application development with containers. E.g., the sidecar. It cleanly builds upon various classes of patterns i.e. those applying to single node, serving with a cluster and batch processing. Examples are good.

  • Cloud Native Development Patterns and Best Practices by John Gilbert

    This book provided me a much needed refresher on the vocabulary. E.g., event streaming vs event storming. It covers the fundamentals well. It did appear that the content is packed bit more and the book tries hard to do justice. I loved the examples as well. If you’re short on time use this as a reference to revisit when solving a problem in the domain.

  • Distributed Systems for Fun and Profit by Mikito Takada

    Use this book as a foray into the deeper computer science aspects of Distributed Systems. E.g., fundamental trade-offs between adding redundancy through replication pushing you to solve the consistency challenges. Covers the key impossibility results. I’d also recommend this if you’re interested in reading distsys papers.

  • The Essential Guide to Queuing Theory by Baron Schwartz

    Queuing theory is most fundamental to reason over behavior of distributed systems. This book will help you understand why adding more machines or using every node as much as possible is not a good idea. Bonus points if you can take this thinking to how teams work in the world. A good read.

  • A Tour of C++ by Bjarne Stroustrup

    I absolutely love Stroustrup’s writing, and have been a huge fan of The C++ Programming Language. This book was another refresher and covers key elements of modern cpp. I particularly enjoyed templates and concepts.

  • The Software Architect Elevator by Gregor Hohpe

    Single most important takeaway for me was that Architects lead transformation. They’re effectively the bridge between business and technology. Author brings in a wide range of perspectives on topics ranging from communication, organization theory etc. The book is a bit lengthy to read.

  • Bayesian Statistics the Fun Way by Will Kurt

    A fantastic introduction to Bayesian thinking. Author doesn’t assume any prior knowledge and builds upon the basics gradually. Biggest insight: if someone has already made up their mind on a decision, providing more data will only reinforce their decision!

  • Why I Stopped Wearing My Socks by Alok Kejriwal

    A good autobiographical read for budding entrepreneurs. Author narrates a story and distills the essence in a short summary of learning in every chapter. Covers a wide range of topics from business etiquette to raising budding entrepreneurs.

  • Never Split the Difference by Chris Voss

    Straight forward notes on high stakes communication from author’s experience as a FBI hostage negotiator. Author shuns the usual theoretical advice and narrates real world stories with practical lessons. One read is not enough to grasp the material.

  • Hit Refresh by Satya Nadella

    This book presents some of the challenges I had the chance to see from the edges in my career. Author paints the journey of transformation with an honest insider view. One key lesson: the best comes out when the employees ask what can the employer do for them. What can Microsoft do for you? This unfolds an enquiry where the employer is a partner for your purpose. And you help the company reach new heights through your passion and steadfast determination. Recommended if you’ve spent time at Microsoft.


That’s all for 2021. May 2022 shower us with the eternal wisdom to think right.