My book log

Even now, in this time of abundance of free blog posts, Internet articles, TED talks, and screencasts, I still love reading books. This is where I get a lot of ideas from. To keep track of what I read for myself, and to potentially help others choose a good book to read next, I maintain this list.

Brian W. Fitzpatrick, Ben Collins-Sussman: Team Geek

Book summary in three sentences: Software engineering is a team sport, so your career and your effectiveness depend to a large degree on how well you work with others. Try to cultivate a mindset of humility — know that you might be wrong at times, or that others might have better solutions —, respect — care about your co-workers and take them seriously —, and trust — assume others are competent, and have good intentions —, which can be memorized as HRT or “heart”. Following these three guiding principles, you realize how to separate your work from your ego, how to be open to influence, how to establish a healthy team culture is important, and how to be a servant leader who provides true value to their team.

Personal note: This is a great book filled with practical, actionable advice for numerous real-world situations that a lot of people can probably relate to: The obsessive colleague who absolutely needs to be involved in every single technical decision, the boss who micro-manages you so you cannot get anything done, meetings that seem endless and provide little value, or even internet trolls who litter your open source software project with poisonous comments. I can, without reservation, recommend this book to anybody who is working in a technical field, but if you hold a leadership position, it is an absolute (and not very time-consuming) must-read.

Oren Ellenbogen: Leading Snowflakes

Book summary in three sentences: An engineering manager’s handbook that teaches a lot about time management, building and interacting with your team, holding your team accountable, teaching them how to be effective, delegation, building trust in the organization, and other things. Comes with great ideas for inbound recruiting, like investing time into answering technical questions online, write guest posts, create public challenges, etc. More good advice is about building trust between teams through “Thank you!” emails, cross-team exchange programs, and inviting people from other teams to design reviews.

Personal note: This book is worth its money. It comes with many creative ideas, and covers many, many aspects of the engineering manager’s or tech lead’s working life. At 150 pages and without any fluff, it is a rich source of advice, and you can feel that it stems from Oren’s actual experience.

Patrick Lencioni: Five Dysfunctions of a Team

Very entertaining and pretty light, but also insightful. It is called a “Fable”, meaning it is an invented story rather than a non-fiction book. Tells us about a business turning around because the new CEO gets the top management to trust each other and work together more effectively. Pretty good. Have a look at this video to get an impression.

Marcus Buckingham: First, Break All The Rules

I like this book very much, and I recommend it to anybody who is even remotely involved with people management. Its quintessence is that every person is unique, and that you should capitalize on this uniqueness instead of trying to make everybody the same. “Don’t try to put in what was left out. Take out what was left in. That is hard enough.”

The book offers a lot of valuable advice and useful ways of looking at things, like:

  • The distinction between talents (which you won’t be able to change much in a person), skills, and knowledge (the latter two you can change).
  • Twelve questions to measure the quality of a workplace.
  • A good manager acts as a catalyst that turns the unique combination of his employees’ talents into performance for his organization.
  • You cannot study excellence by studying bad performance and inverting your conclusions.
  • You should spend the most time with your best people.
  • And many more…

Tom DeMarco, Timothy Lister: Peopleware

So much has been written about this legendary book that will try to keep it short. Most importantly: I loved it from the start. Especially the sections about quality, team dynamics, motivation, and brain time vs. body time are absolutely world-class. Others are, by now, slightly outdated, and can be skimmed over. All in all, a must-read.

Marcus Buckingham: The One Thing You Need to Know

Interesting and partly entertaining, with a lot of gripping and fascinating real-life anecdotes. Buckingham tries to give “the one, controlling insight” into management (capitalize on the uniqueness of each person), leadership (capitalize on what is common to all your people), and sustained individual success (identify what you do not love doing and stop doing it).

I enjoyed it, but I would not consider it essential reading. It is a good addition to “First, Break All The Rules” (if you choose one of the two, choose that one), and most he writes about management has already been covered there. Here, he goes deeper into the distinction between management and leadership, and I think he does a very good job in doing that. The chapters on sustained individual success are a nice bonus on top.

Andrew Grove: High Output Management

A high-density gem full of practical, actionable advice. Andrew Grove, long-time president of Intel, draws from decades of intense experience and shares both practices that work and that don’t work with us. There is little theory, and virtually every paragraph bursts with useful thoughts that are, for the most part, directly applicable in everyday working life. An engineer by training, Grove knew how to keep his explanations short and to the point.

Topics covered include work organization, performance reviews, motivation of employees, salary, effective meetings, and several more. It is like a “manager’s manual of everything” in condensed form. Highly valuable. Whether you are a newly promoted manager, or you have ten years of management experience: I bet that you will get a lot out of that book.

Dan Pink: Drive!

An often-cited book in the world of managers and team leads. Introduces the terminology of Autonomy, Mastery, and Purpose, which are essential to unleash the intrinsic motivation of employees. Definitely worth a read if you want to know more about motivation. It’s also rather short, so not a huge time investment. I liked especially the part on experiments showing that rewards can be detrimental to intrinsic motivation, and the chapter on mastery and flow. This book made me want to read Flow by Mihaly Csikszentmihalyi.

Edmond Lau: The Effective Engineer

Contains a lot of techniques, habits, and strategies how engineers and engineering managers can increase their impact and be more effective. Lau, who worked at Google and several startups, is a good writer and knows what he is talking about. He delivers a large collection of real-world stories that underline his points, partly lived through by himself, partly by senior engineers at Facebook, Instagram, and others.

The guiding principle of the book is leverage, a concept that also occurs in High Output Management. Continuous learning is a high-leverage activity, as is investing in iteration speed. Personally, I liked the sections on prioritization and on minimizing your operational burden very much, because these are things that are, I think, often neglected.

Steven Pressfield: The War of Art

A remarkable book by Steven Pressfield about creativity as hard work, about the inner resistance that everybody feels in their life, and about what it means to be a professional. It is like a collection of mantras, or like a creative’s confession, that can help you grow your determination to break free and follow your creative destiny. If you know you were meant for more than you are currently doing, but you keep avoiding getting started with something, this book might be for you. The one thing that I took away from this book is that even people we perceive as successful geniuses might feel miserable and scared when they sit down to do their work, or when they are about to go on stage. They do it anyway, and that is why they ultimately succeed. This is what I remind myself of when I am unsure if I will be able to come up with a reasonably interesting blog post this week. Don’t wait for inspiration. Sit down and do the work.

Roger Fisher, William Ury, Bruce Patton: Getting to Yes

A book about principled negotiation, which teaches us how we can, in a negotiation, be hard on the substance, but soft on the people on the other side. While it was published already in the 80s, the principles still hold: Separate the people from the actual problem, identify the underlying interests behind the positions, develop a diverse set of options, and, maybe most importantly, invest in developing your BATNA (Best Alternative to a Negotiated Agreement) so you know when to walk away from a stalled negotiation. If you do a lot of negotiating, you should probably give this book a try.

Ben Horowitz: The Hard Thing About Hard Things

Ben Horowitz emphasizes several times how much he adores Andy Grove and his management classic “High Output Management” (he even wrote the foreword for the current edition). When reading “The Hard Thing About Hard Things”, I thought a couple of times: “This is the High Output Management” of our time”. There is no fluff about it. Instead, it offers practical advice for common real-life situations and problems you face in management, like how to promote or fire somebody, how to give feedback, how to minimize office politics, how to think about organizational and process design, how to deal with departments who don’t get along, and many more.

Moreover, it is densely packed with breathtaking, fascinating, and educative anecdotes from Horowitz’ event-rich tenures as CEO of Loudcloud and Opsware, of his time at Netscape, and his experiences as a venture capitalist. Most of the book is written from the perspective of CEOs, but it is useful for anybody who has to do with management.

Some sections of the book, like Peacetime CEO, Wartime CEO or Why Startups Should Train Their People are available on Horowitz’ blog. I still recommend reading the book, it’s just damn good.

Walter Isaacson: Steve Jobs

A long book, obviously, but with many entertaining and enlightening anecdotes and a lot of insights on leadership, focus, and strategy. It is stunning to read testimonials of early Apple employees who assure that they consider themselves very lucky to have worked for Jobs, even though he bullied, insulted, and terrorized his employees on a regular basis. That’s the power of vision and purpose. I would not call it a must-read, but it is certainly a powerful lesson of how to think big and get things done.

Tom DeMarco: Slack

Having seen my share of “slackless” organizations, I was really looking forward to this book, and I was not disappointed. On merely 200 rather short pages, it contains a lot of wisdom on organizational dysfunction, blind hurrying, and overtime that does more harm than good. I wrote some blog posts on what were to me the most useful insights from this book: That busyness is not a virtue and can do harm, that the white space in an org chart plays an important role, and what the must-haves are for substantial organizational change. Absolutely recommended book!

Laszlo Bock: Work Rules!

This book has received a lot of praise, and justly so. I consider it required reading if you are in some “people-related” role, be it a middle manager, or a member of an HR team. The book is full of valuable quantified insights gained by Google’s People Operations team. The scale at which Google operates enables this team to run studies and experiments that most academic psychology departments should probably be jealous of.

Most relevant and interesting to me were the chapters on recruiting (especially the predictive power of certain methods like unstructured interview, structured interview, work sample test, etc.), salaries (performance in knowledge work follows a power law, not a normal distribution), training, and nudging people to do the right thing.

Kerry Patterson, Joseph Grenny, Ron McMillan, Al Switzler: Crucial Conversations

Great book about how to approach and behave in important conversations, so that you are at your best communication behaviour when it matters the most. Some passages and techniques reminded me a bit of “Getting to Yes” (discover mutual purpose, separate the strategy from the goal, invent new options, etc.). If I had to choose between the two, I would choose Crucial Conversations because I think it is more focused.

The book teaches you to observe conversations for a lack of safety, and for people going to silence or violence. You will learn to look behind aggressive communication patterns, and get to know ways to defuse tense situations. I found the “Master My Stories” part especially useful, where you learn that between some action and your emotional response, there is something else, and this something is the story you tell yourself in your own head about what happened and why. Sounded very true to me out of my own experience :-)

The authors shoot a lot of acronyms at you like STATE, AMPP, CRIB, and repeat them until they haunt you in your dreams, but most of them actually make sense, and it can help remembering certain techniques. The numerous dialogs (some real-world, some made up) make things easy to follow and illustrate the practicality of the techniques.

Simon Sinek: Start With Why

Why would someone who uses a Dell computer easily switch to HP, while an Apple user is fiercely loyal to her brand? Because people don’t buy WHAT you do, they buy WHY you do it. Their choosing Apple is not about Apple, it’s about them. Apple’s WHY, the reason they exist, is challenging the status quo, and people who share that WHY will be drawn towards Apple products again and again.

Simon Sinek draws an interesting connection between neurobiology and the choices we make: Decisions are made in the part of the brain that is responsible for emotions, but not for language. Therefore, in order to generate loyalty and repeatable, long-term success, this part of the brain is what companies should target. They can do this by sending a very clear message of what they are about. If you do not have a clear, consistent WHY, then you will be a commodity: Exchangeable, arbitrary, competing on features, price, and promotions.

Interesting read with some convincing reasoning. Has become something like a classic already. I think it oversimplifies things a little here and there, but since the basic idea has quite some truth to it, I would definitely recommend it.

Marcus Blankenship: 7 Habits That Ruin Your Technical Team

Marcus Blankenship shares with us some valuable insights from his vast experience both as a developer and a manager of developers. Seven habits that can ruin your technical team are illustrated through anecdotes that actually happened, and that clearly show the detrimental effects.

One of the habits is withholding feedback “until the time is right”, another one is forgetting how hard writing good code is. Personally I liked chapter 3 best: “Fixing other people’s mistakes”. I think this is one of the less obvious ones, and Marcus does a great job showing exactly how this bad habit can start a downward spiral. It also happens to be one that I have witnessed myself, and probably not for the last time.

The book is a short read, around 50 pages, and gives great guidance for novice team leads as well as great real-world cases to compare for more experienced managers.

Patrick Kua: Talking With Tech Leads

Book summary in three sentences: The book contains a lot (~40) of interviews with novice or experienced tech leads on dealing with people problems, staying technical, and bridging the gap between tech and business. Most people agree that people problems are often harder than technical problems, that you should in part stay technical, that time management becomes essential in this role, and that communication is a lot more important than as an individual contributor. A lot of people also emphasize that your measure of productivity shifts when you start in your role as a tech lead.

Personal note: Personally, this book gave me little new insight. I had already read (and written) a lot about most of these topics before. Moreover, there is — inevitably, I guess — a lot of redundancy in the book. Several interviews just don’t teach you anything new that some previous or following interview do not also contain, and could be skipped. For new tech leads/engineering managers, or people considering a move to such a role, I can certainly recommend the book. Experienced leads can spend their time more efficiently (then again, it’s a fairly quick read…).

John L. Parker, Jr.: Once a Runner

Book summary in three sentences: In the early 1970s, Quenton Cassidy is a passionate runner for Southeastern University in North Florida, and specializes in the mile. When the university administration makes him the scapegoat for some student protests, he is expelled from the university’s running team. With the help of his runner friend Bruce Denton, he finds a creative way to take part in an important race anyway, drops out of university entirely, and prepares like he has never prepared before.

Personal note: One of the few novels I have been reading lately. I found it very inspirational and entertaining, especially the first half of the book. The jokes and pranks the athletes at the university pull off made me laugh out loud a couple of times while reading, so that my wife looked at me sideways, smiled, and shook her head.

Even if you are not a runner, I think Parker, Jr. can give you a good impression how hard the athletes push themselves, how they go beyond limits, how they sacrifice almost everything else in their lives in order to be the best possible runner they can be. The way he describes the dedication, strain, exhaustion, and suffering they go through is humbling, motivating, and inspiring.

Antonio Cangiano: Technical Blogging

Book summary in three sentences: Starting your own blog is not that hard, but you have to consciously and continuously make a lot of decisions. This includes, to name only some, which niche to pick, how often to publish, which software to use, how to attract traffic, how to start email marketing, and how to measure success. However, while all this is important, it will be worth nothing if you don’t have good content.

Personal note: Nice overview over a broad range of topics. However, since it was written a couple of years ago, some of the software that is mentioned is already outdated, or does not even exist any more. Moreover, while being broad, some of the sections lack depth, and won’t tell you anything that you cannot find out from articles or tutorials online. Since the landscape is shifting continuously, I think a lot of books on blogging will have that problem.

Camille Fournier: The Manager's Path

Book summary in three sentences: Camille Fournier takes us on a journey looking at management from different perspectives, starting from the individual contributor and progressing up to senior leadership positions like director or CTO. Throughout the stages, the main activities shift from shaping the technical direction and mentoring individuals to shaping the culture of a department, finding your leadership style, and managing managers who oversee teams. While tech leads still write quite a bit of code, engineering managers get drawn more and more towards the people issues, and have to develop and practice a whole new set of skills.

Personal note: The author points out that the book is about technical management as opposed to management in general, and she lives up to this promise by giving thoughtful and deep discussions on the peculiarities of the engineering world. As she has previously done in blog posts, she emphasizes the need for technical managers to stay technical at least to a certain degree — engineering managers should still write some code, and managers of managers should at least take part in code reviews and stay in touch with the systems they are responsible for.

The book is full of great food for thought, and a lot of real-world (or near real-world) anecdotes illustrating different behaviours and management styles. Each chapter ends with summarizing questions you can ask yourself, which will make you think about your own context. There is also a lot of directly actionable advice like “new hires should update the documentation”, “adjust your focus depending on the stage of projects”, or “spend plenty of time on accomplishments and strengths in performance reviews”.

What I found especially interesting were the sections on “shielding” your employees from outside influence: Camille’s take is that “You may be a shield, but you are not a parent.” Treat your people as adults who can handle important information of things happening outside the team. Another gem is the section on the “people pleaser” type of manager, who promises everything to everyone, but rarely gets much done.

All in all, this book is extremely rich in useful content, and you can tell that Camille speaks from a great deal of experience. Moreover, she keeps it pretty concise and to the point, making the book a pleasant read. Absolutely relevant for people who are interested in leadership or management positions, and absolutely recommended.

Reginald Braithwaite: JavaScript Allongé

Book summary in three sentences: Functions are first-class citizens in JavaScript, in that functions can serve as variable values, arguments to other functions, return values from functions, and so on. This holds an incredible amount of power and opens up endless possibilities and patterns how to interweave and combine functions. JavaScript Allongé demonstrates a vast amount of these patterns, and combines them with interesting and powerful features not only of ES2015, but also of potential future JavaScript versions.

Personal note: If you are looking for a real mind-twister, this book is for you. Raganwald delivers a comprehensive and deep discussion of an incredibly wide range of functional patterns that goes way beyond the usual map-reduce or currying examples. He will make you think, and you will probably not understand everything at first glance. The sections on combinators are probably among the hardest material I have read in a long time, but it is very rewarding to work through it and finally get to that A-HA! moment.

Bottom line: An enjoyable, but hard-earned read not only for JavaScript fans, but for everyone who wants to learn about real functional programming, or who simply likes thinking outside the usual box of if-then statements and class hierarchies. The book is freely available at https://leanpub.com/javascriptallongesix/read.