Pssst. I’m writing a new book. There’s more information at the end of this article.
Snap!
When I was several months into writing Become an Effective Software Engineering Manager, I remember getting freaked out that Will Larson’s An Elegant Puzzle had just been published. This was the first time that I’d written a book, and I couldn’t help the feeling that I was beaten to the punch.
However, after submitting the final draft in early 2020, I realised that writing isn’t about beating the competition, or being the only piece of work out there on a subject. Instead, an indicator of real progress within our industry — or in any aspect of human knowledge — stems from a diverse collective of people sharing their experiences of what they’ve learned, which then hopefully makes it easier for others to walk the same path in the future.
For modern takes on the discipline of engineering management, early writing by Michael Lopp paved the way. Then Camille Fournier came along with The Manager’s Path; then it was Will, me, and more recently we’ve seen a new contribution from Sarah Drasner. I’m sure there are others that I haven’t read too. I welcome many more. Each book offers a unique set of tools from authors with unique perspectives.
And that’s just the books!
The internet is stuffed full of blog articles, recordings of conference talks and posts on social networks. There’s so much to read and learn. Sometimes the wealth of content can be overwhelming and confusing to those that want to dive in and contribute.
Where do you start? In the worst case you can:
Get overwhelmed by the amount of material and not read anything at all. This is bad, because you’re missing out on ideas that can help you improve.
Interpret ideas too dogmatically, thinking they are gospel. This is also bad, since there is rarely a right answer to complex people or technology problems: there are just hypotheses and experiments and your mileage may vary.
Feel that you have nothing to contribute back to the pool of knowledge. This is probably the worst, because everyone has something to share, even if they tried something and it didn’t work. It means the world misses out on valuable insights.
So don’t be discouraged. Read widely, apply selectively, and share regardless. There is always value in this approach. It’s how we collectively make progress.
This isn’t something new. Humans have been doing it for quite a while now.
The great acceleration
I recently started re-reading Sapiens, and the book opens with a reminder of the rapid acceleration of human capabilities over time. Here’s an excerpt which I’ve edited down for brevity and also added a little extra at the end.
The numbers represent the years before the present day.
2.5 million — First usage of stone tools.
300,000 — First usage of fire.
70,000 — The Cognitive Revolution. Emergence of fictive language.
12,000 — The Agricultural Revolution. Domestication of plants and animals. Permanent settlements.
2,500 — Invention of coinage, universal money.
500 — The Scientific Revolution.
200 — The Industrial Revolution.
The present — The internet, smartphones, nuclear weapons, intelligent design rather than natural selection, and a number of decent books about managing engineers.
Tim Urban put together a visualisation of the oh-my-god-we-are-progressing-really-fast effect that you can see in his tweet with the image reproduced below. It’s part of his excellent book, What’s Our Problem?
Once you have the capability of abundant mass communication to acquire and disseminate information, the floor rises really quickly by people iteratively building on top of what is already out there. Just look at the recent progress in large language models.
The great technology writers’ acceleration
We’ve seen this raising of the floor play out in our little writers’ sphere. Building on top of the wave of engineering management writing, there has been an uptick in high quality material about navigating the higher rungs of the individual contributor career track.
Will wrote the Staff Engineer book and blog and more recently Tanya Reilly wrote The Staff Engineer’s Path. We’ve also seen the Staff Plus track created and hosted alongside the management tracks at Lead Dev. I’m sure there will be many more books here soon. Once we start to share our ideas, it helps build a platform for others to do the same. This is good for everyone.
Experimentation is also good, where you gather ideas from different places and try them out for yourself. You then discard the ones that don’t work for you, and keep the ones that do. I wrote about this process of building your intuition as a leader where you discover and hone your set of tools, apply them to your learned experiences, and then iteratively discover and hone some more. This continually makes you a better engineer, manager, or leader.
Since that model was about building your own intuition, I missed something that’s important for building collective intuition, and that’s sharing what you’ve learned with other people. Even if you haven’t invented something novel yourself, you can write and record your experiences in implementation to teach others about what’s worked for you and what hasn’t. This is just as useful as coming up with some brand new technique.
It’s likely that someone else will stumble across what you’ve produced while working through a similar quandary and they will find some value in it. Even if they decide not to go down that path, they’ll have expanded their knowledge and gained some valuable real world insight.
We owe it to each other to share our experiences of applying what we’ve learned, so don’t be put off on getting it out there.
The oppressive weight of prior art
This is especially true when you think that nobody will listen.
When you open up your favourite social network and are bombarded by countless hot takes, it can make you feel like you don’t want to contribute. You may say: after all, why does my opinion matter when there are already plenty of opinions from others that have more followers, readers or subscribers? Well, your opinion matters because of exactly that: it’s your opinion. That’s what makes it unique, and that is why it needs to be heard.
After all, there is no definitive way to do anything. There are almost limitless possibilities, approaches, and situations that you have faced that others haven’t yet. There may be an entire market out there for your ideas that you don’t yet know exists: a readership that is looking for a new and fresh take that is unlike the status quo. Perhaps you are an incredible teacher, but you don’t know it. Maybe you have a unique ability to convey complex ideas in a simple way that brings people who feel excluded into the conversation.
And if you don’t know where to start, share your experiences of what you already know. Think about it. Did you switch from strict quarterly planning to an approach with no plans and no estimates? How did that go? Did you stay technical and hands-on as a leader? What worked and didn’t work for you? Tell us. Is remote work working out for you and your team? Share your results: we would love to hear them.
Do it.
Write that blog post, share that code, or put those talk slides up where other people can search for them. Put your opinion out there in order to better work through what you’re learning in your own brain. You never know; you might just end up on the front page of Hacker News.
Never feel discouraged because you’re not a well known personality or highly trafficked author. When I started my blog all of those years ago I felt that success meant a small handful of people reading what I’d written and finding it useful, with those people most likely being my colleagues.
I certainly didn’t expect that I’d have to keep upgrading my Plausible subscription over the years, nor that I’d end up writing any books. That’s the beauty of the internet: without knowing, you may have helped unlock someone’s thinking on a problem on the other side of the world.
Sharing our unique experiences is why our leadership capabilities have never been better. When I submitted the career tracks from my previous company to progression.fyi in 2020, there were about 25 tracks on there in total. Now there’s 75. Ten years ago, you’d struggle to find one relevant book on engineering management, leadership as an individual contributor or on remote work. Now you can fill a bookshelf.
The floor keeps on rising because more people are trying things out, seeing whether it works for them, and then sharing their experiences with the rest of the world.
Read widely, apply selectively, and share regardless. I encourage you to do the same.
My new book: a blueprint for senior leadership
With that in mind, I guess it’s time to put my money where my mouth is. It’s time for a new book.
Back in 2020, I wrote a few articles on managing managers before getting swept up in writing Effective Remote Work in 2021; a priority switch that happened because of the pandemic. However, now I feel like it’s time to give Become an Effective Software Engineering Manager its spiritual sequel.
I’ve been in the game of running large engineering organisations for a little while now, and I think that this set of skills is the next big unlock that we need in our collective knowledge. Senior engineering leadership is somewhat nebulous: just what exactly do Directors and VPs do all day? How do you get there? How can you be successful? How do you even know you’re doing a good job?
Whereas my first book focussed on the first giant leap of management, which is becoming a manager and leading a team for the first time, this book will focus on the second giant leap, which is becoming a manager of managers and running a large organisation. Last week I signed my third contract with Pragmatic Programmers, so we’re already getting underway.
I’m aiming to focus on lifting the lid on this role in such a way that makes it practical, understandable and reachable for those that want to grow their career in that direction. It’ll focus deeper on defining the management career track in the upper echelons, and the patterns, techniques and models of gaining entry and succeeding there.
It will look at how to manage your time, your staff (which includes managers and senior right-hand engineers), your peers, and your manager, which are all unique challenges at higher levels of seniority — especially if you report to a founder or high ranking executive. We’ll also dive deep into strategy, communication, budgets, resourcing, natural planning and execution cycles, peacetime and wartime, and the non-linear path to getting to where you want to be and becoming world class at what you do.
I’m really looking forward to getting all of my thoughts down on paper.
I also want to do a better job of serialising some of the content as separate articles as I go along. For Effective Remote Work, I pretty much entered a black hole of silence for a year, so I’d like to approach that differently this time around. Expect snippets of the book to appear here as I progress. Subscribe using the button below if you haven’t already.
So stay tuned — there’s a whole lot of writing to do. Until next time.
I remember I picked up your book when I was searching for something that gives me pragmatic insights into the day to day of engineering managers and it rightly served the purpose.
Fast forward after 4 years, I'm writing a book for engineering managers, out to tell a story to the world, in my own words.
You're absolutely right. Engineering Management is an intricate subject and everyone's perspectives bring unique style and it's not at all a binary.
Really enjoyed this one, thanks James!
Excited for the new book!