100

I’m a VP at a financial institution and oversee a quasi fintech branch of our company.

Two years ago, I hired a dev who turned out to be star. Great results putting him on one of our dev teams and he got involved in all sorts of projects at our office.

However, he wants to be promoted to the Director level (two levels below mine) and did apply for such a position. The committee rejected him because he is a star technical contributor, but seemingly has never demonstrated any real interest in management. Directors usually manage 3-5 employees.

I agree with that assessment. He is at his heart a problem solver, not a people one. Senior software developers (at my company, senior software developer (SSD) may or may not be a management role) can go to dark corners, but directors have management expectations. Management SSDs get to hire an intern or a junior dev. He didn’t. He works in a corner with headphones all day. We told him no a month ago.

Now, he has completely scaled back his involvement in projects. He sticks to his core assigned work to a pedantic level (a bad task spec will be coded as written without him questioning it). For example, the spec said that a piece of information shouldn’t be stored in [table_name]. Instead of checking, he wrote a log message which “confirmed that the data was sent to the backend and promptly not saved in [table_name].” And because people trust his work, that made it into prod.

He won’t say a word during sprint planning, “doesn’t know how” to solve certain problems, and has stopped checking other co-workers code, allowing bugs to flood into production (the dev team he is on is a mess which just revealed itself). He was the informal on-call person for his area of tech, but now sets up an “out of office” email at 5:00 on Friday. We had a system go down sometime this weekend and he “didn’t check his messages” his phone until 9 on Monday, costing tens of thousands of dollars.

He is still doing his core job of clearing sprint tasks from 9 to 5 (with extreme attention to time), but nothing else. He is also telling other key people that “there are a lot of exciting tech jobs out there” and openly suggesting positions to them on LinkedIn.

How do I get him back to normal? His bad attitude and “work to rule” mindset is destructive and immature. Firing him is on the table, but the amount of knowledge lost about certain key systems would be enormous and morale would take a huge hit. Sure we have documentation, but it’s a poor substitute for the guy who wrote a lot of the systems.

I’m willing to forgive the past month (and cover it up with other departments) as work is his life and losing sucks, but it’s not a tenable thing going forward. I would have already fired any of his co-workers who did this.

What motivates you coders? Many of you aren’t people people and acknowledge that, so what can I do?

I’m a dev (I try to get a few commits in at least) who is a people person. How can I better understand those who aren’t (like many of you, no offence intended)?

Regarding pay, he already earns well above his bracket (finance pays stars well), so the promotion wouldn’t have gained him any additional salary automatically (as he is above that bracket too). Brackets aren’t firm, so something could have been worked out, but he has never asked for a raise. I just authorized it to make sure he stayed.

I found a similar question already on here (How to discipline overeager engineer), but the difference is that I am in a position to bend rules and give him something, just not the something he wanted because his personality is entirely unsuited to managing a group of people.

Alternatively if he can't be salvaged, how can I force him out without hurting his future or his sense of self? His work seems to be all he has in life, so I would prefer to do it in a way that doesn't end up with me learning he shot himself.

This question was reported as a duplicate. I explicitly explained why it is not as I found it already.

To clear up the issue of "interested in management"

"The committee rejected him because he is a star technical contributor, but seemingly has never demonstrated any real interest in management." Let me address this, as I was not clear. He is clearly interested in the position of management. He has never demonstrated interest in the nuts and bolts of management. The software lead asked him to help with hiring devs and he declined. I've asked him about doing project management and he declined. The intern was offered to him and he declined. He doesn't work closely with the devs on his team.

People can certainly change, but the first information I had about his interest was learning that he first applied and was rejected. Prior to this, he has always chosen technical over any kind of people management.

EDIT: How this was resolved

It took a couple of weeks to sort out exactly what would be the permanent solution. In the week after I asked this, I had a conversation with him where I essentially presented him with 4 choices from the bundle produced here with the relevant adaptations made for our company.

  1. Just take a raise and a new title which can be anything he wanted.
  2. Work with someone at the company required to develop the leadership experience required for promotion to a management position and then reapply in 6 months to one year's time.
  3. Manage a new project with resources, but with no formal authority over the others assigned to the team (as I can't give that) and use that as the leadership experience for the promotion. It would be a project largely of his choice.
  4. Exit the company with a bonus if he stays long enough to tie up loose ends and find me a replacement for him.

He chose option 3. Turns out that he loves innovation, but couldn't deliver it so wanted the promotion to give him the power to deliver it. He has his new pet project, in a few months we will get a cool new system, and balance is restored to the force.

11
  • 1
    Comments are not for extended discussion; this conversation has been moved to chat.
    – Neo
    Commented Dec 1, 2019 at 15:21
  • 3
    After you have had the conversation in the coming week, could you please append an edit as to how the issue was resolved? I am interested in learning this myself. Commented Dec 1, 2019 at 23:08
  • 1
    @Mär certainly, although that may be towards the end of the week. Commented Dec 2, 2019 at 6:58
  • 8
    Observation - where's the architect role? You have senior devs, and directors who manage employees, but where's a senior technical role that sits above lead developers and is responsible for minimising technical debt and ensuring development guidelines are adhered to?
    – AdzzzUK
    Commented Dec 2, 2019 at 13:05
  • 2
    Can we have an update please?
    – Frank
    Commented Dec 7, 2019 at 11:35

23 Answers 23

209

Ask him what he wants. Seriously, ask him what he wants.

You said that the pay wouldn't change, so it's not the money.

You said that he wouldn't want to manage anybody, so that's not that either. Is this only about the title? Or is it about decision making power over his work? Find out what it is. If it's only a title, give it to him.

In fact, ask him to dream a little. If he could create his own title and his own job description, ask him what it would be.

14
  • 11
    I am certainly willing to have that conversation and will next week. I just want to walk into the meeting with an inkling of what that might be. Commented Nov 30, 2019 at 6:30
  • 51
    Honestly, if he doesn't have the social maturity, it may take a couple of conversations to get to the bottom of this. It's also possible you may never find out. Commented Nov 30, 2019 at 7:19
  • 15
    He may not actually come out and say he wants appreciation though, if that's it. If he wants recognition, it may take quite a bit of social maturity to say so and he may not have it. If he doesn't actually give a clear answer and beats around the bush, he probably wants appreciation and it's not really nice asking for that.
    – stanri
    Commented Nov 30, 2019 at 16:19
  • 9
    Managers should have regular conversations with the people they manage about what their career aspirations are. Alternatively, those two levels up can have them infrequently. You should know what your employees want for their futures so you can keep them headed in that direction. Commented Nov 30, 2019 at 18:25
  • 4
    I agree with @Mär here. If you're not compensated for going above and beyond, the company shouldn't expect you to go above and beyond. It's childish from the OP to expect a developer to give 150% at all times while being said no when he asks for something.
    – hjf
    Commented Dec 2, 2019 at 15:58
93
+200

However, he wants to be promoted to the Director level (two levels below mine) and did apply for such a position. The committee rejected him because he is a star technical contributor, but seemingly has never demonstrated any real interest in management. Directors usually manage 3-5 employees.

That's a bullshit reason. How much more interest in the job can you show than actually applying for it?

I agree with that assessment. He is at his heart a problem solver, not a people one. Senior software developers (at my company, senior software developer (SSD) may or may not be a management role) can go to dark corners, but directors have management expectations. Management SSDs get to hire an intern or a junior dev. He didn’t. He works in a corner with headphones all day. We told him no a month ago.

I think that's the core problem. You told him "No". And that's it. Flat out rejection. You never gave him a path forward. If you really want to keep him, how about being constructive about it? Tell him what you expect and tell him how to get there. You want to see he can manage an intern? Tell him. I bet the application process never said "needs to have managed an intern". Change that. Make the requirements for director say "needs to have management experience" and then tell him that he could get that by managing an intern for a year and that you'd be happy to see if he can have a company paid training on managing people so he has all the requirements ticked for the next director opening.

Either he does that and likes it, then you have a really good future director on your hands... or maybe he finds out it sucks and he wants to be in his corner solving problems, then you have a person that is happy with not ever getting the job of director.

What motivates you coders? Many of you aren’t people people and acknowledge that, so what can I do?

People are motivated when they can achieve something. Make sure his technical contributions are not blocked by management. There is nothing more frustrating than having an idea for solving a problem not implemented, because the discussion about it is "higher up" and none of those "management types" actually understand the problem or the proposed solution. Make sure people management does not decide about stuff they are not made for. "People persons" mostly think that since they can talk well, they are good at making decisions. That's wrong. The thing that they are good at is transporting and organizing those decisions. So make sure the path to decision making is not blocked by how charming that person is, because that has nothing to do with making a good decision.

16
  • 15
    "The committee rejected him because he is a star technical contributor, but seemingly has never demonstrated any real interest in management." Let me address this, as I was not clear. He is clearly interested in the position of management. He has never demonstrated interest in the nuts and bolts of management. The software lead asked him to help with hiring devs and he declined. I've asked him about doing project management and he declined. The intern was offered to him and he declined. He doesn't work closely with the devs on his team. Commented Nov 30, 2019 at 6:39
  • 8
    Okay, that's different. But did you tell him that that is what is required or did you just tell him "no"?
    – nvoigt
    Commented Nov 30, 2019 at 6:40
  • 40
    Well, being told "no" with no reason why and no path forward sucks. Even if the rejection is sound, he has no chance to see that if you don't tell him. That said, you may want to add the fact that he actively rejected any tasks that would give him this experience in the question, I think it's important and the other people will be happy to not have it hidden under my answer :)
    – nvoigt
    Commented Nov 30, 2019 at 6:45
  • 12
    Here you say he doesn't work closely with the devs on his team. In another comment you said since he stopped guiding the other devs in his team you started to see the team is a mess and outputs bad code. Which one is it?
    – Josef
    Commented Nov 30, 2019 at 14:51
  • 9
    @StumpedMoneyHacker "I suspect the other devs didn't even know their code had bugs." - Speaking as a software engineer myself, that's a bit of a red flag to me. No developer, no matter how skilled, can do everything themselves. Long term, the best devs help their coworkers improve, and quietly fixing things without even telling anyone an issue existed is actively denying the other devs opportunities to learn.
    – Douglas
    Commented Dec 1, 2019 at 10:15
72

He won’t say a word during sprint planning, “doesn’t know how” to solve certain problems, and has stopped checking other co-workers code, allowing bugs to flood into production (the dev team he is on is a mess which just revealed itself).

It reads like you were not fully aware of the extent of his contribution, enough to cover for the whole dev team, and the same did go largely unrecognised. Maybe instead of more pay or more responsibilities, all he is looking for is some substantial appreciation. He may be doing this to show you your lack of gratitude, and to uncover how much he is actually contributing. The "no" pushed him over the cliff. Give this guy some appreciation, give him a nice fancy title and some weight in the company and some recognition and he should be a pretty happy camper. He already seems to love what he is doing otherwise.

He has never demonstrated any real interest in management.

Ridiculous statement. As soon as he reduces leadership and management to his job description, the whole dev team falls apart immediately. Furthermore, he may have requested the authority of a Director position to start rooting out the stupid that he's constantly covering for. Company said no, so apparently the company wants a dev team full of stupid. You should give him the authority he is asking for to fulfill his job properly. The failure to assess his management role correctly also doesn't shine a good light on the competency of leadership "three levels above him".

(Comments by @Stacey and @EricTowers embedded into this answer)

9
  • 38
    THIS. He's underappreciated. "They don't appreciate me? So I'll just stop doing all this stuff so they can realise how much I do". Give this guy some appreciation, give him a nice fancy title and some weight in the company and some recognition and he should be a pretty happy camper. I've never been this petty but I can totally understand the reasoning.
    – stanri
    Commented Nov 30, 2019 at 16:16
  • 50
    He may also have requested the authority of a Director position to start rooting out the stupid that he's constantly covering for. Company said no, so apparently the company wants a dev team full of stupid. Commented Nov 30, 2019 at 17:15
  • 3
    Management is not synonymous with appreciation. You're appreciated when your manager grants you a raise on his own initiative, without you even asking for it, and putting you in a salary bracket higher than twice your line manager. Management is a huge deal, dealing with underlings, handling resource shortage, handling upper "brass", making sure your underlings are happy and productive... this engineer, judging by OP's question and comments, wouldn't know how to handle other employees to save his own life. To be a good manager you need to want it, not just for the title.
    – user110557
    Commented Nov 30, 2019 at 20:11
  • @EricTowers good point. If the rest of the team is dysfunctional, that would be frustrating for him. The actual management work might not be as interesting, but being on the same level rank-wise as those duds might just annoy him.
    – Chieron
    Commented Dec 1, 2019 at 11:55
  • 7
    @EricTowers It sounds like he's actually been managing the Dev team, and this is probably part of his resentment. He thinks he is expected to manage the Dev team without being considered part of "management".
    – tbrookside
    Commented Dec 1, 2019 at 15:27
40

You want a bit of an off-the-wall suggestion? Make him a Project Manager for a small-sized project.

Right now, you and your employee have a disconnect and believe two diametrically different things. He believes that he'd be a good leader. You don't - and from everything you've laid out, you're very likely the one that's rooted in reality.

But that's the thing. You're not going to be able to have any sort of meaningful connection with him about any of this until you're on the same page. You can't try to get him to move on if he's thinking, "Man, I'd be an awesome manager - too bad these guys don't recognize talent".

Well, making him a Project Manager puts him firmly in the leadership position. You might even consider going one step further: having him not be the lead/sole dev on the project, but having to direct someone else in that regard.

If you're right? And this person will be a terrible director? Then likely the project will flounder a bit and not really do all that well. And it'll help the employee realize that being a director isn't quite what he anticipated. Or maybe you'll be surprised, and they'll take to the challenge and actually do well in it - and you'll find that they are possible Director material after all. And the benefit of going the "Project Manager" route is, it's not a permanent position. It's difficult to promote him to Director and then have to demote him. But Project Manager is by definition a temporary title.

But either way, it'll help get the two of you closer to the same page.

6
  • 13
    I offered this in the past and he declined, but perhaps he has had a change of heart. He is certainly skilled enough technically to guide an interesting and worthwhile project. Commented Nov 30, 2019 at 6:46
  • 4
    +1 to all of the above, although I would go with "interim director" and make it more than 1 project. He likely thinks that he can issue commands and then get on with coding. You know as well as I do that management is largely interrupt driven which is fundamentally incompatible with coding - 3 to 6 months of this maybe?
    – Justin
    Commented Nov 30, 2019 at 8:02
  • This is not even about him thinking to be a good leader or not. Some people simply want to be paid in power - and shortchanging their pay obviously creates friction, rightfully so. Commented Nov 30, 2019 at 14:10
  • 16
    If you go that way, make sure the project is something he can't do all by his own, otherwise he'll do just that and the team assigned to him will hate it. It may also be a good idea to not assign him a team if he doesn't ask to, but make sure he knows he can do that. That way, he'll be overwhelmed if he isn't a good leader. Commented Nov 30, 2019 at 15:58
  • 3
    " He believes that he'd be a good leader." Judging from the edit to the question ("To clear up the issue"), this does not appear obvious to me. He may just want a fancy title, but he does not seem to be interested in the actual people work involved. Commented Nov 30, 2019 at 16:27
23

I think the root of your problem is something that's common to a lot of companies. From the viewpoint of management, managers are usually seen as much more important to the company than technical people, and are more highly compensated - not just with money, but with status, perks, and promotion prospects. From the viewpoint of technical people, managers are generally seen as rather less important than department secretaries, which does tend to cause a bit of resentment when they're the ones getting the perks.

So what is this guy actually worth to the company? You state that "...he “didn’t check his messages” his phone until 9 on Monday, costing tens of thousands of dollars." Really? Two days of his work, at most, is worth tens of thousands of dollars to your company? Can you honestly say that about any of your managers? Yet when he asks for an increase in status or some sign of appreciation, your committee turns him down flat.

IMHO, if you really want to keep this guy, you need to sit down with him, apologize for the way he was treated, ask him what he wants, and do everything within reason to see that he gets it. Otherwise he is likely to leave (and I suspect he is preparing to do just this), and if you're lucky enough to hire a replacement that's equally capable, you will encounter the same problem in a couple of years.

20

Well, on one hand, you've discovered that the committee was 100% correct in not promoting this engineer. On the other hand, you've discovered that your corporation lacks a technical advancement track that will allow these people to feel as if their careers are progressing.

Technical tracks are a strange beast because the bulk of developers hit senior software developer, and then stay there forever. Employers look at your resume and no one thinks "dang, we can't hire this person, they've been a senior software developer forever". The response is quite the opposite provided the skills can be shown in the interviews, and the production history matches the resume's brag.

There are a lot of titles you can give that don't require direct reports that could be "better" than senior software developer, but they'll all just point to the same thing.

As for the other stuff:

He sticks to his core assigned work to a pedantic level (a bad task spec will be coded as written without him questioning it)

If he's not doing this anymore, you're overpaying him now. He's getting paid for what he knows as a senior, and pedantically sticking to specs that he knows are wrong should result in disciplinary action. Follow progressive discipline patterns.

For example, the spec said that a piece of information shouldn’t be stored in [table_name]. Instead of checking, he wrote a log message which “confirmed that the data was sent to the backend and promptly not saved in [table_name].” And because people trust his work, that made it into prod.

Should be write up

I’m willing to forgive the past month (and cover it up with other departments) as work is his life and losing sucks, but it’s not a tenable thing going forward. I would have already fired any of his co-workers who did this

Start the disciplinary action. You can find stars that don't behave like spoilt children when they don't get what they want, especially when all the do is prove that they were not suitable for the role. I would start with an informal, offsite, private chat about his behaviour and about how all he is doing is proving the committee right. Empathize with him, but be firm. The behaviour has to stop.

He can be as maliciously compliant as he wants, but if that was to continue, terminate him.

17
  • 9
    @StumpedMoneyHacker I would add to this that you need to formalize a system for on-call support. This should be a rotation and there should be a procedure if no one hears from the person on call. He also can't be the only person who understands key systems even if you fix his current attitude problem.
    – BSMP
    Commented Nov 30, 2019 at 7:35
  • 5
    Instead of writing an answer myself I'd say I whole-heartedly agree with this one. The engineer's behavior, past and current, proves the committee was indeed right in their decision and reasoning. Also, you say it's not the money, so what is it? Probably the title, "A manager. A BOSS. Mr. Big-man". Childish. And when refused, he has an ongoing fit. Childish, again. Malisbad said it and I agree, try to straighten himout, be nice but firm, and if that doesn't work kick his ass and find a star who's also a grown up person.
    – user110557
    Commented Nov 30, 2019 at 11:34
  • 7
    While the discipline/termination path should be considered for the future, the current situation doesn't appear to be there at this time. People who have been star performers are rare. It's reasonable to have management go out of their way to try to figure out what the problem is and work with the employee to try to resolve the issue, offering potential rewards (i.e. a path towards what they wanted, what they want, or some semblance of it). While you can go the negative route of a PIP, etc. doing so usually shuts off any possibility of positive reinforcement.
    – Makyen
    Commented Nov 30, 2019 at 20:29
  • 14
    Basically, once you go negative, it's hard to successfully switch to positive, but going from positive to negative is easy and doesn't reduce the effectiveness of negative reinforcement. Thus, particularly for employees who have demonstrated that they are, or were, valuable, it's better to start with positive methods of getting what the company/management wants, rather than go directly for the negative methods of getting there.
    – Makyen
    Commented Nov 30, 2019 at 20:29
  • 6
    I disagree with @O.F. alongside the answerer. According to SO, the employee has worked there a while, stated they want management, and when told their career was no longer going to progress, they simply stopped working as hard. Sure, a couple of childish behaviors, but the main problem of the employee not “being there out of norma hours, not speaking up (not required it seems), and doing only the required tasks” falls back onto the company not working for the employee. If I was told my career was no longer progressing, I would also look elsewhere. There will always be something more to achieve Commented Dec 1, 2019 at 4:46
19

Without writing an entire spiel, it seems that he is doing the tasks that are required of him instead of going above and beyond. He is still doing the tasks from 9-5, as you have said. However, he is spending his time to do something else. Why would you expect him to continue to literally work for your company 24/7 when you have rejected him furthering his career? It seems there was no guidance, no progression, and expectations that were clearly stated. You said he “could” hire an intern, but is that expected of him for the promotion? It sounds like you want him to read your [company’s] mind.

Behaviorally, he is acting as expected. In any relationship, once a rejection happens, you find an alternative method to try again or you move on. It seems he is moving on. Money doesn’t seem to be a factor for him, which makes sense. If you are willing to pay him a pretty penny, don’t you think other companies are as well? For the reasons you have listed, it seems the company has removed the possibility to progress his career without changing his personality instantly. I think I would seek out other options as well at this point. Speaking about them to colleagues seems on the threshold of professionalism, but if he isn’t a people person, he may not know this.

I would definitely consider having an open conversation discussing how to improve to further his career or inform him that it is not possible; whatever your company has decided for him.

Edit: A comment noted that some of his behavior is questionable - and I already noted it is. But to further that, they said he was having a tantrum and didn’t have to act that way. While the commenter is totally correct, what way do you expect someone to act when they feel betrayed? Especially someone you thought had cared for you and you have given so much to? He may have a smaller tolerance for this kind of behavior and thus his actions. He shouldn’t really be openly talking about other/competitor companies, but that also means he is displaying a level of hurt. He expects the company to take action - he seems intellectual enough to know this. However, i’m sure he hopes that the company reconsiders their course of action and recognizes both parties are at some level of both pain and fault. If I were the VP, as highly as the OP talks about him, I would find a way out of this that benefits both parties.

7
  • 2
    As I stated, some of the behavior is questionable. But it doesn’t remotely equate to the behavior of the company, in my opinion. It’s childish for a company to think of an employee to want to sit in a single position forever. According to OP, he has been there a while and is definitely up for a promotion - not necessarily a payable promotion - but a promotion to move up in the company. If he keen on his programming techniques, why not start to develop his people skills instead of requiring a stalemate? It seems the best option for both parties. Commented Nov 30, 2019 at 23:36
  • 1
    @impression7vx as the OP stated, they've already tried to get him to manage an intern, to participate in hiring, and to take on responsibility in managing projects. They have tried to get him to develop his people skills. Now, after this setback, they can help him pave a clear path to management, but he's gotta cut this tantrum out. It's also important to remember that he was being rewarded for what he was doing already. Very high pay for his role in the company, respect for his skills. Those are contingent on his good work continuing.
    – Malisbad
    Commented Dec 1, 2019 at 6:20
  • It seems it is more than contingent on good skills - it is contingent on doing work outside the normal hours and outside his original job expectations (voluntarily checking others’ code). Also, it seems that while they expected him to participate in hiring, if he isn’t a people person, it is [very] likely that it wasn’t communicated in a way he understood. Similarly, he may not manage in that way. Maybe if he feels he can complete a problem, maybe he doesn’t need to delegate thus his leadership style is more of a micromanagement. He may have been “offered” certain things, but he may have felt Commented Dec 1, 2019 at 6:35
  • that those tasks were not necessary - especially from a developer point of view. As the top post says, they should ask him what he wants. If he says he wants to be in management but contradicts by further not communicating and acting with others, then that is his fault. But according to OPs words, it seems that the company has failed him, at least in this situation. Commented Dec 1, 2019 at 6:37
  • I, again, hold my position: someone wishing to be in management position needs, must have, a certain "feel for the lay of the land", in which helping in the hiring pipeline and/or managing a single intern are the very first stepping stones. How the hell does he expect to succeed as a manager when he can't get a hint that those are his entry card? Manager is about feeling your underlings and working them. People are not computers that you can masterly program. Hell, the more I read about him, the more I fear for whomever he will eventually manage...
    – user110557
    Commented Dec 1, 2019 at 8:52
13

Change the culture.

I think he was trying to change the culture. Every other person on the team outputs poor quality code and no one in the entire company even knew it was happening. (Was no one even looking at the code ?) The fact that this was able to happen means something is wrong with the culture. It would never have happened in a culture that values quality. All of those people would have been dropped quickly.

I suspect his experience is something like this:

  • OK new job, I'm going code to the best of my ability.
  • WTF are all these people doing? They write bugs constantly. Their code is messy. Incredible that the company tolerates this but I do quality work or nothing so I'll clean it up as best I can.
  • I've been stemming the tide of awful work that would do major harm to the company and these people in management don't even notice. Do they not even care about the company?
  • This is getting ridiculous. I'm not sure staying here is even worth the trouble. Maybe if I had a management title I could change things and prevent all this shoddy work. I'll try applying.
  • Welp they didn't go for it. Guess this is not the kind of place that cares about quality. Time to start looking elsewhere.

On this theory: what he cares about is quality. What motivates him is producing something of high quality. What makes him enjoy his work is dealing with other people who also care about quality. When it became clear your organization is not a place with those characteristics, he just lost interest. There's no point trying to ensure quality if every other person, and the culture in general, are working against it.

You might try asking him if there's anything that could be improved about his project. He probably has a huge list. Right now it seems to him improvement will never happen. No one else cares about it and the company isn't interested in giving control to someone who does care about it. So there's no possibility of the situation ever improving. If what he wanted was to improve the project and you open a route to making that happen, it may change how he feels about the project. Now things are changing and it looks like it may be moving toward quality.

2
  • Quite possibly. I will be digging into how much he was covering for others as well. Commented Dec 2, 2019 at 6:39
  • 1
    I would bet 2 Eth this has hit the nail on the head precisely.
    – Frank
    Commented Dec 2, 2019 at 16:38
11

By you saying "no", you just slapped an "I'm Stupid" label smack in the middle of his forehead by conveying the message "your above and beyond efforts aren't what we're looking for"

The short version of the solution:

You need the developer to put trust/faith he lost back into the system/management again. Clarity on minimum expectations will also help, but that's only after some level of trust has been gained. Individuals respond differently to the same actions so you need to figure out the best approach for this person.

A longer explanation:

When someone uses the term "Rockstar", it's typically represented by the equation below

Rockstar = (Satisfy Minimum Expectations) + (Go Above and beyond expectations effort)

contrast that with "typical employee" definition

"Typical Employee" = (Satisfy Minimum Expectations)

So, until the day that you told your developer "No", he has been operating in "Rockstar" mode. Maybe he's expecting a promotion/raise by doing that OR he's just enjoying it, whatever the reason, he did it - he saw some value in operating as such.

Fast forward to the day you said "No", the message that was received was ...

"Sorry... we didn't see any value to what you did"

Which the corresponding reaction will be...

"My assumptions have been wrong. I've been wasting my time and effort all this time. If there's no value to it, why do it at all."

Which made your developer operate under "Typical Employee" mode... the thing you're seeing today as "scaled back involvement".

Also a few sidenotes

"...He was the informal on-call person for his area of tech, but now sets up an “out of office” email at 5:00 on Friday. We had a system go down sometime this weekend and he “didn’t check his messages” his phone until 9 on Monday, costing tens of thousands of dollars..."

"Informal on-call person"? Why informal and not formal? You would have to be very clear about this with him...it's either he is or he isn't so that you don't lose money again over conflicting unspoken assumptions.

"....Regarding pay, he already earns well above his bracket (finance pays stars well), so the promotion wouldn’t have gained him any additional salary automatically (as he is above that bracket too). Brackets aren’t firm, so something could have been worked out, but he has never asked for a raise. I just authorized it to make sure he stayed..."

Does he know this? He could be assuming that "Director level = Significantly more money", again, another point that you can clear up and put a lot of false assumptions out of the way.

2
  • We had a formal on call rotation until he volunteered to take every shift consistently and we dropped the ball on what became filling in the calendar with the same name. Commented Nov 30, 2019 at 22:43
  • I will clear all this up when I meet with him. It's a useful list. Commented Nov 30, 2019 at 22:49
10

What He Wants

+1 to @Patricia. Based on the information provided, my first guess is that he wants a new title. I would also assume that he wants a "Director" title because there are no more titles for individual contributors. Beyond "Senior", many companies have "Principal" and/or "Staff" engineering titles. Often, these are parallel in level to Director levels. The highest level might be "Distinguished Engineer", and this would be comparable to a VP level. The quickest and easiest solution to your problem may simply be to invent an "Associate Principal Software Developer" title and offer it to him. Obviously, you would want to deliver it along with a team meeting in which you show off your rock star as the kind of example you want your other developers to emulate. I'm sure the public recognition via a small speech is part of the package that would assuage this employee.

What You Need

Even if this solution works, it doesn't solve all your problems, because there are several others you exposed which are intimately tied to the one you are concerned with. First, why is this your problem? Why hasn't Rock Star's direct manager tried to solve this? Clearly, that manager needs a skill-up. More likely, managing this coder is outside Manager's league. If that's the case, then inventing a new title with a higher level helps solve the problem. You give the Rock Star a new level and a new boss, at a level that can manage him better.

The Manager

Even so, this is a coaching moment. Rock Star likely has wanted a promotion for a while. He has probably mentioned it to his boss for a while. His boss probably had an idea whether he would get it or not before any committee considered it. His boss should have either convinced him that Rock Star is not suited to the management track, based on his decisions and expressed preferences, or Manager should have consulted up the chain for advice on how to handle Rock Star. The fact that he was turned down by the promotion committee was almost certainly an avoidable mistake. If I'm wrong, and Rock Star only showed an interest in promotion at the last minute, then that's another problem. Your entire org should understand that if they are interested in advancement, they should be having regular conversations with their bosses about what it would take to up their game to the next level. Promotion committee meetings should not be high-stakes gambles. They should simply re-affirm an outcome that could have been anticipated by both managers and their employees, for reasons that are clear to everyone. If this is not the case, then your promotion committees and/or managers are a problem.

The Team

Rock Star should not be carrying the team on his shoulders. He should be making them better. If he gets hit by a bus, your whole company will suffer. This is the problem with rock stars in general. You don't just want someone who can solve the hardest problems. You want someone who is constantly skilling up the team. Rock Star's manager (the new Sr. Manager/Director/Sr. Director after his level-up) should make it clear that the new title comes with additional responsibility. Principal Engineers are not allowed to just hide in a corner and submit pull requests all day. They are expected to mentor junior engineers (junior to them, not just Associate Developers), help define and enforce best practices, and educate the team on productivity-enhancing tools and techniques. That is, you define the Principal position to be this IC coder + coding guru/teacher role.

Concrete ways to do this are to suggest that your new Associate Principal (or just Principal, if you don't want so many levels) Developer pair-program with each member of the team for several days at a time. That would give each dev an opportunity to see how Rock Star is so productive, as well as facilitate information and process sharing. Likely Rock Star will push back on such suggestions, but I can guarantee that if he were to take on such a role in any other tech company, these obligations would surely be expected and demanded of him. Let him know that practicing this makes him more valuable in the marketplace when he decides to try something different.

He could also hold a Friday Team Code Review meeting where he picks a PR and reviews it with the team for an hour, soliciting feedback and offering his insights in a way that teaches without judging or beating down team members (especially the author of the PR!). There are many such teaching opportunities for the eager and willing Principal Developer. Make it clear that you will expect this kind of activity at the Principal level, and it is non-negotiable, and let him decide if he wants to continue playing hermit crab or not.

Empowerment

The final issue I would like to address is actually the second guess for what Rock Star really wants. His problem may be that he feels like an order-taker, and wants more leeway and freedom to solve problems as he sees fit. Thus, you should first ask his boss and then ask him if he feels sufficiently empowered. Ask Manager first to test how well Manager knows him. Also, ask Manager what he really wants, and compare it to what Rock Star says. If the problem is that he wants to be a Director because he thinks he would be able to better guide the direction of projects, or even which projects are delivered, then you may have a communication problem.

If Rock Star disagrees with strategic direction, then you need to sit down with him with the entire management chain between him and yourself and ask him to share his viewpoint. Then, you need your managers to explain the priorities and the reasoning by which they were set. It could be that managers somewhere in the chain hoard information for petty political reasons and don't offer insights from higher up the chain, letting team members operate somewhat in the dark. Or it could simply be that Rock Star wants a higher-level view than the rest of the team needs. Again, leveling up helps mitigate this problem by giving him access to a higher-level manager with a higher-level view. If this is indeed part/all of the issue, then it also means that the management team needs more transparency (and possibly humility) and would help the team better via more information sharing.

If Rock Star is fine with strategic direction but doesn't like being micro-managed by PMs and other staff, then you need to find out if this is an isolated issue with Rock Star or a widespread problem on the team. Sometimes PMs get overly aggressive with project definitions and need to be more flexible with how the team wants to design or implement them. If this is the case, once more, a level-up will help give Rock Star the credibility and authority to exercise more latitude and freedom with respect to project design/goals/implementation, but Rock Star should also know that he is free to educate everyone, including PMs and managers, about why Design X is better than Y or why they should in general do some things differently, even if PMs are used to defining results down to the last decimal place.

Transparency

Finally, if you really think Rock Star is worth hanging on to at all costs, then it would probably help a lot if you just set up a regular meeting with him. Say, once a month, give him 30-60m to tell you his view from the trenches, and your view from the VP corner office. Let him see how the world operates at your level, even if it involves issues and decisions that aren't directly relevant to him. Just hearing tales of having to deal with politics and other people and messy issues that can't be beaten down with a compiler should help him understand just how little he cares for management. But, having that insider perspective should also help him see how his work fits into the bigger picture, and the gesture is a very concrete way of telling him how much you value his contribution, no matter what his level or compensation. I'll bet this meeting would be worth more than an extra bonus to him.

10
  • I tend to mostly agree with your post. You did make a pre-decision to keep the developer, while I think that letting go is still an option, albeit an ultimatum. You're also the only one that suggested Rock Star's manager might be an issue. I also think a good idea would be for RS to get a hobby.
    – hruske
    Commented Dec 1, 2019 at 21:06
  • 1
    I'm optimistic and think that good management can make most employee-employer combinations work to mutual benefit. However, this does require the employer to demand good work, and failing that, to lower compensation to an appropriate level. If the worker is unwilling to act professionally, then they will eventually decide to leave on their own, given appropriately scaled incentives. And yeah, I agree it would be good for RS and all employees to be well-rounded, but I'm not sure it's the company's job to suggest, let alone enforce it. Commented Dec 2, 2019 at 1:36
  • I don't think you know what a "Rock Star Developer" is.
    – hjf
    Commented Dec 2, 2019 at 15:51
  • 1
    Taking an obviously flawed specification and implementing it literally is exactly what I would call "malicious compliance". Did you even read the OP's question? He didn't ask for "something in return". He asked for a management title without any of the responsibilities of the role. I don't know any company that would consider that a normal or reasonable request. Are you the dev in question? ;) Commented Dec 3, 2019 at 4:11
  • 1
    "Management SSDs get to hire an intern or a junior dev. He didn’t....The software lead asked him to help with hiring devs and he declined. I've asked him about doing project management and he declined. The intern was offered to him and he declined. He doesn't work closely with the devs on his team." Which part of that says to: "Obvious management material"?? FWIW, I've never been in management. Commented Dec 3, 2019 at 22:49
7

Full disclosure: I'm a freelance rock-star developer with a 30-year international career predominantly in finance and investment banking.

If I were your manager, I'd fire you and then do everything in my power to make that guy happy.

Some people produce things, and their intrinsic value is obvious. If nobody writes the software, then no software gets written. Some people manage others and have no intrinsic value except in their ability to inspire others. If we take away the managers, then the software may still get written.

In this case, we have a guy (the programmer) with measurable intrinsic value, and we have yourself, a manager who has, according to their own testimony, completely failed to inspire their staff.

So, as your manager (I might be, how would you know?) I would look carefully at the harm you've allowed to happen here and try to find the best way of rectifying the situation before I lose the rock-star developer. Out of the two of you, his skills are a lot more difficult to replace and losing him would do my business much more harm than losing a middle manager.

Don't get me wrong -- I'm not blaming the entire situation on you. The culture was probably in place before you started, but if this is the result then that culture is toxic. The problem is that it is still going to be in place when you leave, too, unless you fix it yourself.

So, the answer to this problem is for you to step up and fix the structure of your organisation so that this cannot happen again. Embrace servant leadership and find alternative reward structures that keep everyone on side, rather than just the psychos.

Alternatively, you can continue to be angry with this guy's response to your company's chronic poor management, blame it on him and fire him, and you'll suffer because of it, just like most people who are driven by anger instead of humanity.

1
  • 1
    Comments are not for extended discussion; this conversation has been moved to chat.
    – Neo
    Commented Dec 1, 2019 at 15:22
7

I believe you lost the person you hired.

  • He may stay in the role he is in and eventually quit or get fired → the company loses

  • He may be promoted into the director position (without managing anyone) and this will not do any good neither to him (worst case he will become a diva), nor to the team (they learn that going for an "Italian strike"1 one gets what they want) → the company loses

The promotion philosophy of your company is not good but not very different form other large companies (where you have to take the "management track" to be recognized, even if officially there is a "technical ladder" nobody cares about). You may want to use the opportunity and your VP position to change that if you can.

But as for your star dev, he became a dwarf star and will be extinct soon.


1 (this is an expression in France, the country where striking is one of our national sports): everything gets done but at a very slow pace, exactly according to the rules which are otherwise never used or followed. Technically everything is "normal", except for the people who are on the receiving side. This is not a "childish" behavior (as mentioned in the question), this is a kind of protest.

7
  • "Italian strike" is the very definition of childishness. You got a grievance? Air it out in the open and work it out with your superiors. They refuse to talk, or the talk didn't go as good as expected? You either go on a full-blown strike, out-right quit or suck it up and move on. Doing things exactly to the letter is the definition of childishness, as everyone who has children can atest.
    – user110557
    Commented Nov 30, 2019 at 20:21
  • @O.F.: That's fine if you're a "people person" and are good at talking. Not all of us are.
    – jamesqf
    Commented Dec 1, 2019 at 3:18
  • 3
    @O.F.: no, it means "OK, you want to adhere to the rules to the letter, I will therefore do the same". If the company is proud to be righteous in following their rigid process, it should not be surprised their staff to do the same. Apparently the superiors failed to address the issue. Being childish is being unreasonable - that guy is not unreasonable.
    – WoJ
    Commented Dec 1, 2019 at 8:18
  • 5
    @O.F. If a company rewards its employees by promoting them to "management" positions then it should not be surprised if non-management employees who are successful will eventually say fuck it and do the work any other dev would do. It just does not make sense to put more effort in the work if it will not be recognized. And this is what he does: he works from 9 to 5, he follows exact orders - like the other devs. He IS getting the job done - at the level of a standard dev. Exactly how the company recognizes him.
    – WoJ
    Commented Dec 1, 2019 at 9:32
  • 2
    @O.F. The company promotion process is what it is. I think it is not good, other may disagree. They just need to realize that devs will be eventually disgruntled and do basic work with average effort. That's a choice the company may have done, but then it does not make sense to cry that people are not behaving they way the expect.
    – WoJ
    Commented Dec 1, 2019 at 9:35
5

He is at his heart a problem solver

What, you think management doesn't have problems to solve?

What motivates you coders?

The same thing that motivates "normal people" - it depends on the individual. Some want respect, some fame, some money, some stability, and a variety of other things. But what I think you're looking for is engagement not motivation. And for engagement, people want autonomy, mastery, and purpose.

It seems like your star employee has ample autonomy.

That leaves mastery and purpose. If they feel like they have mastered their current work and have no room to grow then they will grow bored and disengaged. If their purpose was advancement and you've told them in no-uncertain terms that advancement isn't available to them (without changing their personality wholesale), then they're going to stop seeing the point of doing all this work. It's hard to tell which route it is from here, or if it's perhaps a mix of both.

The software lead asked him to help with hiring devs and he declined. I've asked him about doing project management and he declined. The intern was offered to him and he declined. He doesn't work closely with the devs on his team.

Sure. What do you and your company reward?

Because it sounds as though you're rewarding their astounding individual contributions (because you treat this star employee differently, and I suspect praise their contributions when they were doing well), not hiring devs or doing project management or babysitting interns or even working with their team. All of these things can be seen as a distraction from the "actual work" depending on their mindset and what they perceive you value. Shifting that perception is slow and tedious, but probably impacting more behavior than this one engineer.

his personality is entirely unsuited to managing a group of people

How do you know?

There is a great diversity of people in the world, with their own strengths and weaknesses. I don't manage people like you manage people. Your star engineer will invariably manage people differently than you or I. Each of us need to play to our strengths.

What I think you should do is sit down with your engineer and say you're sorry. You're sorry about how the promotion was handled. You ask about their disengagement and then you listen. What is really bothering them? Why was this so important? How do they feel?

And then, assuming they're interested in management and are simply miffed that you assumed they couldn't do it, let them manage people. Say you're uncomfortable promoting someone to director without management training/experience so how about managing a small team for 6-12 months. You say SSDs can already be managers. Setup regular 1:1s with the engineer and their team. Help them when they stumble. Focus on that value, not their individual contributions. And talk every so often about how they're doing and what they want. Maybe after trying it out, they realize management isn't what they want. Maybe they play to their strengths and wow you. Maybe it's a train wreck and you need to move them back to a contributor role.

Good luck.

5
  • "What, you think management doesn't have problems to solve?" but management can't solve the coding problems he can...
    – Solar Mike
    Commented Dec 1, 2019 at 17:55
  • @SolarMike sure they can, they can hire another developer to replace him.
    – stanri
    Commented Dec 1, 2019 at 18:16
  • @Stacey OP makes the point that is a very expensive option...
    – Solar Mike
    Commented Dec 1, 2019 at 18:19
  • @SolarMike he does? I don't see it in the post. It sounds like he is an expensive employee to have in the first place.
    – stanri
    Commented Dec 1, 2019 at 18:26
  • 1
    @SolarMike - sure, but the OP's assertion was that someone who is a problem solver at heart isn't good management material. That's silly to me since non-technical problems are still problems. The problem solving skill translates even if the tools you use to solve them don't.
    – Telastyn
    Commented Dec 1, 2019 at 18:56
4

OK, time for some home truths:

Under normal circumstances, if your best performer isn't a team player and is actively hurting the team by their petulance, they need to be gone - period. It is that simple.

Now this of course rather supposes the fault is all on one side but it is arguably a problem of the company's making to a degree, so you owe it to them (and yourself) to try and remedy the situation. At the risk of sounding wise after the event, if they wanted to head in that direction career-wise, conversations should have been had, milestones should have been discussed and progress should have been tracked to help get them there so this, ultimately, is a management failure too.

Perhaps you can salvage the situation but there has to be willing on both sides - and some give and take. It certainly can't be left to fester. If the relationship is irrevocably broken, simply get them to gradually document things as best as they can and do a hand over to share the knowledge. If they refuse, you will have to go down disciplinary channels - they shouldn't be allowed to hold the company to ransom.

This is a situation I've seen happen time and time again and alas, I've never seen it end well. What you have in your favour is that you're in a position to try and fix things so grab this with both hands. Most companies simply shrug, hope things will improve, and the next thing they know, the talent is heading out the door.

If they do leave, learn the lessons and move on. In the final analysis they'll probably hit the same walls at other companies. Great coders rarely have great people skills but believe me, those unicorns do exists. Cast your net for one of those and hold on to them - they are worth their weight in gold (and far easier to manage to boot).

3
  • I think this is a very good point to bring up, and you're correct that both sides are at fault here. Is he considered untrustworthy because of this one time after however many years of working with them and earning their trust (which he obviously has since they gave him so much responsibility in the first place)? I don't know the answer to that, but I suspect it will be a good question for the company to answer first, and decide from there.
    – stanri
    Commented Nov 30, 2019 at 20:03
  • 3
    So basically you agree with the "shut up and keep coding, you code monkey" problem that originated this question?
    – hjf
    Commented Dec 2, 2019 at 15:55
  • @hjf In the absence of some form of arbitration, I suspect the talented coder would eventually leave or stay in a reduced role by their own choice. I'm not entirely sure how you came to the "shut up and keep coding..." conclusion * shrugs *
    – Robbie Dee
    Commented Dec 4, 2019 at 9:17
4

You've got two problems here, not one. First, is the performance issue. But second, is this other side he's revealed - that if he doesn't get a thing he feels he deserves, he has no hesitation about holding the company to ransom, or even undermining its work.

His behaviour

If he gets a promotion, that second point would become even more of a problem. If you back down unilaterally, he learns that this works, and it'll be extremely likely filed away in his toolbox for another time that he wants something, feels entitled to something, or feels a grudge about something. So above all, you need an approach that takes these seriously, and lets you decide where you stand, as well as very much not encouraging that second mindset.

What we don't know is whether his behaviour is a sign of

  • entitlement ("I'm clearly entitled to it, if not given it then I raise the stakes and pay back to coerce them into agreement"),
  • or self worth ("I know I'm good, I've worked hard, and my expectation is this in return if I do wonders, but now its been declined"),
  • or desperation/despair ("I don't know how to get through or what I've done wrong, might as well give up on them and just not care").

Yes it matters. It might be that he's ineptly hoping for help and recognition (at best), or floundering in self doubt, or (at worst) a red flag that he's a manipulator willing to be hostile and forcefully set unreasonable demands. We just don't know yet, and you need to figure that out.

Your other problem

Before his behaviour began, something had gone very wrong within your company. He sought a promotion, didn't get it, and the first you heard was chaos happening.

That's - jawdropping.

Why didn't you - his manager - know about it? About one of your own key team members applying or being discussed for a position elsewhere? Why didn't he ask you for your support, or a leg up - you're his manager and a VP? Did he not feel you could be asked? Why not? Why did whoever looked over it not even mention the application to you, the applicant's own manager and a VP, even in passing, much less ask your view about it to take into account? Why was it left for you to only hear about all the back story, because he failed and was demonstrating his unhappiness at work?

Something for you to think about, there. Because that lapse at your company meant you weren't able to prepare him, coach him, mentor him, guide him, or develop him, so he hit rejection like a ton of bricks, and from his behaviour, felt completely ... let down? unvalued? betrayed?

That was avoidable. You should have been in the loop, a dozen ways, on this. It should never have been able to play out as it did.

A route back

Having set out what would concern me as a manager of an unhappy star performer, and also as a VP/line manager kept out of a loop (and damaged by it in my own work!), this is how I'd tackle it.

I would approach him, invite him in, to come and talk, or "let's go out" for a casual lunch. I would explain to him, that you only heard about it all, after the fact, and you're sorry. That much is clear - its a mess, he's upset, you can be sorry for that upset without necessarily assuming blame. Be human with him. That human connection is what might just help your situation. He needs to know you care. You believe in him. That despite the chaos, you trust him.

You can then explain, that if you'd known of the application, you could have helped him. You could have filled him in any experience needed to move to a senior level, structured things to let him gain specific management experiences or boxes checked, and mentored him if needed about how things work at more senior and management levels, to help him be prepared and do as well there as he does as a star coder. So that's an opportunity lost. He needed your help, you weren't in the loop, didn't know, weren't asked, and the extra skills or experiences needed for the role therefore you couldn't help him obtain them.

  • (If you try to help him obtain these, and he failed or it was hard, then at least he's on a path to his goals, and supported on that path by his employer. That means a lot. If it's not working, you and he can discuss it any time. Maybe in time, he'd realise stuff, or maybe you'd let it take more time to get those skills at his pace, or get coaching or courses, whatever works, if anything. But whatever happened, he would feel happier for knowing there was a path aimed at it, he was being helped, and not just drifting in one role)

So you then next explain that you now have a second problem. Now you know that's what he wants, you'd be glad to start figuring how to get him what he is after. But the current behaviour is a total dead end to it. The company simply can't promote someone whose past behaviour when they don't get something, is to hold the business to hostage/ransom and undermine by allowing bad code in and holding back all but his minimum, knowingly. That's behaviour that's a problem here and now, and would be much more at senior level. You can't do anything for him while he's acting like that.

  • (He's bright. He will get it. The acid test is what happens the next day he comes in.)

End the meeting by saying simply, I want to help. But I do need to be in the loop for that to happen, and you do need to tell me what you're after, what about it appeals - it's clearly not just money. Then, if there are skills and experiences you need, I'll see what I can do to get those for you, and give you the best chance, and work with you all the way.

I like what you do. You're a fantastic coder and a long way to go. Go think about it, and let's talk when you're ready in a few days. I'm always there to listen.

  • (You manage, and he has to choose how to behave, and the only way to get his goals met within the company will be to work with you and perhaps others, for that purpose. If he can't, it'll be his choice.)
1
  • 3
    I don't think the person in question is one of OP's direct reports... ("he wants to be promoted to the Director level (two levels below mine) ")
    – AakashM
    Commented Dec 3, 2019 at 10:49
3

the amount of knowledge lost about certain key systems would be enormous and morale would take a huge hit

The bad thing already happened. Keeping him around in this state is probably worse than firing him right now.

Regarding pay, he already earns well above his bracket (finance pays stars well), so the promotion wouldn’t have gained him any additional salary automatically

Does he understand that? Some stars don't.


You may misinterpretting his behaviour. You have to understand why he "suddenly" wants higher position, when

seemingly has never demonstrated any real interest in management.

What if he did crash for work-unrelated or at least a promotion-unrelated reason and he wanted the promotion as an oportunity to change something? Was there a tension between him and his manager?

Management SSDs get to hire an intern or a junior dev. He didn’t.

He may imagine that managing some coleagues he knows is better than the hassle with the juniors. He is probably wrong, I agree.

3

Instead of checking, he wrote a log message which “confirmed that the data was sent to the backend and promptly not saved in [table_name].”

Try to get him fired, yesterday.

If he is willing to damage the company in such childish ways, imagine what he could do when he gets upset for something else in the future (he probably will after what happened) but this time in a position with more power.

I’m a developer myself and had some disagreements with management in the past, that is common, sabotaging the company or my colleagues work has never been even considered as an option.

EDIT: To address the comments about the word sabotage being used here, just consider what OP has described about this employee:

  • By logging instead of saving the data on purpose he caused that data to be lost (or make it hard to get if the data was logged and the logs are still there). Clients will need to re-enter this data if it was created by them, if they can now.
  • He cost the company tens of thousands of dollars (according to OP) by being unavailable over the weekend, even if this wasn't part of his duties, he should have informed the team that he wasn't going to take care of those tasks anymore so they could assign them to someone else. Instead he choose the path that lead to the greatest damage, on purpose, again.
  • Sending job ads to colleagues so they leave may not be the worst thing in the world, but it shows clearly the intent from this developer when seeing the rest of his actions; he wants to cause damage to the company.

These are the actions taken by this employee that OP currently knows, I wouldn't be surprised if there is more. Once he decided to damage the company in order to get his message delivered is time to let him go, there is no other option, what would the rest of the team think about this? that everything is allowed for getting a promotion?, bad message.

11
  • 8
    Using the word "sabotage" is not a fair characterization of the dev's actions. It's a bit like labeling terrible people as terrorists, when quite literally, they are not.
    – donjuedo
    Commented Nov 30, 2019 at 17:03
  • 7
    Knowing of a flaw in code and taking action to hinder getting it fixed IS sabotage.
    – WGroleau
    Commented Nov 30, 2019 at 17:28
  • 6
    In that case you should begin by firing the people that is writing bad task specs, not those following them to the letter. He is no longer going far and beyond to fix badly worded specs (which I guess isn't supposed to be part of his job), but that's quite different than sabotaging the company. Unless you consider that you used to have lots of sabotages that this employee avoided.
    – Ángel
    Commented Nov 30, 2019 at 23:18
  • 3
    @Ángel the difference between an honest and a deliberate mistake is not minor Commented Nov 30, 2019 at 23:21
  • 3
    @Ángel, come on, please, everybody working IT knows sometimes, most of the times, specs aren't written to perfection, for a whole lot of reasons. It is expected from any developer, not just star one, that, when faced with such an ambiguity, they do a decent amount of work to verify such details. No one's expecting "above and beyond call of duty", but emailing/Slack-ing you manager saying "To which table other than [Not_this] do we put the data?" is the bare minimum. I'd personally fire any developer who didn't do this bare minimum, with cause! Cause being sabotage.
    – user110557
    Commented Dec 1, 2019 at 9:59
2

(posting as an answer in order to elaborate the point)

In a comment to this answer the OP mentioned:

We had a formal on call rotation until he volunteered to take every shift consistently and we dropped the ball on what became filling in the calendar with the same name. – StumpedMoneyHacker

I think this piece is very interesting, and could give some light to the developer motivations.

Why did he volunteered to take every shift? Was it because other people did it quite badly? Did other employees 'fixes' actually result in him needed to be called? Or in extra work the next workday as opposed to having done it right to begin with?

Perhaps he did so to as he wanted feel important?

Does being on call result in extra pay? Maybe he constantly volunteered because he needed/wanted that extra money? Is he still so well-payed if you exclude that from his payroll?

When was he last asked if he wished to continue being on-shift forever? Even if he was happy to do that continuously before, life changes and he may not be so happy with what seemed to became a duty added "for free".

Not that this would matter to why he no longer looks at his phone when in personal time, but would be useful to understand his motivations (and a relatively neutral starting point).

I would add that he doesn't seem to consider such shift to be part of his duties (otherwise, he would have continued doing it, exactly once in an hour if that's what was requested, but he would have done it). If this wasn't an "optional" extra task, it should have some kind of recognition. Preferably in the payroll, as it shows better its importance, not just to those performing it -which are probably well aware of the importance of that- but to the higher ups it also shows it's not optional, being 24/7 is something important, for which you are paying real money to (some) employees. Conversely, if it had little pay, it would give the message that management doesn't consider that on-call shift much important (despite an outage costing tens of thousands of dollars).

1
  • 3
    Yeah, inadvertently the OP included red flags indicating the management is incredibly incompetent and abuses this star developer. Since people don't usually try to portray themselves as idiots, we can only guess how bad the situation really is. Commented Dec 4, 2019 at 2:16
2

The management might have a strange vision of what it means to be a Lead Developer, as they call it a "Director" - where it is common, to solve technical problems on a daily basis, but still has to take care of the fellow developers. This is a position where one does not need to be a social butterfly, but it suffices to get along with fellow developers (which is a social construct of it's own) and the product owner.

He'll likely start to show some more contributions again, once he has more to say - which might be in particular about the software specifications, tooling and alike. While the development team has too little influence on these, it can indeed be frustrating. I mean, he already proven how much he is able to save and how much load he can take - and the rejection might have been understood as an outright insult to competence, likely made by technically incompetent persons. When the described reaction to the rejection is a "I don't give a damn" attitude, this appears likely to be the case - in terms of attempting to change the dynamics, but nothing changes.

2
  • The company in question is in finance and such companies often have a rank structure into which software engineers get mashed into. A junior dev is a "programmer analyst." A senior might be a "programmer associate." I assume that lead is something Director of Programming. I used to work for a bank. Titles were strange. Commented Dec 1, 2019 at 2:14
  • 2
    @MatthewGaiser "Head of Development" is also a common title - while the mere question is, how well the development department is currently represented in the board of directors. A rigid top-down hierarchy is not always the most efficient; eg. when seeing how bad management decisions affect the business, but having no chance to do something about it.
    – user1026
    Commented Dec 1, 2019 at 2:28
2

'his personality is entirely unsuited to managing a group of people'

You don't understand what motivates people and, perhaps worse, what demotivates them.

Could it be that you're entirely unsuited to managing a group of people ?

(Though you came and asked what you were doing wrong - that's a good start .. I guess you're learning on the job. We all do that, some better than others)

If he isn't looking for extra money, nor the sort of people-management you offered him, perhaps he wanted 1) appreciation or 2) technical leadership.

The latter is often better separated from people management but gives responsibility and autonomy.

The former is a culture problem - perhaps your company acts as though being a manager is prestigious ? It isn't. The job of a manager is to allow the productive and creative people to work efficiently by relieving them of trivia and work efficiently on the jobs they were hired for. If they get all the praise, visibility and money, they're selling the company short.

1
  • I work in finance. Money is what 90% of people are here for. That at being big swinging dicks with power (which yes, does make management prestigious). He is just an edge case and I understand why he is demotivated. Yes, we do have a culture where managers get most of the praise (some star traders do as well, but on the tech side its managers). Commented Dec 2, 2019 at 6:43
2

I suspect you will need to offer him a graceful exit

  1. If he is "working to rule" then he is probably no longer worth the higher salary you pay him, especially not the double which he earns relative to his formal manager.

  2. You can't cut his pay without causing yet another negative reaction.

  3. You can give him a new title, but that's not terribly meaningful if it is just created out of thin air. It also rewards cutting back on work.

  4. If you are correct, some additional money wouldn't make a difference.

  5. You can't give him the management position as he seemingly isn't qualified for it by rejecting all other management opportunities.

So the status quo is unacceptable, more money may not solve the problem, you can't give him his desired promotion as he isn't qualified, and a new title would be potentially meaningless.

However, you still need him and ideally would want to have him transition gracefully out of the role.

So use your network to find him a new job with a non-competitior

Help him find a new job which starts in a few months (he shouldn't be hard to market) and until then, you can extract reasonably good assistance from the individual. Perhaps even find him a "Director" position elsewhere at a company which requires less management skill in their management. Make him a deal if you can.

3
  • 1
    That's one hell of an "outside the box" thinking. Nice! I hope I could come up with such solutions in my own life. Kudos!
    – user110557
    Commented Dec 1, 2019 at 10:17
  • 2
    This is an incredibly sensible answer -- meaning it won't be implemented by the OP, but kudos anyway! ;) Commented Dec 4, 2019 at 2:13
  • @Chan-HoSuh have that little faith in OP? Haha Commented Dec 4, 2019 at 7:01
2

This question already has a lot of answers but what seems to have been missed is the issue of process and structure.

You say that he wanted the position of director but hasn't been involved in management. On the other hand you say you use sprints and therefore agile scrum. These methodologies don't have project managers because project management is about planning. Scrum has the roles product owner, scrum master and dev team. Turning down project management in a plan-free methodology is precisely the right thing to do.

What developers want is a well defined area in which they have the freedom to be creative. They also want to see a future , either in the project returns or their career path.

Management in software doesn't necessarily have to involve people skills. It can be about process design and supervising the tools and infrastructure that ensure that process happens (user satisfaction,testing, source control etc). By providing clear process and good infrastructure you create situations where developers can be left alone and given freedom to create.

By expecting people skills and social interaction you are merely projecting yourself into the ethos and culture of the organisation. I have worked in organisations where the upper management had little empathy and social intelligence but the work atmosphere and success of the group was fine. Even hiring does not require a salesman or politician. It just needs demonstrable results and a thumbs up from the potential colleagues.

On the whole it sounds to me like this a clash in efforts to shape the culture. You are on the top projecting down certain constraints that block his path forward by creating political organisation. He is coming from the ground up applying for Director to make the organisation an engineering one.

The difficulty is on both sides. Talk to him and resolve that meta-issue and introspect on your own preconceptions.

EDIT: After re-reading the question, I think what you have on your hands is a dev who has already decided to quit. My guess is he is either waiting for the right job, or you have a non-compete clause that means he is remunerated if you fire him.

1

As several other people have alluded to, you have 2 problems.

One is with the developer. The sort of moody, petulant behavior you are describing is unacceptable and unprofessional, regardless of the disappointment he's feeling. He is now underperforming and as a manager you should either be putting him on an official PIP if you think he's salvageable, or cutting your losses and terminating his employment immediately if you think he isn't (from your description, this is not someone you really want working for you, IMO, but YMMV).

The other issue is the irony in your impression that he did not have the people skills for a management position... and at the risk of sounding rude, it looks like you and the rest of your management team have the same problem. This is arguably the most important component about management: keeping your employees productive and motivated. Failing at doing so is failing at management. The way your team handled this was clearly self-destructive, and I strongly suggest a good, hard look at the decisions you are making, and the process by which you are making them.

Several other people mentioned something along the lines of a technical leadership track, which provides upward mobility for those in deeply technical careers. There are positions like Lead/ Team Lead, Architect, Principal, etc. that acknowledge skill and effort, increase compensation, and add responsibilities and decision-making power without ever getting involved with people, and it looks like you're learning this lesson the most painful way possible.

That being said, a painful lesson is a valuable one. You may have lost out on this employee, but hopefully you've learned the signs of an excellent employee's ambition and prepare a path for them ahead of time in the future.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .