DEV Community

Discussion on: What are your thoughts on the whole 10x engineer viral discussion?

Collapse
 
aadibajpai profile image
Aadi Bajpai • Edited

I don't see how this one for instance is a good thing to have at all. If you're spending time on what exactly you write instead of understanding the overall design spec then that means you don't have a flexible base at all. That's like a poet focusing more on memorizing the dictionary than conveying the meaning of their poem. I really hope people don't construe this as good advice to emulate πŸ€¦πŸ»β€β™‚οΈ

Collapse
 
dance2die profile image
Sung M. Kim • Edited

That #4 probably should be better be stated as "10x engineers know how to find the fault more reliably" as engineering is not about memorizing the line of code.

And also that line doesn't make sense because if 10x engineer knows every line of the code, then s/he wouldn't have put that into production in the first place! (if the engineer did know, then that engineer was either lazy or up to no-good πŸ˜‰)

Collapse
 
aadibajpai profile image
Aadi Bajpai

Makes sense, I think the OP has had no real experience work programming and/or leads a team who is feeding him bs.

Collapse
 
ferricoxide profile image
Thomas H Jones II

Reminds me of an old joke...

//
// Dear maintainer:
//
// Once you are done trying to 'optimize' this routine,
// and have realized what a terrible mistake that was,
// please increment the following counter as a warning
// to the next guy:
//
// total_hours_wasted_here = 42
//

Collapse
 
adam_cyclones profile image
Adam Crockett πŸŒ€ • Edited

Despite the fact that humans can only remember 7 things in short term memory at a time. This is Twitter post is toxic, do not listen to such nonsense. You might find people appear to have the eye of sauron pointed towards a particular repo but honestly it's software like Jira and whatever else that allow them to consume information. As for fix in hours, that just means stem the bleading and do the work later.

Collapse
 
aadibajpai profile image
Aadi Bajpai

Yeah, I mean if you're not using the tools you have available just for appearing vainglorious then that's just plain stupid. Driving a nail into a wall using your bare hands when a hammer is available means you literally have no idea what you're doing.

Collapse
 
ferricoxide profile image
Thomas H Jones II

Despite the fact that humans can only remember 7 things in short term memory at a time

That's an average, not a maximum (and, according to some recent studies, that average is more like "4" than "7"). Different people have different effective working-memory capabilities ...and, even the ones that are stuck with the average MAX_ITEMS can increase the effective number of items they can juggle by strategic chunking.

There's a lot of interesting articles on short-term, long-term and working memory. Both in how you can improve them or completely undermine them (even to the point of erasing long-term memories with common pharmaceuticals like a couple different kinds of beta-blockers). One can quickly fall into a link-hole by reading about human memory. :)

Thread Thread
 
adam_cyclones profile image
Adam Crockett πŸŒ€

It would be quite difficult for my to list the memory of every human on earth and in space so I think an average is a lot more efficient in this post, that was my intent. Anyway are you sure you remembered that correctly πŸ˜‚.

Thread Thread
 
ferricoxide profile image
Thomas H Jones II

I'm one of the people afflicted with the "remembers too much" problem.

Collapse
 
ben profile image
Ben Halpern

Absolutely.

I'm personally trying to gradually loosen my own similar role within the context of the dev.to codebase. It seems that the only times I ever have to request changes to a @rhymes pull request is when I have some deep knowledge of a hack or undocumented decision taken a few years ago when I was solo-hacking on the project.

It's easier said than done, but I pray for the day I don't have this "special role" of just knowing things other people probably don't. If I were a 10x engineer I probably wouldn't have created that role for myself in the first place πŸ™ƒ (or perhaps 10x engineers aren't a thing).

Collapse
 
aadibajpai profile image
Aadi Bajpai

Agreed, I don't really maintain as huge a codebase but it's getting to the point where I'd rather keep track of why something was done than how it was done. Especially when working with other contributors, it is easy to review their approach by comparing it to your design and not the way you may have implemented the same thing.

Collapse
 
cubiclebuddha profile image
Cubicle Buddha

Yes, your approach is one of servant leadership, which is a much healthier approach (in my opinion). I always hope to raise up my team to a place where I’ve made myself obsolete.

Thread Thread
 
adam_cyclones profile image
Adam Crockett πŸŒ€

Iv heard this obsolete thing before. I've seen it too, πŸ’― agree, but honestly I don't want to be a VHS, I want to be blueray.

Thread Thread
 
cubiclebuddha profile image
Cubicle Buddha

Haha I hear you. But if you focus on your technical and soft skills, then you will never have to worry about having a job. Your position might go away but you’re free to focus on a more difficult challenge.

Collapse
 
yucer profile image
yucer • Edited

That's a good approach for a leader.

In management courses they teach the topic of "chief vs leader". The leader inspire and the others follow it by mean of good examples. The chief commands and the others obey it by obligation.

If someone delegate tasks, he should trust the one in charge giving only non-mandatory feedback.

The ultimate goal is for a pure management is to delegate everything.

In software engineering it is to divide the complexity of the software and make it flow through persons or group of persons that can fully understand it.

In this book the author treat also the topic of why the industry should not be based in the inspiration of geniuses that could handle all the complexity of the software.

That's why the focus of the Book, and also the software development methodologies of the last decades, has been the "industrial strength software". They define such software as a software that has enough complexity that no person can not fully understand in details.

I don't know if an internet forum can achieve such a level of complexity, but a rule of thumb can fit here:

If just one person can understand it, then the software is not complex enough... or that person is a genius.

I would say in practice geniuses are good for a project, as long as they are humble and cooperative. I would hire them, but I would make them part of the design or the quality team. They would be only be able to touch the code by mean of pair programming, so that there is a redundant backup.

Geniuses trend to be a high demand resource, and there is not guarantee that they can be retained forever.

Collapse
 
svemaraju profile image
Srikanth • Edited

Moreover, if you've been working on a project for a while, you'd be able to identify bugs easily. There's nothing special about that.

Collapse
 
ferricoxide profile image
Thomas H Jones II

...And you're missing that the engineer in question isn't necessarily doing any of that. Some people simply remember everything they stumble across (whether they want to or not). It's not that they spend all their time crawling code, it's that, as they've been asked to fix things, the cumulative code-crawling to find bugs has resulted in them getting the entire code-base stuck in their head.