Read widely, apply selectively, share regardless

Leave a comment

Pssst. I’m writing a new book. There’s more information at the end of this article.


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 the tweet 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 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.

So stay tuned — there’s a whole lot of writing to do. Until next time.

Should I change job? Earn, learn or quit.

comment 1

A question that I occasionally get asked is whether someone should stick with their current job or get something different. 

Now, the first and most important thing I state is that I can’t possibly answer that question: everybody is an individual with a unique set of work, life and money circumstances. I certainly don’t want to be responsible for any regrettable decisions!

However I do understand when people want a sounding board to check their reasoning before making a choice that can be difficult to reverse if it doesn’t work out. And that’s not to mention that preparing for job interviews is no small feat: it can entail weeks of stressful studying during evenings and weekends.

The best thing that I can do when asked this question is to point at something that Garry Tan posted a couple of years ago as part of his Founder’s Journey series: that you should either learn, earn, or quit.

More specifically, the quote was: 

“At every job, you should either learn or earn. Either is fine. Both are best. But if it’s neither, quit.”

It’s short and sweet and it’s worth keeping it in mind as you pass through milestones at work such as anniversaries, team changes, manager changes, the end of large projects, and so on. Are you learning? Are you earning? And if you’re not, what are you going to do about it?

Learning and earning, mixed with the right amount of good timing and opportunity, have a symbiotic relationship:

  • The more that you learn, the more that you increase your earning potential. Experience pays, and it can open doors for you in terms of bigger roles and opportunities down the line.
  • The more that you earn, the more that you increase the chance of being able to take a financial risk for more learning. For example, once you have a certain amount of money, taking a pay cut to have a more senior position than your current one at a start-up or scale-up becomes more palatable for yourself and your family.

Earning and learning tend to form a cycle:

Going back to the original question of whether or not you should change jobs: it’s an optimization problem on the above cycle where the unique variable — and only person that can solve it — is you. Are you learning? Are you earning? And what do those terms mean to you specifically? Do you have a particular role that you are aiming for? Over what timeframe and what size of company? Are you trying to earn a certain amount of money? Do you want to guarantee a steady, predictable monthly income, or could you take a bet on a big payday in the future for less money right now?

This symbiotic cycle of earning and learning is a pattern that you often see in the resumes of the most senior folks at notable companies. This is because it is far less likely to go all the way from the bottom to the top of the career tracks by staying at the same place: to do so you have to completely luck out with growth, opportunity and timing. 

For most of us, that’s off the cards. 

As much as you wish you could become VP at your current company, if there already is a good VP in place and the company is unlikely to grow much in the coming years, you’re probably not going to become VP. Typically the amount of org chart growth required to need a new VP is huge. And who’s to say they wouldn’t hire externally? If you want to hit high six figures in total compensation whilst working for a small local business, that probably isn’t going to happen no matter how well you perform. Instead, it is far more sensible to switch up jobs when you start to hit ceilings of earning or learning. 

Go where the chance to get what you want is higher.

For example, being an engineer at a big tech company for some time gives you the experience and financial padding to take a risk by being the CTO of a start-up: most of your total compensation is imaginary money for all but one side of a twenty-sided dice roll. However, doing this can supercharge your learning. Conversely, being one of the first managers in a scale-up gives you the opportunity to learn at a frenetic pace if you can take much less pay than you could command elsewhere. However, the experience that you could gain through a successful growth journey, raising money, taking part in M&A and exiting could line you up for a Director or VP role at a much larger company later. Your learning contributes to your future earning, and your earning can create space for learning.

Growth is very rarely a straight line: it’s a pendulum swing. And where that pendulum will swing depends on you. How much do you want to earn? What do you want to learn? 

Only you have the answer.