23.4.24

Designing Interfaces

I finished reading Designing Interfaces – 2nd Edition (Jenifer Tidwell, 2011, 547 pages). It was a comprehensive reading on GUI visual design, and it gave me input for lots of reflections on this topic.

To start with, I must say that this book has been on my shelf for over 10 years now. Firstly, because I start by using it as a reference book only, which is perfectly fine. But I also had the intention to eventually read it throughout, to gain some extra insights on multiple related topics. I lacked however the energy and motivation to do so. Until now.

The fact that this book was seating here for so long also means that it got somewhat outdated. And that is reflected on the fact that a third edition of the book was released not long ago. That being said, it is also true that the main design principles remain the same, even though the technology and GUI tech stacks have advanced significantly over the last decade.

What I like in a book like this is that it serves as an exhaustive way of filling the brain with all the main concerns there are around a given important field of knowledge. And user interface design is a very important field of knowledge for me.

Designing Interfaces delivers very well on exactly that, starting from how different people learn new things, and developing on all the main areas related to user interface design (discovery, input, action, presentation layout, etc.), to some of the main general principles behind aesthetics in user experience.

If this sounds interesting, and you have the energy and motivation, you won’t regret reading the book. Although the most recent edition is probably the best choice.

18.4.24

The Pragmatic Programmer

I just concluded The Pragmatic Programmer – 20th Anniversary Edition (David Thomas, Andrew Hunt, 352 pages). And I quite enjoyed it.

Although I’ve been programming myself for now over 20 years, I still think there is plenty to learn and reflect upon the art and craft of programming. This book is a great tool in such a process.

Firstly, because it is quite rich in content. It covers a lot of details in and around programming that are very central to the profession. For example, source control, build automation, and testing practices. Some opinions and recommendations in the book go against common practices. But always with great arguments, and with the weight of professionals who have “been there, done that”.

Secondly, the reflection parts of the book are extremely good, in my opinion. The authors don’t fight shy of discussing topics like ethics, different measurements of success, and even things like the horizon of personal choices that goes beyond the minutiae of all technical details a developer typically deals with on a daily basis.

This book is, in short, great. It could be argued that it has even more relevance for younger engineers. But I can assure that anyone into programming, independent of the level of experience, will benefit from it.

17.3.24

Build

I just finished Build: An Unorthodox Guide to Making Things Worth Making (Tony Fadell, 416 pages, 2022). This is remarkable book, from a special person.

When I think about great books, especially technical and business ones, the best archetype that pops-up to mind is having a first-hand story told by someone with loads of practical experience, and huge failures and successes accounts.

If you think alike, this is an indispensable book to your list. Tony Fadell started early, got into the “right spot” on his early 20’s, and worked his way up in an industry that went just up just like him. Tony basically worked on early versions of what one day would be the modern smartphone, 15 years before it became a real thing.

And so, when Steve Jobs got back control over Apple and tried desperately rebuilding the broken empire, Tony was at his prime, with a great team alongside, and was able to make the iPod. Some years later, he did the same again by leading the first two versions of the iPhone.

If that was not enough, he went on creating Nest after leaving Apple in 2008, which was later sold to Google in 2014 for 3.2B USD.

So, in terms of CV, it is very hard to beat someone like him. And it turns out that he is also very prolific in ideas and management style. Of course, he is also somewhat product of his time and shares different ideas of corporate cultures he was integrated to and co-creator of. But his vision on Apple and its style (like in the “visionary asshole” concept) and Google (which has too many perks spoiling its people and culture, according to Tony) also shows his critical thinking on two of the mammoths of our technological age.

And I’m not exactly sure how it may have been to work for someone like Tony. But I’m sure that people like him are the ones behind many of the central pieces of hardware we can’t simply live our lives without anymore. Not that he would do much alone, single-handedly, but the ones like Tony are almost a sine-qua-non to push people (lots of people!) to building really innovative products. And that’s why I love this book, and its honest approach on how hard it is to make things worth making.

4.2.24

97 Principles for Software Architects

I just concluded 97 Principles for Software Architects – Axioms for Practitioners (Multiple authors, 2020), and it was a great journey.

To start with, it is not usual to have such a large collection of chapters put together by so many different practitioners. At least it is unusual for me to read or listen to something like that. But, in this case, I must say it works.

And it does so because of the quality of the voices put together. And the cadence of the change of topics and perspectives along the way. Although I know little to nothing about the experienced software architects behind each chapter, I understood right-away they are indeed experts in their field. In short, due to the sheer amount of high quality and relevant insights they present.

Being a great software architect is all about trade-offs. It is all about people, technology, business, and a whole bunch of other things. It is simply too overreaching to simplify it any way. There are always multiple layers of meaning and considerations behind the skills required of a good architect.

That’s again why 97 Principles makes for such a great companion. It brings a large number of relevant discussions, distilled from multiple and diverse real-life experiences. If you’re a software architect, or an aspiring one, you will not be disappointed.

1.2.24

Team Topologies

I concluded recently Team Topologies – Organizing Business and Technology Teams for Fast Flow (Matthew Skelton, Manuel Pais, 2019, 240 pages), and I think this is an impressive book for those thinking about how to organize teams in a software company.

I’ve actually started noticing this book as a reference in several other good books about technology, products and teams that I read in the last couple of years. So, I knew this would be good. But it actually surpassed my expectations.

What is so interesting here is that this book builds on top of solid traditions of Agile, Lean, DevOps, etc., and focuses on the problem of organizing teams. To start with, teams are the unit we all should have adopted for getting complex work done. That’s because of the sheer brain bandwidth required to deal with hard problems or complex systems.

Then, one of the ideas I like the most here is that stream-aligned teams are key to keeping the flow from the tech side to the final users. Stream-aligned just means aligned with value streams in the company, which ties it back perfectly with the overall business goal in the organization. The book brings lots of ideas about how to organize such teams.

In addition, complex sub-system teams, platform teams and enabling teams are the remaining team types that all other teams can be mapped to. With only 4 team types, and some pattern of expectation on how these teams will work and interact with others, the whole structure can be much easier to understand and implement.

If those ideas sound interesting, this book is definitely a great reading for you too.

31.12.23

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.

13.12.23

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.

26.11.23

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.

21.11.23

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.

9.11.23

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.