My Authors
Read all threads
This is a very good point. It is every bit as possible, and equally as common, for eng managers to err on the side of under-evaluating as over-evaluating.

If you under-eval, your team misses out on growth opportunities, and your comp and levels won't be fair or meaningful.
How can you distinguish between the helpful, growth-unlocking ways of evaluating engineers from the harmful, metrics-gaming ways that I ranted about here? charity.wtf/2020/07/07/que…

Well.. think about the differences between factories and artisans.
Imagine we're talking about building shoes, not software. You have a shoe factory. How can you tell if it's performing well?

You gather stats on # of pairs manufactured per day, how long it takes to make each pair, uniformity of the components, quality of the finished product.
Now consider the artisan, the cobbler who handcrafts individual pairs of shoes to order. How can you evaluate how skilled they are at their craft?

* Did they design the shoes, or are they replicating a design?
* How artistically appealing are they? How faithful is the result?
* Did they have to tan, dye, and process the materials themselves? How skillfully did they do so?
* Did they have to work around any missing or suboptimal components?
* Is the design optimized for aesthetics, comfort, or endurance?
* Are they working on a compressed deadline?
* How well do the shoes fit the intended recipient?
* Does that person have any medical or orthotic needs? Does the cobbler understand and have the necessary materials to address those needs?
* Is there an apprentice? Does the cobbler effectively use their help? Are they happy?
* Is this particular pair of shoes well within the cobbler's normal range, or is it an experiment?
* Does the cobbler's aesthetic judgment resemble your own?
* How long are the shoes expected to last, and under what conditions?

... and so forth.
Context matters. Context is everything when it comes to evaluating engineering labor.

Shoes are simple enough that we can stamp them out with factories and they are mostly good enough, but software is not. Software and systems engineers are firmly in the realm of artisan labor.
You cannot evaluate an engineer's output without taking into account,

* degree of difficulty
* prescribed timeframe
* the support from other teams, or lack thereof
* her familiarity with the building blocks
* any changing conditions
* dependencies & design constraints
This is why it's important for engineering managers to be fluent, or at least literate in the domain in which the work is being done, so they can independently evaluate these things.

This is also why managers have a responsibility to educate themselves about their biases.
Missing some Tweet in this thread? You can try to force a refresh.

Keep Current with Charity Majors

Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!