Live data from Hacker News

We fired our top talent. Best decision we ever made

medium.freecodecamp.org

111–120 of 137 posts

Re: We fired our top talent. Best decision we ever made

#111
I've seen both sides of this table. We had one Rick where i worked, above average coder, very bad ego. When one team had been working on a module for weeks, Rick would review it, declare it as crap (loudly), throw all of it out and rewrite the whole thing in in a day and it would genuinely be better than the original. This was a huge waste of time for both the team and Rick. He would give himself veto to break backwards compatibility in public APIs and was against all forms of automated testing for this reason, this allowed him to produce a lot of code quickly on the expense of everyone else. Management considered him genius which made his ego even bigger, he worked over time often and produced the majority of all code, whenever something was not working he would blame modules not produced by him and management would believe it even though that was usually not the case. End result: working morale was shit and almost all other developers including myself left.

I've also been close to becoming one myself, one of few with whole stack server setup on desk and all, being able to answer questions from team members in a few minutes which would take them hours or days to investigate they love coming to me for questions and during planning they say i'm the only one who can solve certain tasks. To avoid becoming a bottleneck and to give me time to work on my own tasks i just say i don't have time and let them solve their own problems, this makes the whole team more independent and happy and everybody is able to debug their own code.

As others have already noted, management allowing it to go as far as it did in the article is the original source of the problem.

Re: We fired our top talent. Best decision we ever made

#112

TBH, I read this as: we mismanaged the project for months (years?), reduced scope creep by negotiating with the client, and finally implemented what should have been the version 1.0 solution while shifting the blame entirely on the loner dev who worked himself into a corner trying to catch up to our sales department's untenable promises. Everyone created the problem, the dev was an easy target to eat the blame becaus…

Also, this makes it sound like he'd do this out off ego.

In fact, there's a likely chance he is his own worst enemy, really combatting his own perfectionism.

Not to mention, when everyone tells you how smart you are, it feels good in the beginning, but after that compliments can be interpreted as expectations and all the pressure that comes with it.

One should have had (potentially 3rd party) come up to talk to him privately months prior to that and adress his motivation.

Ideally this is for the hiring interview itself, but re evaluating once a year is a more healthy prospect for both the company and the worker.

"Rick" might feel great, but by dropping based on something that is so tied to his identity could be very painfull for him nonetheless.

Not going to judge, you should always hold the company as a whole before the individual imo, but there are more amicable ways to do so

Re: We fired our top talent. Best decision we ever made

#113
There's a cautionary tale here for developers. If you're productive, hard-working and have enough grit to complete projects, you'll get noticed and handed even more responsibility.

Eventually it will be more than any single developer could handle and you'll burn out.

Often, if you bring it up with management they'll do very little to fix the problem. Projects that could be completed in a few days when delegated to other teammates will somehow languish for weeks, at which point you get roped in anyway to hit the deadline, except now you have to do it ASAP and you're working nights and weekends.

At the end of a project like that mgmt will consider it a success, since the project was completed, and the whole thing will happen all over again.

The only thing they'll actually notice is failure. But who wants to let something fail?

So keep your head low. Get a sense for how long it takes others to complete projects, and aim to be in the same ballpark. To get management to make rational scheduling decisions you need to control what they see.

Which for this type of engineer is going to be really hard. Management should be better at this, but in general they're not, so it's either constrain your productivity or be successful for a year or two till you're overworked out of a job.

Re: We fired our top talent. Best decision we ever made

#115

Oh, but the guy, Rick, kind of catches some blame too, even if you might point out that permitting him to hoard the project as a lone cowboy is terrible management. If this discussion is filled with developers who are able to recognize the poor leadership and planning that permitted an individual, acting alone, to corner all software development tasks, and hoard the project’s codebase, why did Rick fail to notice the…

It's hard to recognize a bubble if you are in the middle of it. Not impossible, but it's much easier to do from outside. That's why I think every software company needs a good manager, who is able to detect situations like this early, no matter how small the company is.

Re: We fired our top talent. Best decision we ever made

#116

TBH, I read this as: we mismanaged the project for months (years?), reduced scope creep by negotiating with the client, and finally implemented what should have been the version 1.0 solution while shifting the blame entirely on the loner dev who worked himself into a corner trying to catch up to our sales department's untenable promises. Everyone created the problem, the dev was an easy target to eat the blame becaus…

I also think it's kind of silly to criticize a solo developer for not documenting. Has anyone seen a mid-sized team that doesn't explicitly delegate or make documentation a priority? Now you expect a solo person to document?

> Now you expect a solo person to document?

Yes, unless it is single-use code. Otherwise, if the person is only developing for himself, he can choose whether or not to write any documentation, but if he is sensible, he will write something.

It is moot anyway, as he was not supposed to be a solo developer.

Re: We fired our top talent. Best decision we ever made

#117
post #89

Earlier quoted context omitted.

No developer is a solo developer. At a bare minimum, Present You is working with Future You. And Future You would appreciate it if Present You documented your work.

The biggest problem of being a solo developer is that there is no one else to drive documentation needs. Yes, documentation would be great for future you, but present you has no one (including future you) to chat with about the code to get an idea of what documentation would be useful. If you are forced to work just inside your head, then the result is going to be obvious and predictable. And no, talking to the rubbe…

on the contrary, many good developers do know what to write. They understand what the software does, and why, and they are capable of explaining it. They know what decisions were made, and why they were chosen over other options. Above all, they know where the tricky bits are (because they solved them), which are, for the most part, going to be the tricky bits for anyone following.

Anything you talk to the rubber ducky about probably deserves writing down.

Re: We fired our top talent. Best decision we ever made

#118
post #91
post #35

Earlier quoted context omitted.

Eh, I've joined 3 or 4 projects where there was a "genius" behind it. They liked being in control, and to a one they all talked about being irreplaceable. I don't know Rick, of course, and can't speculate on what's going on in his head, but he certainly seems like the geniuses on the projects I and others ended up rescuing from their own respective geniuses. I think everyone's quick to pile on the author, for some re…

I think everyone's quick to pile on the author, for some reason Oh, that's easy. The prevailing wisdom around here is that management is always, without fail, a bad thing. Management is either bad because they get in the way by doing anything, or, when a project goes sideways, management is bad because it failed at doing something. For example, the devs involved in the BMW scandal? Well management told them what to d…

Well, yeah. Balancing your entire tech org around one guy is a ridiculously bad plan. What does management do if not plan and organize?

But it's also this guy's fault for not being enough of a leader to avert the crisis.

I'm not sure how people read my post and say, "This is a story about how Rick was good or right."

Re: We fired our top talent. Best decision we ever made

#119

TBH, I read this as: we mismanaged the project for months (years?), reduced scope creep by negotiating with the client, and finally implemented what should have been the version 1.0 solution while shifting the blame entirely on the loner dev who worked himself into a corner trying to catch up to our sales department's untenable promises. Everyone created the problem, the dev was an easy target to eat the blame becaus…

Firstly, I don't see this guy being scapegoated - he appears to have been given the option of being part of the solution, but refused, and he appears to have worked himself into a corner by refusing to work with anyone.

More generally, while I don't know any more about this case than what is in the article, I have seen something matching the description given here, and the situation there was not as you describe, except in that the fault lay both in the developer and his managers.

He thought he was an exceptional developer and he was going to prove it by writing really complex code, even if the application did not need it (he did not, of course, describe it as complex - it was, in his mind, elegant, object-oriented (it was a time when that was still the one true way), efficient, reusable... but in reality, it was mostly a mixture of unnecessarily complex and confused.)

Naturally, he was averse to working with morons who could not immediately follow what he was doing, so he worked alone, obsessively, and incessantly. As time went by, more of his explanations for why some feature could not be made available now were based on the complexity he had introduced earlier in the process.

Management takes the blame for allowing this situation to develop. His initial managers were insecure about their technical ability, and deferred to his judgement - it was a case study in why technical managers need technical knowledge (to be fair, they were also snowed by a load of non-technical responsibilities that sucked up the time for running the project.)

In the end, he precipitated the issue by resigning (presumably, he had found some other manager impressed by his apparent mastery of all things technical.) By then, I had moved on and I don't know it ended up.

Re: We fired our top talent. Best decision we ever made

#120
post #38

Earlier quoted context omitted.

If he had the respect of his coworkers, I'm guessing "Rick" was really a 10x programmer, BADLY MANAGED. You need somebody else who understand the project objectives and can put a limit to the development of "configurable" options. >Rick’s product supported a dynamic workflow with over fifteen thousand permutations. In reality 99% of our use cases followed one of three paths. The team hard-coded the workflow. This rem…

> That's a failure of the manager, not the programmer. The good programmers, the ones who enjoy their work, will choose a complicated but beautiful path, will choose to make a configurable workflow whose configuration is itself configurable in LISP. It's the manager job to know that the workflow can be hard-coded and then avoid complexity by the love of complexity (good programmers love complexity solved by intricate…

> good programmers love complexity solved by intricate and beautiful code.

I can't speak for good programmers, but while I admire elegant and insightful solutions where possible, for the other 99% of the cases I prefer the simplest effective solution (and with simple definitions of 'simple').

Post reply on HN