The Phoenix Project

I concluded today The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win (Gene Kim, Kevin Behr, and George Spafford, 345 pages, 2013), and I think it is a great book.

This is actually a novel around very realistic and relevant organizational aspects and technology. Anyone with experience in IT operations or Software Development will recognize oneself in at least a few or many of the scenes along the story.

Building on the tradition of The Goal, by Eliyahu M. Goldratt, it follows an IT middle manager, Bill Palmer, who is suddenly promoted to VP of IT Operations, against his will, and is then confronted with a multitude of issues reflecting the organizational deficiencies and challenges in his company, Parts Unlimited.

Trying to juggle multiple issues thrown at him, Bill gets eventually the guidance of a mysterious board member candidate, Eric Reid, who guides his thoughts along understanding how much IT resembles manufacturing, and how flow, feedback, and continuous improvement (the Three Ways) can help turn the business around, and achieve the ultimate financial goals it so desperately needs.

I find the book a great source of inspiration and practical insights on how to direct a company towards DevOps practices, which was in great part promoted by this very book and its set of authors.


Only the Paranoid Survive

I recently concluded Only the Paranoid Survive – How to Exploit the Crisis Points that Challenge Every Company and Career (Andrew S. Grove, 224 pages), and it was great.

Andrew Grove is a legend. His is probably most known for his leadership during the time Intel moved

away from being a memory chip company, due to harsh Japanese competition on that market, in the mid-1980’s, to become the world’s leader in processing chip. Looking back, this may sound natural. But achieving it was all but so. The whole identity and soul of Intel, which Andrew helped founding, was based on memory chips. Moving away from it took an arduous period of 3 years, and really strong fighting by Andrew and, on the beginning, only a handful other managers that accepted the idea.

This is one of the stories the book discusses, with lots of insights on these strategic inflection points (which can actually last years!) which a company, or even an individual, has to go through sometimes. Several inflection points in retrospective become difficult to put the finger on exactly when it actually happened, as Andrew very well describes, because there is a process of changes going on before and after, and it can all turn out into a messy process. But totally necessary, if a company or person in crisis wants to survive and thrive.

Andrew has himself a fantastic personal story, having lived under Nazi and Soviet occupation in Budapest before emigrating to the US at the age of 20, where he managed to conclude a PhD in Berkeley, and later became the third CEO of Intel (1987-97). Yet, I found inspiring his clarity of thinking about his own limitations during his time as a leader of Intel, and how he for example gives credits to plant manufacturing managers for starting taking practical decisions in allocating more processing chip production even at the time when he himself had difficulties in admitting the company needed a drastic change. His humility and openness are remarkable.

And the book also takes on the importance of constant learning and being “paranoid” about changes that may impact one’s business. With the caveat that Andrew points out that even employees should see themselves as a business, selling some service in a competitive and ever-changing environment.

So, because of all of that and lots more that I fail to describe, I think this is a great book, that is worth the time for someone looking for solid substance in a technology world that is fluently unpredictable.


The Art of War

The Art of War (Sun Tzu, 68 pages) is a classic, and i has long been in my list. Now I’ve finally completed it. And it was less than an overwhelming experience.

To be fair, this short book is probably more interesting due to his history than to the very content. It is after all a book written roughly 500 BC!

Also, it describes in a way timeless strategic lessons around war. The fact that we unfortunately still have critical military conflicts being fought in different parts of the world today, makes the content of this treaty still very actual.

However, it is not necessarily a complete manual on how to actually do all aspects of war. As it couldn’t be in any case. It is more like a poetic description on some key general aspects of war and peace. And, in that perspective, it is indeed a nice and interesting piece.

As I have already read some other great books on history, strategy, and war, this one gets somewhat pale in comparison. But it is still worth the time, especially due to its historical significance.


Hacking: 3 Books in 1

I recently concluded Hacking: 3 Books in 1 (Alex Wagner, 2019, 716 pages). It was an interesting introduction to different concepts and ways of thinking around ethical and non-ethical hacking.

I’m a Computer Engineer by background, but have worked most of my professional years in software products. The topics on this book are therefore somehow marginal to my field of action. Although several definitions and practices made sense right-away, because of my familiarity with the foundations of the digital world, other topics were relatively new to me.

For example, as is the case for most of us, I’ve also been exposed to multiple hacking attempts. Especially to Social Engineering techniques. But I quickly rebut suspicious attempts, and never understood what happens next to those that fall pray to some of these techniques. The book describes that in details, which I found very interesting to learn more about.

Other hands-on techniques on Kali Linux are also described in details. For me, these were interesting and curious, and also a way to get an overview without actually trying any of those.

So, in short, if your purpose is to get a good introduction into the world of security and hacking techniques, as it was in my case, this book is a great resource.


Radical Candor

I just finished Radical Candor – How to Get What You Want by Saying What You Mean (Kim Scott, 336 pages, 2019). I highly recommend this reading.

The first time I came across the basic ideas in this book was through a TED talk by the author a while ago. It had some interesting insights on how to give good guidance through feedback, and some good stories too. But it did not prompt me to try getting hold of the book.

In some other recent readings, however, I got a reference to this book again, and I decided to give it a try. It was a good move.

The book contains indeed lots of interesting first-hand stories, which only an author who has hold positions like Kim has could offer. Because of her many years at Google and Apple, among others, and the knowledge and experiences she acquired in her career.

Not to say that all that happens at Google and Apple is necessarily good, despite their enormous technological and financial success. But to say that such big corporations have had the time and resources to try and act on developing a good culture over time. And Kim has been a part of that.

At the core, the main message goes something like that: if one really cares about his or her peers, giving honest feedback is the best way to help them. If everyone around are candid with each other, giving and receiving clear and honest feedback, a great culture can blossom.

Lots of other practical insights and tips follow. And they are worth reading through.

In short, this is a very interesting and useful book. The time spent on it is a great investment for those wanting to achieve a more meaningful work-life.


Side Hustle

I just finished Side Hustle – From Idea to Income in 27 Days (Chris Guillebeau, 2017, 272 pages). Although the title for this book sounds very appealing, the content is a less interesting than one could expect.

If you like a stories-based book, with some examples and a To-Do list that will inspire you to solve a hard problem, then this might be a book for you.

However, if you want more rigor than just following some few examples of people that made things happen, then it may just not work.

The problem with books like this one is that a few inspiring examples and some generic advice is not good enough to show you how to really do something. It can be helpful to some, but it may also be misguiding to those trying to comprehend the chances and not only the rosy side of a few good examples.

As an example of interesting questions that go unanswered: what are the percentage of people who try building a side business? How many of those report success? How long the process take on average? What profiles or fields of operation are over-represented between those who managed? What are the evidences backing up any of these more generic claims?

In any case, once you know this is one of those books with simple encouraging steps and superficial justification, then it’s up to you if it can be useful or not.


Software Engineering at Google

I just concluded Software Engineering at Google – Lessons Learned from Programming Over Time (Titus Winters, Tom Manshreck, Hyrum Wright, 2020, 599 pages), and it was a long and surprisingly entertaining account of the main technical challenges behind the ascension of Google to being what it is today.

Just imagine a corporation growing from a few engineers in the late 1990’s to having over 30.000 engineers, maintaining and improving an impressive repository of over 2 billion lines of code!

In a sense, Google’s story is unique. The scientific background of the founders, and technical ingenuity of its incredible pool of talent, together with some quite unique business practices and value-based management (not covered in this book, but mentioned in some other books on this blog), made possible this colossus of a company that we see today.

This book is but a reflection of the qualities of the company, which is open to talk publicly about its technical innovations in detail, and even the weaknesses and failures committed along the way.

In the meanwhile, the findings and technical advances Google did in software engineering have to a great extent shaped the computing industry as a whole. And what are the main topics involved in the technical history of Google, you may ask? Well, there are plenty.

To start with, there is the simple and yet powerful distinction made in the book between programming (creating a piece of code that works here and now) and software engineering (building code that can last, and adapt, on long term; decades, in Google’s case). This distinction is spot on, because it permeates most of the main challenges that come up when scaling.

Unit testing, for example, is something Google learned and started adopting in 2005, to basically give confidence in further changes over the growing code base for the Google Web Server. Code review, and all the internal tooling created for it is another great asset in the company, shaping its culture from the beginning, and properly scaled-up over time.

Building, and the continuous integration (CI) of changes is yet another area where massive tooling were added over time, allowing for performant distributed builds of parts of their large code base.

By the way, the choice to keep the code in just one repository (Google’s famous Monorepo), and all the work around managing code dependencies is also described in great details in the book.

In addition, very interesting discussions over the evolution of CaaS (Compute as a Service) brings great food for thought, with the many trade-offs between the multiple options for “sourcing hardware”. From running code on local workstation, to managing (or not) virtual machines and containers, to serverless architecture.

Finally, the multiple effects of Hyrum’s law is another very interesting aspect of this book. Basically, the law states that “any observable state of a system may come to be relied upon”. At the scale Google operates, this plays a significant role, not only technically with the multiple challenges associated, but also business-wise, since different systems at Google, whose idiosyncrasies some clients may come to depend on, may also need to evolve over time, in order to keep up with the pace of technology. I find, therefore, this book to be a fascinating insight over a successful technological evolution for a company that is a daily part of billions of people’s lives, including mine.


User Story Mapping

I just finished reading User Story Mapping – Discover the Whole Story, Build the Right Product (Jeff Patton with Peter Economy, 276 pages, 2014), and I really like this book.

I’ve read quite a few technical books related to software development, but this one really stands out. Other books also have quite some interesting author voices, humor, etc. But here I had the feeling that even more “book design patterns” were broken, in a good way, with lots of interesting pictures and images all along, and a quite engaging use of the language.

The content is also great! The main idea behind the book is the concept of story mapping, which is a way to organize “user stories” (with more ‘stories’, and less ‘users’) in a physical disposition from left to write, allowing people to have discussions on how a specific task or workflow is sequentially done.

This can be used equally well to describe how things are today vs how they will be later. And also, to describe the user journey inside a specific software solution. It is a generic, yet powerful tool.

The book, however, is also about all the other things that happen even before we decide to take on a new software project (as for business opportunities, problem discovery), to the point of reviewing and validating what was eventually built.

And it does all of that with brutal honesty and straightforwardness. Not with secret success formulas, but with lots of tips for the trade-offs and pitfalls all around modern software practice.

If this sounds interesting to you, I can guarantee you will love reading this book as much as I did.


Trillion Dollar Coach

I concluded recently Trillion Dollar Coach – The Leadership Playbook of Silicon Valley’s Bill Campbell (Eric Schmidt, Jonathan Rosenberg and Alan Eagle, 2019, 240 pages).

This is an amazing book that brings a leadership perspective that, first of all, is very human and positive in values. And, secondly, works so well that it made its way into the DNA of companies like Intuit, Google, Apple, etc.

The main character behind the book is the well-known coach Bill Campbell, who, among other major accomplishments, was Intuit’s CEO, long-time Apple board member (and Steve Jobs close friend), as well as coach to the leadership team at Google.

Bill did not have a great track record as a football coach, as he himself liked to point out. But the decade or so spent with football teams laid the foundation for his approach to business later on.

The principle behind is, in short, showing love and support for all team members, and demanding extremely high levels of integrity, honesty, respect, trust, and humility of everyone involved.

Teams can always accomplish more than individuals, was his belief. For that to work, a sense of team identity must prevail over even the most brilliant and performant individuals. Bill, by the way, loved and cared a lot about those extremely highly performant employees. Teams, however, matter even more, and must the at the core of any organization.

Building communities was another big topic for him, and something he spent lots of energy on. That has something to do with why Bill was considered as “best friend” by dozens of people. Not only because he generously gave his time and cared about all his close friends, but also because he found ways of nurturing the relationships via communities on a continuous basis.

The only thing Bill didn’t tolerate, and which was interesting to understand better how, through this book, is people who are not “coachable”. In essence, there is no point in spending time and energy coaching someone that, for example, is not humble enough or willing to see her own flaws. Wanting to work hard and really improve on all aspects of life was a sine qua non.

If coaching is something you are aware of, and wants to get the best insights possible about, either to coach or be coached, this is the right book for you.


The Four Steps to the Epiphany

I finished concluded The Four Steps to the Epiphany (Steve Blank, 370 pages), and I think it is a nice piece of work.

The main ideas here were mostly not entirely new to me, because this book was actually the precursor of other well-known books that followed, and whose I had read first. Concepts like customer discovery and validation, also very present in books like The Lean Startup, were actually first disseminated by Steve Blank.

The main overarching topic in this book is that there are some steps that seem to be common to many startups that eventually succeeded. These steps, according to the author, start with customer discovery, and then evolve to customer validation, customer creation, and company building.

As mentioned, these are relatively well agreed upon ideas by now. Especially the two first steps. And the author also makes great observations about the Chasm problem, and how it is one of the main challenges behind moving away from the initial “earlyvangelists” to the majority of buyers in a given market.

What I still found original here, however, is the clear distinction made to market types. The startup’s target market can namely be an existing one, or a resegmented one, or a completely new market. And the overall strategy and tactics vary significantly depending on which market is being pursued. Even more on phases three and four, of customer creation and company building.

So, in general, the book brings lots of insights, in addition to some interesting anecdotes. I would recommend to anyone thinking about the dilemmas and challenges of starting and growing a company.


You Can Be Funny & Make People Laugh

I just finished reading You Can Be Funny & Make People Laugh (Gregory Peart, 2019, 241 pages), and I really enjoyed it!

The topic of humor is somewhat close to my heart. Although I’m definitely not a funny person, and I didn’t spend much time studying humor either. This book, however, is one of my attempts to get more information about it, since I from times to times reflect on the rules behind jokes and funny stories and behaviors.

Well, this book added certainly lots of material to that library of funny stuff in my brain. And it makes it in a very lightweight way. Not repeating itself too much, but progressing nicely over a number of techniques that can be harnessed to create funny stories, comments and playful interaction.

The playfulness aspect is quite central to the book, since it focuses a lot on how different techniques open space to others to chip in with even funnier comments and continuations to things previously said. I like that line of thinking!

In short, things as contrasts, exaggeration, meta commentaries, hypotheticals, references, etc. are some of the main weapons one can use to create funny comments and stories. The book has a multitude of examples that illustrates a large number of situations and how they can play out to be on the funnier side of the spectrum.

I think the book does a great job in helping going beyond the seriousness that many of us have around us almost all the time. I’m the first to admit that I typically take things seriously and literally. And that is typically not funny at all. Although I love playful situations, and can show my childish humor in private situations, I hope this book can help creating a bridge to allow more playfulness on more serious parts of my life too.


Chip War: The Quest to Dominate the World’s Most Critical Technology

I finished recently Chip War: The Quest to Dominate the World’s Most Critical Technology (Chris Miller, 2022), and I can’t speak highly enough of the experience.

To start with, this book has lots of the ingredients that I personally find fascinating: history, technology, and geopolitics. And it delivers it masterfully on all of these fields.

In terms of history, the span of years since the start of the semiconductor technology until now has coincided with some profound changes in the world. On the 1960’s, when it all started, the US was the tech powerhouse fighting to catch up on its space program, the only field in which it lagged behind the Soviet Union. Since then, the soviet fall and the raise of Japan (or perhaps its resurgence) shocked the world, and semiconductors played a central role in the Japanese ascension to economic power. Alongside comes the intricacies of events in Europe, China, and a few other central places in Asia. Mainly Taiwan, South Korea, and Singapore, which all were drastically transformed in the last 70 years.

The book is a great source of information regarding multiple aspects of the chip technology. And what a technology it is! Moore’s law and the multiplication of transistors to the billions on a single chip are relatively well known. What the book also discuss in details is the lithography technology, for example, which is mind-blowing in itself. The related wireless communication revolution that followed with the advancements of chip, and the raise of the GPU’s from graphic to modern advanced Machine Learning model training are just but a few more examples of great technologies whose origin and developments the book describe in detail.

Finally, the geopolitics part is extremely relevant. It not only explains some of the decisions that were taken along the years and which resulted in the distribution of factories, suppliers, and countries that today control the R&D and manufacturing of virtually all chips. But it also projects its weight on the future of Taiwan, contested by China, and home to the most advanced chip fabs in the world.

All these ingredients are incredibly well served by the book. And it gives a glimpse on why and how the United States, the Netherlands, South-Korea and Taiwan are the main countries controlling the choke points of what is probably the most critical tech piece of our modern world. The developments in China on the coming years will also be determinant to the future of not only of Taiwan and China themselves, but also to the rest of us who probably couldn’t live without these incredible chips on almost all electronics we critically depend on.


The Five Temptations of a CEO

I recently concluded reading The Five Temptations of a CEO (Patrick Lencioni, 1998, 134 pages). This is a concise but insightful book.

It’s not difficult to understand why this book is a bestseller, and therefore why it popped up when I searched for books with good content about what real leadership should look like. This book and the others that followed, by Pat Lencioni, contains lots of great insights on the people side and integrity principles that can make an organization work.

In short, the principles, when seeing on the opposite direction as of how they are originally presented in the book are like follows. The first is all about trust. Which requires openness and the ability to show weaknesses that can be compensated by colleagues. The temptation here is try and hide any personal vulnerabilities.

When trust is in place, a good leader must promote ideological conflict, as the book puts. If people feel safe, they will express freely, and conflicting ideas and passionate discussions will emerge. Which is great! Good ideas and better decisions will come out of it. Except if the person in charge falls for the temptation of seeking harmony.

With good ideas, coming from everyone involved, the next step is to seek clarity as of what to do. The temptation is to wait until the “right” decision can be taken, when finally all relevant information is in place. Pointless to say that this almost never is the case. So, seeking clarity should win over the temptation of being right.

Because when there is clarity, there is the possibility of setting clear expectations to the executive team, so that the CEO does not feel bad when holding team members accountable for not delivering. The temptation in case is the wish to be liked by people, which can result in CEO’s either not holding subordinates accountable (which undermines the team), or taking the drastic measure of removing someone when the person in case did not have a fair chance to deliver on the expectations, which were never clearly communicated.

When people are accountable for the expectations that are clearly defined (or otherwise adjusted in case they were flawed), then typically results will come. And results are the most important thing for a company. The final temptation is for a CEO to put status or his position in the first place. Even above the company results. A person who easily succumbs to this temptation, however, should actually never become a CEO.


Building Microservices: Designing Fine-Grained Systems – 2nd Edition

I just concluded Building Microservices: Designing Fine-Grained Systems – 2nd Edition (Sam Newman, 612 pages), and I enjoyed it quite a lot.

Microservices architecture have become quite common over the last decade. Surely due to the fact that it is seen as a great way to scale systems that serve millions of users globally. It has it complexities, though, as this book is great at discussing in details.

To start with, as the author himself points out, microservices should not be an automatic choice for new systems. Quite the opposite. Starting a new system as a monolith is a great alternative. Because it makes many aspects of the architecture simpler to deal with.

With time, though, for those systems and companies that are able to scale up, it becomes very interesting the option to eventually select those parts of the system that are bottlenecks and build them as separably deployed entities. Or, microservices.

The idea of independently deployable services, by the way, is at the core of what the Microservices-oriented software architecture is all about. The point being that a team working on a sub-part of a large system should be able to deploy new versions of their services without any dependency on any other team. This idea is quite powerful. And it certainly requires a mindset changing, for those not used to it.

However, it brings for sure lots of other issues. Typically, teams deploying microservices should own everything related to them, from the user interface to the data persistence layer. For this to happen, though, the system in case needs typically to be partitioned vertically, with different business domain areas being covered by different stream-aligned teams.

For those teams working in internal services that support other business functions, the idea is also that the team is completely responsible to everything under the service, while focusing on providing a stable API to other internal actors.

In any case, ideas like “avoiding code duplication”, and “shared databases” can quickly become strong obstacles to independent teams and services. On the contrary, microservices should encapsulate all their needs and hide their internals from the outside world, as much as possible. Including their database choices.

Communication between different microservices is another topic discussed in details. In short, asynchronous communication, through events and queues, are definitely preferable in the microservices world.

Distributed transactions poses yet another challenge, when multiple services need to collaborate. In fact, distributed transactions should be avoided altogether, and alternative orchestration between services should be build into the system, when multiple steps are required to deliver business value. For example, in a web shop when the catalog, payment, and inventory services may have to collaborate in order to conclude a buying operation.

And there is more. Security and team topology, for example, are two other concerns discussed in details here. If any or all of this sounds interesting, you won’t regret spending your time with this book.