News for hackers. Stuff that matters.
Re:Makers, Don't Let Yourself Be Forced into the 'Manager Sc... by JohnBooty on Monday November 11, 2019 @04:01PM (#21508870)
Ouch. I used to work with a guy like this.

Generally speaking, this is an occurrance that is exceedingly common and extremely under-recognized in our industry.

    Instead, he used the odd hours to force us to give him only 
    work that could be accomplished alone. We were lulled into 
    letting him make key architecture decisions in isolation
Our guy accomplished this via different means but the end result was the same: because of various factors, he became "architect" and essentially was able to make decisions alone. Then we had to live with them.

    Eventually he became the architect by virtue of operating in 
    isolation, where we couldn't discuss his decisions. Everyone 
    else was forced to work around his code. 
Yyyyeeeeeeep.

Our guy was genuinely, I think, the best engineer on a team of pretty good engineers. But in terms of sheer talent he was not a "10x" coder in terms of raw talent. Call him perhaps a "1.2x" or "1.5x" in terms of raw talent.

However, he was essentially able to operate as something like a "10x" talent because he got to do a lot of greenfield work, make sweeping architecture changes and decisions, and so forth. Meanwhile we were all left to deal with his fallout.

Whether or not you believe there are legitimate "10x" engineers (we'll set that debate aside for a moment) I think it is very, very obvious that we have misidentified the talent level of many engineers. Your actual output level as an engineer, be it 1x or 100x, is always a product of many factors and your actual talent level is only one of those factors.

    Worse yet, having someone like that on the team drives away other great employees.
Yes. Two big reasons.

1. It's not a good way to make software, obviously. Great employees want to make great software and will be frustrated.

2. It's career fucking suicide to work under somebody like that. It's impossible to shine when working under somebody like that. You can't clean up a mess as quickly as other people can create a mess. You just can't. With very rare exceptions you simply cannot mop a floor well enough to be seen as something other than a janitor.

Re:Makers, Don't Let Yourself Be Forced into the 'Manager Sc... by throwaway10x on Monday November 11, 2019 @09:51PM (#21511126)
Reading your comment and the parent gave me goosebumps, I might be guilty of being this type of engineer.

I created a side project that became its own very successful product, and now there are a couple of other engineers in the team and I'm the "tech lead". We have a front end and backend component, and I have another brilliant full stack taking full charge of the frontend. the other two engineers are _very_ mediocre at best. The code is complex partly because I (without formal training) wrote it all myself, but also because it's a very complex priduct, not just a CRUD. I'm Constantly stymied by the fact that on the backend, asking the mediocre engineer to do something means it will take a full Sprint instead of the two hours it'll take me. The other engineers are also not able to fully understand the PRs (because the code is still too complex to them after six months joining the project) so I feel minimal upside to wait for their code reviews (which I still do anyways). I've asked to staff with better engineers but given the complexity of the product (directly query very large datasets with very complex jobs from a clean frontend) and our small orgs inability to attract great talent, I'm not getting anyone.

I'm forced with two possibilities: 1. Ask for the mediocre engineers to be removed from the team, and continue working on the backend solo (but making it actively a job to document and make it as easy as possible for a good engineer to take over after me). This would actually boost productivity 2x from what we are now frankly.

2. I stop coding fully or slow down 5x and work primarily as just someone who asks others to code. It would probably slow us down 3-4x,but I suppose it'll match the pattern of a regular team, though to what end I don't know.

Is there any advice you can give? I'm sure I'm not seeing something obvious here that I'm doing wrong, and am fully open to honest input.

Re:Makers, Don't Let Yourself Be Forced into the 'Manager Sc... by jaggederest on Monday November 11, 2019 @10:53PM (#21511372)
I think you're failing to prioritize the right things about your code.

The primary purpose of source code is to be understandable and manipulable by other engineers. No matter how well it accomplishes its goals, it's not "good code" unless it can be understood by other people.

I question whether you're actually working with a "very complex product" - it might just be that the way you're representing it is complex. If the code is still too complex to other engineers after 6 months, it's not the engineers who are wrong. At 6 months they should deeply understand some parts of the code and have confidence about diving into and understanding other parts with some ramp-up time.

I say this as someone who writes a lot of code that other people find hard to understand because it's "clever", and it's taken me a long time to fully internalize that, when someone else can't pick it up, it's not their problem, it's mine. Code is user interface, and good user interface meets the users where they are, not where you wish they would be.

Honestly, this aspect of software engineering is really the bottom line hardest part - it's not getting a working binary out of the compiler/interpreter, it's about getting a living system to evolve well. That means nomenclature and abstractions have to be top notch, not just the algorithms.

There's an old saw about "if it's twice as hard to debug code as to write it, never write code that's more than half as clever as you're capable of, otherwise you'll by-definition be unqualified to debug it", and I think there's a lot of truth there. One of my old director of operations used to say "If you can't run the playbook at 3am after being at the bar, it still needs work", and I think that's also true of non-ops related code.

Your next step is to reorient your role: your job is no longer to ship features, your job is to make the code easier for your coworkers to execute in. You're right that you'll "stop coding" as seen by management: your new bosses are your coworkers. Treat them as your customers, have them file tickets, the whole nine yards. When you reach the point that your coworkers are faster at getting things done than you are at the moment, then you can turn your sights back to production work, but until then, your job is technical debt remediation.

Re:Makers, Don't Let Yourself Be Forced into the 'Manager Sc... by nomel on Tuesday November 12, 2019 @03:47PM (#21518017)
> The primary purpose of source code is to be understandable and manipulable by other engineers.

I've never worked in a fantastical position like this. The only purpose of the source code that I've been a part of was to provide a real solution to a real problem, in a limited amount of time, with too few resources. Technical debt always increased slowly until features are removed or break, forcing some dedicated work.

Can I ask what industry you're involved in where code quality is held higher than profit/deadlines/solutions? I would happily make the jump.

Re:Makers, Don't Let Yourself Be Forced into the 'Manager Sc... by jaggederest on Tuesday November 12, 2019 @06:54PM (#21519565)
I've worked in a lot of industries from heavily-regulated healthcare, financial, core developer tooling, and a lot of YC startups. It always pays off in the end to consider code primarily for engineers, and every time I see people take those kinds of shortcuts in non-bet-the-company situations, they regret it. Especially in situations where you're handling large flows of cash or data, a percentage point can sink your entire business. Certainly a HIPAA violation can add zeros quickly.

I've actually been doing a lot of turnaround consulting with companies that took a short term mindset, got stuck, and had to step back and revamp their technical processes like you say. It's always more expensive to redo it after the fact, but I'm happy to take their money and fix their mistakes.

And that's not to say that it's not a tradeoff, but it's about being conscious of the tradeoffs involved and making reasonable choices.

Re:Makers, Don't Let Yourself Be Forced into the 'Manager Sc... by spease on Tuesday November 12, 2019 @01:46AM (#21512047)
I’ve worked on code that’s both ways. That is, either:

(1) spaghetti code that relies on the author having a great deal of it memorized. It uses opaque types that get passed through multiple modules. There is no hard separation of modules. Consequently it’s easy for someone who knows the system to reach into any part from one part and immediately get something done. However it’s a nightmare to make changes on otherwise. Unless you have an near-eidetic memory, it will likely negate any coding skills.

(2) Strongly typed and modularized code that takes advantage of advanced language features. In this case, it requires somebody of a certain proficiency in the language, but they only need to focus on one module at a time, and the compiler will stop them from violating architectural assumptions.

And these aren’t mutually exclusive, nor are they binary.

Re:Makers, Don't Let Yourself Be Forced into the 'Manager Sc... by Fradow on Tuesday November 12, 2019 @10:19AM (#21514737)
I'm guilty of that sort of thing as well (doing something complex without enough training to properly code it).

Story time to drive home my points: I started 7 years ago, fresh out of uni with a diploma, but not enough experience, and did something overly complex, with a lot of frankly bad code. Then, 5 years ago, we expanded the team (which means I was no longer the sole developer, but we were now 2).

At first, I was not satisfied with the other developer (fresh out of uni as well). Instead of trying to fire him, I bit the bullet and answered every question, took a lot of time to explain things to him. Yes it slowed me a lot. It also forced me to up my game to make our codebase readable (not MY code, our codebase), add comments etc...

In the end, he is now a valuable team member (we are still only 2 devs, with the occasional intern) who knows most of the codebase as well, if not better, than me. It has been the case since about 3 years (it took him 6 months to have a decent development speed, and about 2 year to develop at about the same speed as me). Neither of us consider himself a "rockstar" developer and that's fine. We work as a team, and as a result our code is better, faster, more readable and as less bugs. I couldn't achieve that level alone no matter how much I tried.

To sum up: train them relentlessly, without loosing patience, and use that as an opportunity to make the codebase more readable.

You didn't mention how much time those engineers have been working with you though. Common knowledge is that it takes at least about 3 months to be proficient with a codebase you are new to. More if you are not experienced.

Re:Makers, Don't Let Yourself Be Forced into the 'Manager Sc... by ebiester on Tuesday November 12, 2019 @11:56AM (#21515644)
Programming is a trainable pursuit. Perhaps they are mediocre, or perhaps they are even bad. So, the best thing you can do is spend a significant portion of the time pair programming and seeing the project through their eyes.

Second, you probably should be taking some of that time you are coding and instead extensively documenting how it works, the design methodology, and making sure the unit tests are covering the code. After all, there are many implicit decisions in the code that they have to re-discover.

If you don't have tests, it makes working on a project as a new engineer difficult because you have no guard rails to know if something broke, especially because the specification is only in your head.

If you invest in your other engineers and in the process, they will become much faster and that slow down is a temporary bump in the road.

Re:Makers, Don't Let Yourself Be Forced into the 'Manager Sc... by JohnBooty on Monday November 11, 2019 @10:22PM (#21511265)
So, I think any engineer can be "guilty" of this.

In fact, I might say that pretty much every engineer will be guilty of this if they have been in the industry long enough.

It doesn't mean you're evil! It just means you're the one who created a bunch of stuff and naturally you can work with your own stuff more efficiently than others can.

In fact I actually was "this guy" with one section of the code at my old company; the one where we had the "faux 10x" architect-dictator. I did manage to achieve a fairly clean transition once my involvement in that bit of the code ended.

    Ask for the mediocre engineers to be 
    removed from the team
It sounds like this codebase is significantly complicated that even above-average engineers might find it an uphill battle. Is this true? If so, perhaps the answers are the largely the same whether or not the mediocre engineers are replaced.

    "asking the mediocre engineer to do something 
    means it will take a full Sprint instead of 
    the two hours it'll take me"

    "[Transitioning from coder to mgmt/mentor] 
    would probably slow us down 3-4x"
How many hours of useful coding do you do per day? There are a lot of studies that suggest even great engineers don't code for more than a few hours per day. I don't think I'm great, but this definitely applies to me.

Maybe you could divide your time in a way that's not too painful. Perhaps you could spend a fixed 1-2 hours per day on knowledge transfer (pair programming, etc) and not impact your productivity.

Here's what I would say.

0. Get buy-in from the rest of the management/leadership team. They should fully support your efforts to get others up to speed. Tell them you are concerned about being the only one who can maintain the product effectively. They should NOT want you, personally, to remain an indispensible single point of failure. What if you leave? What if you are hit by a bus?

1. As I said above, if you can devote perhaps 25% of your week to full-time knowledge transfer, you might find that you accomplish a lot without sacrificing your other productivity unduly.

2. Pair programming is, I think, the fastest form of knowledge transfer. An hour or two of pairing with the newbie engineers at the outset of a task goes a LONG way and may save dozens of hours later in the sprint. It sounds like these engies should never, ever begin a task without this guidance from you. They will learn the code, they will learn the thought process that went into the code, and they will learn your problem-solving process.

3. Is your test suite awesome? Writing or improving tests can be an excellent way for folks to get up to speed on the code in a low risk way. And a strong test suite has long-lasting benefits. If you don't have a test suite at all, even a very rudimentary one will reap large rewards down the road.

4. I document my code (via inline code comments) more than most. My opinion is that if a bit of code represents a non-obvious technical kludge, or a bit of business logic, it should have an explanatory note. Theoretically this could be accomplished via diligent commit messages, but sifting through hundreds of commit messages is awfully tough.

5. YOUR ENGINEERS ARE PEOPLE. Working on your legacy hairball of code is... frustrating. Recognize their pain. Be sure to get them some "wins" on a regular basis so they can feel good. Praise their efforts in private, and in front of others in meetings.

Good luck to you! My email is john edmund rose "at" gmail if you want to correspond. I'd like that!

Re:Makers, Don't Let Yourself Be Forced into the 'Manager Sc... by incangold on Thursday November 14, 2019 @03:04AM (#21533664)
Really like this.

“Average” engineers manage to be productive with React, Spring, WPF[1]... These are not simple technologies. Why can’t “average” engineers be productive with my stuff?

Quite often it’s because these bigger, more complex, projects have far more comprehensive docs.

It sounds like this codebase has a fair few abstract concepts in it. Those things can be hard to understand without comments and docs explaining core concepts.

Sequence diagrams are also great. I like generating sequence diagrams from logs during automated testing so they never go out of date.

I also find it useful to have docs at the top of each class (or file) explaining 1. what its responsibilities are, and 2. what it collaborates with. Like the old CRC cards.

Obviously this stuff can drift out of date, but it’s less of a problem with the core bits of the system once they’ve settled a bit.

If they don’t exist already, it’s nice to write docs by pairing with new devs.

It is of course possible your engineers really aren’t up to the job, in which case the effort you put in to explaining things now will still make things easier for their eventual replacements.

I had all this wrong for so many years.

[1] whether these are “good” technologies is beside the point here

Re:Makers, Don't Let Yourself Be Forced into the 'Manager Sc... by erik_seaberg on Monday November 11, 2019 @10:40PM (#21511333)
The telephone game taught me why there should be a “how the system works” runbook in writing. At 3 AM, I don’t want to try to remember the lecture I got from someone who was trying to remember the lecture they had gotten from Saint Paul or whomever.
Re:Makers, Don't Let Yourself Be Forced into the 'Manager Sc... by KurtMueller on Tuesday November 12, 2019 @10:13AM (#21514682)
If you were as good as you think you are, you'd be able to write code that other people can understand.
Re:Makers, Don't Let Yourself Be Forced into the 'Manager Sc... by hinkley on Monday November 11, 2019 @08:12PM (#21510602)
I've worked with too many engineers who got a lot done by making it hard for anyone else to get things done. I think there aren't very many 10x engineers but there are a lot of 4x engineers who make everyone else .4x engineers.

I was a lot happier and less busy trying to be a 3x engineer making everyone else into 1.5x engineers.

Re:Makers, Don't Let Yourself Be Forced into the 'Manager Sc... by JohnBooty on Monday November 11, 2019 @09:11PM (#21510906)
Ideally, this is how it works. Ideally you could even be a 0.5x engineer and make everybody else a 3x engineer and the team would still come out ahead.

That sort of work often goes unrecognized though, if you are an in-the-trenches engineer. Unless your manager is pretty hands on and spends time “in the trenches” with the team they won’t see that. Most organizations reward selfishness and punish benevolence. Not on purpose. They just can’t see it, because they are too far removed from the work and benevolence is nontrivial to measure. So it takes a back seat to trivial measures.

Re:Makers, Don't Let Yourself Be Forced into the 'Manager Sc... by hinkley on Tuesday November 12, 2019 @01:32PM (#21516673)
The first time this became an issue for me I pointed out that I'd saved a frustrating half hour a day for our dev team by making a series of QoL improvements. Across the team that was well over 40 hours a week. If you do things that make other people faster but not yourself then you look bad... to a shitty boss (and Mike was the shittiest I've ever had.)

These days I'm more likely to fix things that bother me and then share them after they're debugged. And often after I have my fingers in something new.

It makes me wonder if the proportion of 'scratch your itch' projects wouldn't be lower if people weren't disillusioned by the process of doing something solely for other programmers.

Re:Makers, Don't Let Yourself Be Forced into the 'Manager Sc... by Aeolun on Monday November 11, 2019 @07:01PM (#21510227)
I still think I’d rather have my architectural decisions made by a 1.5 coder than a 1.0 coder.

This causes other people to have to follow the style, but it also prevents them from making something worse.

Re:Makers, Don't Let Yourself Be Forced into the 'Manager Sc... by Neeek on Monday November 11, 2019 @08:05PM (#21510561)
I think their point was that architectural decisions shouldn't be dictated by any one single engineer.
Re:Makers, Don't Let Yourself Be Forced into the 'Manager Sc... by f0rfun on Monday November 11, 2019 @09:01PM (#21510866)
Not sure about that. Too many chefs spoil the broth. And in most cases, if this one single engineer has the proven track record, I'd give his opinions and decisions slightly higher weightage but at the same time, dictate that he run through his decision making process with the rest of the team. Think of it as forcing him to communicate/knowledge share so that the rest of the team can keep up, learn or simply be convinced. Otherwise, the session serves as a Q&A for the rest of the engineers to shoot. It makes this 'rockstar' a more wholesome engineer in the end, whether he buys it or not. Communicating well is more difficult than perceived, and it's definitely a critical competency to master if you want to really call yourself a rockstar/10x techie.
Re:Makers, Don't Let Yourself Be Forced into the 'Manager Sc... by JohnBooty on Monday November 11, 2019 @09:25PM (#21510978)
Yes, this is how it should work. Assuming your 1x engineers are smart, competent engineers with relevant real world experience under their belts (and are not recent code school grads)... they should have a great deal of input into architecture decisions. They should never have architecture level stuff thrust upon them. Too many cooks spoil the broth indeed but nobody should be doing this stuff in isolation and dictating it unless perhaps you’re doing truly bleeding edge shit and your 10x engineer is a true, Carmackian generational talent.

However.

Howwwwwever....

The ILLUSION of democratic (or at least collegial) meritocracy is how our faux-10x engineer pulled the wool over folks’ eyes. He gave the appearance of soliciting feedback. We had internal RFCs and everything. But in the end though he really did just push his ideas through unmolested, because he had management's blessing to do so.

Not sure how much was an intentional masquerade on his part. I think he really did think it was a meritocracy and his ideas were simply the best. It is certainly not unheard-of for folks to fail to recognize their own privilege. Whatever the case, management enabled it. He was not an awful guy in general, and I rather liked him, just not as architect-dictator.

One of his favorite tactics was to spend weeks or months coming up with something in isolation. If you raised objections he’d brush them off by demanding to know your alternative. Which was horseshit - how could you have a viable alternative when he’d had weeks to come up with his idea and you’d only had 10 seconds, especially when these "ideas" are his fulltime responsibility and your responsibility is to ship 40 or 50 hours' worth of software a week. And past experiences had taught you resistance was futile anyway, so why pour your heart into a doomed battle in this latest bit of asymmetrical warfare?

This tactic played well to management though. He looked like the brilliant idea guy and you looked like the negative Nancy. This is a very common bit of political and rhetorical warfare and you see it everywhere.

It is, essentially, a tactic that has much in common with the dreaded "Gish gallop" - you fling stuff at your opponent faster than they could possibly refute it.

https://en.wikipedia.org/wiki/Gish_gallop

The cure for this in the software simple and difficult. Managers "simply" need to be aware of this possibility. However, they also need a certain level of technical chops IMO. If they're too far removed "from the trenches" they can't accurately judge the situation.

Re:Makers, Don't Let Yourself Be Forced into the 'Manager Sc... by JohnBooty on Tuesday November 12, 2019 @12:02AM (#21511659)

    "The cure for this in the software simple and difficult"
Apologies. This should read:

    "The cure for this, both in software development and 
    elsewhere, is both simple and difficult"
Re:Makers, Don't Let Yourself Be Forced into the 'Manager Sc... by f0rfun on Tuesday November 12, 2019 @01:05AM (#21511875)
I hate to be in your predicament. Software dev mixed with workplace politics is such a mess. Coupled with non-technical upper management that can be easily manipulated. I don't think the cure is simple and difficult, there probably isn't a silver bullet.
Re:Makers, Don't Let Yourself Be Forced into the 'Manager Sc... by JohnBooty on Tuesday November 12, 2019 @02:07AM (#21512123)
Thank you.

Luckily, I'm out of that predicament. It was actually really hard to see it for what it was when I was in it. That environment had all the trappings of a healthy engineering culture, and sometimes it truly was healthy, but only in hindsight have I realized some of the ways in which it was deeply screwed up.

What helped was talking with former coworkers, and going to work someplace that is actually healthy. It's not totally unlike finding yourself in a healthy relationship again after being in an unhealthy one.

Re:Makers, Don't Let Yourself Be Forced into the 'Manager Sc... by Wintereise on Tuesday November 12, 2019 @12:50AM (#21511833)
Anecdotal, but I've never seen democracy work out well for architecture level decision making.

If there's someone with a proven track record of making sound decisions at the required level, often the team benefits from just following their lead.

Obviously, this can't be another case of the 4x engineer making everyone else 0.4x engineers. Fairly situational indeed.

Re:Makers, Don't Let Yourself Be Forced into the 'Manager Sc... by JohnBooty on Tuesday November 12, 2019 @08:37AM (#21513942)
I used the word "democracy" myself, but I probably should have used a different word.

I would agree that it certainly shouldn't be a "one person, one vote" style democracy that makes everybody exactly equal regardless of talent, dedication, experience, domain knowledge, etc!

Re:Makers, Don't Let Yourself Be Forced into the 'Manager Sc... by shagie on Monday November 11, 2019 @10:58PM (#21511400)
There should be a single vision for how the software works.

This does not mean that vision should come from a single person. Ideally, it comes from the people who are able to contribute and critique that vision (other senior developers), with the acknowledgment of the people who don't have the information to contribute or critique (the junior coder).

This harkens back to the MMM and Mills's proposal.

> The surgeon. Mills calls him a chief programmer. He personally defines the functional and performance specifications, designs the program, codes it, tests it, and writes its documentation.

> The copilot. He is the alter ego of the surgeon, able to do any part of the job, but is less experienced. His main function is to share in the design as a thinker, discussant, and evaluator. The surgeon tries ideas on him, but is not bound by his advice.

> The success of the scaling-up process depends upon the fact that the conceptual integrity of each piece has been radically improved—that the number of minds determining the design has been divided by seven. So it is possible to put 200 people on a problem and face the problem of coordinating only 20 minds, those of the surgeons.

Chapter 4 is all about conceptual integrity of a project.

> Conceptual integrity in turn dictates that the design must proceed from one mind, or from a very small number of agreeing resonant minds.

Re:Makers, Don't Let Yourself Be Forced into the 'Manager Sc... by hippich on Monday November 11, 2019 @09:39PM (#21511063)
At my last place "architecture by committee" did not appear to work at all. I think there were two reasons:

1) Lack of focus - everyone had their own annoying part of the system they wanted to fix badly and were not aware much about what going on elsewhere.

2) Our group of ~10 people would cost 10x of senior salaries to the company to do such architecture work. No manager would ever authorize that.

Re:Makers, Don't Let Yourself Be Forced into the 'Manager Sc... by codyb on Tuesday November 12, 2019 @12:10AM (#21511686)
I worked at one company which did design reviews for major projects where one person would present and everyone would pick at it until some semblance of a decent consensus was reached and then said designer would go off and build their stuff.

That worked pretty well and kept each review fairly focused.

And it was generally one of my favorite parts of the day from either end.

It’s really nice to be able to sit with a group of engineers, hear each other’s thoughts, find things you missed, and get away from the laptops for a bit to thing about new systems.

Re:Makers, Don't Let Yourself Be Forced into the 'Manager Sc... by JohnBooty on Tuesday November 12, 2019 @12:03AM (#21511666)
How big were the committees?

A group of 10 seems too large and counterproductive. I think a group of roughly 3 seems about right.

Re:Makers, Don't Let Yourself Be Forced into the 'Manager Sc... by thwarted on Tuesday November 12, 2019 @05:10AM (#21512968)
The Brooks model is to have a "surgeon", who calls the shots and owns everything about the development and process and tooling around it, with a support structure that assists and reduces risk, as he outlined in The Mythical Man-Month.
Re:Makers, Don't Let Yourself Be Forced into the 'Manager Sc... by prpl on Monday November 11, 2019 @08:08PM (#21510583)
Code reviews help gate this behavior, a bit. If a coworker does this and drops a 40k line PR, they get code review duty for everybody else for a little while _before_ their code can get merged. Letting them go unfettered definitely is a mistake.
Re:Makers, Don't Let Yourself Be Forced into the 'Manager Sc... by tomrod on Monday November 11, 2019 @10:17PM (#21511251)
Is this superhero syndrome? Where the engineer creates messes that only they can truly clean up? If not, what is a better term here?
Re:Makers, Don't Let Yourself Be Forced into the 'Manager Sc... by JohnBooty on Tuesday November 12, 2019 @02:28AM (#21512207)
There should be a term for it, so that people like me can describe it in less than a billion words.

Wikipedia says:

    People with hero syndrome generally cause an 
    accident or disaster with the intention of 
    then coming in to render aid, and become the 
    'hero'. The reasons for this often vary. 
    The perpetrator may be trying to validate 
    their own self-worth, or be seen as brave 
    by others. 
From that description, it sounds like the would-be "hero" in hero syndrome deliberately creates these disasters.

I think things are a little less clear-cut in the sort of (common, IMO) engineering scenario I was talking about.

I feel it's often more of a systemic situation, where the company/team does not properly value the knowledge transfer, empowerment, and management skill necessary to avoid those situations.

In the specific situation I described I don't think our architect intentionally created messes, and I think probably believed at each step of the way that his actions were best for the company.

Re:Makers, Don't Let Yourself Be Forced into the 'Manager Sc... by tomrod on Wednesday November 13, 2019 @05:34PM (#21530454)
Let's call it 10X syndrome. Spread the word!!!