Live data from Hacker News

Busting the 10x software engineer myth

swarmia.com

41–50 of 356 posts

Re: Busting the 10x software engineer myth

#42
post #6

> Wrote hard-to-understand procedural code to 5000-line files. Did not actively share knowledge with his peers. The author seems to mean prima donna, not a 10x engineer and then goes on to destroy that strawman. Actively sharing knowledge, mentoring etc... and code and architectural simplicity are a given for someone who's 10x productive. Most of the costs are in maintenance not the initial delivery and a 10xer's out…

I'd agree. I don't think the article is refutes that "10x engineers exist" - more that some engineers who are able to work fast are incorrectly labelled "10x"

i.e. Having more knowledge or banging out shonky code might let you appear more productive than your peers, and you should probably adopt more metrics than simply coding tasks getting completed.

Re: Busting the 10x software engineer myth

#43

A fact I notice in a lot of teams and orgs, valid for both this and the 'heroes' discussion: Every organisational silo has,in the long term, exactly one 10x engineer, a.k.a hero. If there is no hero, the organisational silo will fail unless someone cares enough to take the role. If there is a hero, the need for a second one disappears. If a hero falls away, you'll have a few months of chaos after which a new hero app…

> Heros are a consequence of organizational barriers.

Or organizational barriers are a consequence of heros?

Re: Busting the 10x software engineer myth

#44

He's not even busting the myth. He says 10xers exist, but they are bad for the company.

No. He puts up a strawman argument, representing ”10x engineers” as producing shoddy work and not sharing information, which he then presents as being bad for the company. That is not a valid argument—obviously people like that are bad for a company, but those people are not ”10x engineers” even if they may sometimes be perceived as such.

Re: Busting the 10x software engineer myth

#45
post #28

Earlier quoted context omitted.

If we're taking about is just output on a larger macro scale, then yes, hiring enough people will replace 10x engineers. But some things i think you won't be able to replace -- You won't be able to replace speed on short-term projects. Lots of people means lots of communication overhead, which really kills fast responsive speed. If you value time to answer, you'd prefer a small team of really smart people instead of…

Just to give a concrete example: no amount of software engineers can be hired to produce comparable work of an expert cartoonist except by dumb luck. Throwing 1000 engineers won’t solve the problem. I imagine within the tech world there are tasks that are ill defined and a small subset of engineers can solve, but a typical engineer may not have the background to solve it.

>no amount of software engineers can be hired to produce comparable work of an expert cartoonist except by dumb luck.

You actually hit this nail quite on the head with the example. The "10x engineers" get a lot of their "10x"-ness from creativity - most I've met are cartoonists, painters, musicians, writers, cooks - artists in general that love software as a way of expressing themselves and earning good money. The beautiful bits of code you get after are usually there because the starting point is "create it" not "implement existing solution/pattern".

Re: Busting the 10x software engineer myth

#46
post #3

I know "10x engineers" exist; some people are fakes and put forward things that look like they have high impact but are actually a bit shoddy. Some people like to be present and suck up. But some people really do just work hard, smart and have deep passion for what they're doing- and importantly: pride, which makes the quality of the content great too. Some of the best engineers I know "visit" bits of code or infrast…

I've worked with a few developers who are great - people who get bored of waiting so just build it themselves one evening whilst everybody's arguing over funding/recruiting the team we thought was needed.

Within a team, I think 'greatness' comes in all manner of different forms, all of which are needed. The person who holds the whole software model in their head, and can rattle off the precise changes required to implement a new feature. The person who has an encyclopedic knowledge of all the technologies, and often spotted sat next to another engineer helping them through an issue. The person who mid-way through implementation spots a flaw or an improvement that can be make to the process and comes back offering options for improvement. Of course it's great to have the person who comes back after 2 weeks having written more code than the rest put together - but.. well monoculture is always bad. Wouldn't want a team of them.

Re: Busting the 10x software engineer myth

#47
Anyone who has working in software for any length of time will have come across people who deliver orders of magnitude more high quality work than their peers: high output, high quality -- the 10xer. This post confuses that archetype with the similar-but-different high output, low quality archetype -- AKA the "cowboy", "hero", "prima donna".

Re: Busting the 10x software engineer myth

#48
I have a different take on 10x Engineers.

First, this is neither an exact science nor a multiplier (in this case, 10-times). I like to believe I have worked with a few of these "10x Engineers". I'm lucky to be technical enough not to be bullshitted by engineers and OK enough to sell to CTOs.

Here is my understanding.

They are not the ones who would produce XX times over a given period. It is not like normal/average engineers create X in 10 months; then they will do the same 10X in that same ten months or take 1-month to do it.

The pattern I see is that the work of these engineers lasts a very long time and stays relevant for quite a long time. Everyone who works with them is happy because they learn a lot from the actions or are predictable.

For instance, the QA team does not find apparent bugs or rare, most use cases, and the usual flow of actions and results happens.

I believe the 10X comes at a much later stage, over time, when the work is a rock-solid framework and foundation that everyone else can pick it up and work upon it.

I know I'm not very concrete, and I have to work harder to describe them in better ways. For now, it is more of a feeling I have after working with them. My only role was to understand them (not the technology) and shield them or cushion them from the BS-es that flow around anything that happens in a project/company.

We used to nod and agree on these lines -- So, what are our BS-es that we need to tell the management/client to cross this hurdle. But remember, we still need to make that BS happen.

Let me extrapolate the last part. So, I will huddle up the CxO of top Companies over a room, with concierge services waiting around to serve snacks, water, etc., but they won't be allowed to leave for a long time. Their phones are out of reach. When the other CxOs or executives are doing it, everyone else follows. I will throw around words like empathy; the design is subjective, iterative design, human framework, and all the jazz that pops up in my head. "The customer has to be able to find the shortest, simplest route to checkout."

Then I will meet up with the team, explain what I promised, and we will, kinda, laugh and wink. However, we will now convert those "Design is Subjective" to Objective Deliverable Goals and Binary answers -- YES or NO -- does this work or not - when that checkout happens, what steps, fallbacks, errors, and everything.

Companies eventually save a lot of money, as there aren't multiple iterations or griding other engineers 10-times.

Re: Busting the 10x software engineer myth

#50
There may be 10x engineers. But what I know for sure is, that there are engineers (or engineering teams) which make you perform at 1/10x of what you might have, by mis-carefully laying a minefield of:

* Build difficulties.

* Hidden dependencies.

* Multiple and conflicting sources of configuration information.

* Lack of documentation

* Incorrect/outdated/stone-cold lyin' documentation

* Mis-named executables, configuration files, variables, constants etc.

* Lots of global state

* Inconsistent and surprising design choices.

* Console noise inundation.

So, the supposed "10x engineer" simply knows a few paths through this mine, while the rest of you just keep triggering them with almost anything you do.

Post reply on HN