Skip to content
Branch: master
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
40 lines (25 sloc) 4.14 KB
title date background_image background_image_source
Senior Engineering and Building a Better World
2019-02-17 01:00:00 UTC

I wrote this blog post in response to this tweet on what it means to be a senior engineer.

I think I muddled the point of my post somewhat by trying to express two ideas: an ongoing personal search to figure out how to be the best senior engineer I can be, and a very subtle point about the role of a senior engineer. Let's explore that latter point in a little more depth.


To reiterate, I fully agree with everything in the initial tweet:

A Sr. Engineer’s responsibility isn’t to make puns, work on whatever they want, & fly around the world giving talks.

MENTOR others to become better than you.
DENOUNCE toxic culture.
CRITICIZE decisions that hurt others.

Programming is EASY.

Being a decent human is still hard.

— Garen 🥀 Torikian (@gjtorikian) February 1, 2019
<script async src="" charset="utf-8"></script>

I'd like to take a moment to build upon what Garen Torikian says here, and what being senior engineer is – what "being a decent human being" actually means.

I firmly believe that "denouncing toxic culture" and "criticizing decisions that hurt others" are parts of being a decent human being, and I would group them under the umbrella idea of "improving the world." Expanding this idea a little further: if improving the world is what makes you a decent human being, then building a better world is what makes you a decent senior engineer. And critique alone is insufficient to build a better world.

That last point is really subtle so I want to be clear: if you only frame your engineering practice in terms of critiquing what already exists, then you are limiting yourself to changing what already exists (instead of building new possibilities).

Let's think about this in terms of code. If you're working in a poorly-built codebase, then critiquing that codebases is going to be a necessary step to improving it. You should have a list of what's wrong with the codebase before you start to improve it. However, this critique can only tell you what should be improved; it won't tell you how to actually improve it. That's going to take imagination and a belief that improving it is even possible. Prepared with your list of problems, your job as a senior engineer is to brainstorm and refine ideas to fix those problems (effectively, coordinating the efforts to fix intersecting problems). That second part is what I felt was missing from Torikian's tweet.

Part of building a better world is helping people to believe that a better world is even possible. Criticism of an existing bad world is necessary, but it's not sufficient to inspire people.

Balancing both critique (of what is) and movement (towards what could be) is necessary to build others up and to keep yourself motivated. This is what I meant by "critique is so exhausting" in the previous post. If all a senior engineer does is focus on what's wrong, they will burn out. And I can't be an effective senior engineer if I burn out.

Unsurprisingly, I think John K Samson puts this best:

I swear I way more than half believe it when I say
that somewhere love and justice shine.
Cynicism falls asleep.
Tyranny talks to itself.
Sappy slogans all come true.
We forget to feed our fear.

So yes. Absolutely it is a senior engineer's job to denounce toxicity and criticize cruelty, but it's also a senior engineer's job to build up an empowering, nourishing culture. It's their job to actually believe that things can get better, and to make that happen.

You can’t perform that action at this time.