I don't think is a great metric.
I'd be curious if you read my statement of "delivery with debt attached" to encompass those "soft" types of debt, whether you still have found outliers.
A great dev can even be great within fixing problems/performing ops/maintenance, by my same qualification. _They ship fixes._ Perfection has very little to do with greatness. Aspiring for it might, but that's a second discussion about unrealistic goals and setting oneself up for disappointment.
You're the one who said you could describe "great" in two words that didn't include maintenance or quality. If it turns out those two words aren't enough, or need lots of asterisks and clarifying words, that's on you.
I chose not to use additional clarification because that unnecessarily constrains "shipping" to me. One can deliver value, and have a track record for delivering value, across a very wide set of variables, and I've found my heuristic to be far more elegant (if perhaps not precise enough to bear the rough seas of internet discourse) at mapping post-factum "Was this a successful business relationship" than a much more hair-splitting definition, as well as helping me keep personal biases out of my judgement re: someone else's success.
I'm only playing by the rules you yourself set out. People in this thread were discussing how measuring "greatness" is subtle and very difficult, and then you came in asserting you could solve it with a snappy 2.5-word manta. If you're now claiming that additional clarification is needed, well, yeah, that's what everyone was saying to begin with.
Maybe this is nitpicking, but I've had this conversation in person more times than I can count during loops, review cycles, and over beers, and I'm hard pressed to think of the last time I got such pushback against something that seemed pretty cut-and-dry; namely "did you get done what you needed to get done without undue pain and suffering."
I'll openly concede that I very well could be in a "communication bubble" where words like shipping have loaded context. I'd still defend my point that if one chose the isomorphic terms for within their space, the "intent" of my message holds water as a useful heuristic, if a rather reductionist one. Tautologically, someone who I can trust to fulfill their role without "fires everywhere", two thumbs up in my book.
That being said, I'm honestly blown away by the amount of downvotes I've been getting for what I typically saw as the pillar of "meritocracy", that you get your job done without burning down the house. I wish more of the opposition at least take the time to express _why_ as opposed to just burying this. At this point I feel like I'd do better to "Save my account" and stop commenting but alas this is a topic close to my heart.
Our best dev hasn't shipped anything in the last 2 years.
Yet he has objectively saved us ~$5 million over this period.
Do your devs who fucking ship have yearly returns of >$2 million?
Nostrademons put it better than my perhaps-too-succinct summary. You needed this dev to do something for you, and they accomplished it. They shipped. (This gets even more vague when you get higher level employees who set their own mission, but at the end of the day you're still judging them by some metric of long-term success. Do they have a track record of meeting that? Then yes, they're probably pretty solid by my standard.)
And for the record, yes, my peers who "just ship" have regularly returned <large number> values here. I have the advantage of working for a bigCo so it's easy to generate outsized returns; so I'd say to not let the number distract from my point. I want devs I can rely on without babysitting, open and closed. Over the last 10-15 years, I've come to realize that nothing has come to mean as much to me as knowing I have a team can honestly _trust_ to get the job done. That's pretty exclusively why I define "Great" the way I do; nothing else feels quite as good to me nowadays as when a peer says "I got that handled" and I just know 100% it is. Give me a team made up of people like that and I'd tilt at any windmill :)
1. consider an attempt at simplification "machismo bullshit",
1.5 don't realize the irony in responding in that fashion
2. consider "doing ones job without creating debt" to contain zero information, and deride my attempt to engage others in discussion
and 3. are taking this aggressive and ad-hominem a response to said discussions, I'm very glad we apparently live in different worlds of software development.
I respect that you'd take the time to tell me why you disagree. I don't respect the way you've conveyed your stance.
I'm not sure. Maybe.
> Clearly he delivered _something_ that let you derive those gains.
> to me those are all forms of delivering a result.
But then by shipped you simply mean productive over the course of their employement - that's a pretty context sensitive metric to hire by.
For example I've found through my own failures that being highly productive at a big corporate does not translate to being highly productive at a small startup.
I mean I went from top 5% to middle of the pack.
To some extent this seems logical, would we call a home carpenter "great" within the context of industrial skyscraper construction? The moment you step back from a rather tight focus, (and this may be the root question/debate about "what does great mean", and why my approach has generated some highly opposed responses, because I try to dodge that problem by limiting the scope) any commonalities become much harder to define, and limited mostly to "meta-skills."
So basically, you're right, for me it is very context sensitive, and as I said upfront, I have no silver bullet for identifying greatness without digging into that context quite a bit. In prior threads about the trouble with interviewing I've been very eager to both share the techniques I use/find out how others approach the problem, since summarizing after the fact what I found valuable, much much easier than determining it in a loop. I would love techniques that let me determine how well someone's skills in context A transfer to B, but that is a _massively_ dimensioned question that I can't even begin to hand-wave at, beyond that it might go back to my "meta-skills" categorization.
I can remember working on a shipped product that had a lot of bugs, it was one guy's several hundred thousand line DOS program in one c file that I had to fix bugs and add features to - the guy quit before stooping to fix bugs/add features requested by the customers. Did get to practice a lot of refactoring on that one.
I can tell you what "great" means to me, in 2(.5) very clear words.
"You (fucking) Ship."
To me a great dev has a track record of delivering the end result. A greater dev delivers the result faster, with less debt attached.
One can fairly say that this is still subjective, but my criteria are _quite_ meaningful and even somewhat empirical/measurable, although it's admittedly hard to do in a short interview format. I certainly know a "Great dev" when I've met/worked with them, because they ship faster than I do, with less friction or need to revisit post-factum.
Edit: Since half the responses seem to elide a very key part of my statement, let me echo: _debt matters_. Having someone who ships but burns your team down, not good. Someone who ships but leaves you with years of bugs or un-maintainable code, not good. As I'm sure we all know, you get optimizations against KPIS you measure, and if you don't measure "delivery" holistically, you'll absolutely get people who excel at one component while salting the fields.