I swear, I half wonder if some of these questions are just outright trolling. It's hard to imagine a company actually being this stupid. Yeah, let's take one of our brightest and hardest working people, communicate to them that their hard work and effort are useless, and then bitch when they quit putting in overtime. Brilliant.
If this story is real, I think the OP (of the SO question) needs to accept that the fuck-up is on the part of his/her company, and quit looking for ways to "discipline" their engineer.
I am half with you - but I can totally imagine a company being that stupid, they just wouldn't phrase it as simple and direct as you did, so they don't see the stupidity.
The mandatory 3 year "derisking" period sounds asinine. If you can't evaluate an engineer's ability to solve problems in 12 months for a position, I think that's a bigger issue.
Conspiracy theory - Article is written by the "overeager engineer" who is looking for clever ways to respond to his company's asinine policies.
> The mandatory 3 year "derisking" period sounds asinine
I don't have too much sympathy for the OP on stackoverflow, but I do think 3 years in a company of 5000+ people is not that long to wait to reach a senior position. It's not just about tech skills, at that level it is personality too. It's pretty important at senior levels that people are not just going to up and leave on a whim, so to my mind a 3 year type period is quite a reasonable test of whether they are long term suitable in the company.
and then bitch when they quit putting in overtime.
That's not really a fair characterization.
He's actively and obviously investing in building his own brand, as it were. He's further doing so in a very in-your-face manner, plus encouraging others to do the same.
It's almost like an undeclared work-to-rule style strike. This is potentially a real problem for the company.
Personally, I think the real issue here is their reluctance to fire him over the cost involved. Keeping him may cost far more.
Granted, they probably should have done something different somewhere along the way to avoid this entire scenario, but I don't have any idea what that might be. I don't have enough information to guess.
He's actively and obviously investing in building his own brand
Which is exactly what he should be doing, as we all should.
He's further doing so in a very in-your-face manner
Great, sometimes you need to make a point.
plus encouraging others to do the same.
Good, that's a win for everybody, except the short-sighted management that want somebody who will "go above and beyond" without any reward for it.
It's almost like an undeclared work-to-rule style strike. This is potentially a real problem for the company.
And a problem the company brought on themselves. And one they could fix by working with this guy and giving him more than the proverbial "pat on the head". If they really can't promote him right now, it's hard to imagine that there isn't something they could do to appease him and tide him over. More money? Extra vacation time? Company car? New title? Guaranteed lunch with the CEO twice a year? I dunno, but most people are reasonable and it seems unlikely to me that they couldn't find some kind of compromise if they really wanted to.
There is a remarkable difference between being a strong individual contributor and a team leader. Organizations sort of need both, but being good at one doesn't make you good at the other.
I hired a guy like this, and he was extremely useful. However, he did do some outrageous things. For instance, he was learning Kotlin, and decided to do one his projects in Kotlin without so much as an approval from me or even discussing amongst his peers (which I do delegate most of the tech decisions to those in the trenches). Shocked, I had a one-on-one in which he told me we were falling behind. I reminded him our number one focus is to support the salesfloor in the company, and that our stack is "boring" on purpose because of stability and predictability. I had him work long hours to rewrite the project in the correct stack so it could be supported by the whole department, not just him.
Eventually he left, which I wasn't terribly upset by, and he went to work for a startup which I think better fit his personality and skillset. I keep up with him on linked in and it seems he's continued to surf between startups and making a decent living doing so. I think he's much happier doing this, because having a structure did not suit him.
Yeah, I have a similar employee. Pretty much no matter what task I assign him, unless I spell out down to precise detail how to implement it, he will go off-stack to do it. Or if he stays on-stack he will insist on completely refactoring the code, creating his own library (which several times he has done and then asked to open source) or in some other way dramatically upending whatever code he is working with. At this point I'm not sure what to do because he is the most productive employee in terms of simply "getting things done", but I consider him almost dead weight in the sense that he creates almost as much technical debt (in an odd sense because its often forward looking - using tech newer and more fancy that what we are running, or just disrupting code everybody already understood so everybody has to relearn it) as he contributes usable code with everything he does. A couple of times I've forced him to go back and rewrite using our stack but it doesn't seem to be changing his behavior.
One cowboy is not worth the trouble when once you're out of the startup phase. It's disruptive and counterproductive to team growth.
I hope you can get your guy to come around, my advice is lay out expectations and let them experience consequences when clearly managed expectations aren't met.
I simply cannot believe how myopic this whole comment is. It seems you simply cannot be satisfied with excellence, and would prefer mediocrity.
This is the condition of our society. You have absolutely no knowledge of the history of software if you think this engineer fits the description of anything but "brilliant pioneer".
If you had any skill whatsoever in your role you would be pushing your team to match his effort. The problem is blindingly clear, and I want to thank you ironically for making it so honestly clear in your comment.
Thanks, it's always interesting to hear responses from people who strongly disagree with what I've said.
The only point I'd make in reply is that I work in a fairly highly regulated industry, and I am accountable for the code that makes it to production and its downstream impacts. That means, like it or not, I have to understand everything that is going out (or have enormous trust in the people who are doing it). In that environment, things that break the mold or impose a high rate of change, especially unexpectedly, are very very expensive. For example, they can put huge deployment blocks on code that is pending review. We had critical code delayed by a month from reaching production because it was woven into one of these changes by this person, but the size of the change set was so huge just reviewing and testing it was a significant amount of work Then another time he actually caused a production outage by refactoring some code so that it used a list as a default for an argument in a python function (which we should have caught, but didn't, partly because there were so many changes in what he shipped).
Maybe I suck at software, but for lots of reasons (beyond just software skills) I'm the one given the responsibility for this and therefore yes, the process to some extent revolves around my limitations as a human being to understand the changes going out.
People like you describe love structure, if it's supportive. You didn't provide a supportive structure. You accused him of falling behind on synthetic targets because of his ambition.
It's no wonder he prefers to avoid that sort of "structure". Jesus Christ.
The elephant in every room you occupy is probably "this guy needs his authority validated".
Those "synthetic" targets you mention are goals the CEO and executive board laid down. The tech stack was chosen but his peers. It was a case of poor attitude, and he was processing towards his termination before he poisened the well for everyone else.
I had another guy on the team that is just as productive but supports junior engineers by mentoring them on the stack, takes notes, clearly communicates, and takes initiative. Unlike the cowboy, he could teach people to do what he did.
Kotlin is a very tame language choice, in what I assume is a very Java heavy organization. Peers should be accountable for learning new languages and following the implementers rule.
nah, this is just the brilliant hacker type mentality (individual over team, parachute in and rewrite everything in today's cool language) type stuff that gets really annoying once you're responsible for a set of interconnected components of software that matter.
it's critical to root out these hero types lest they ruin your organization with hand grenades wrapped up as "refactored" projects using the latest language. seniors won't put up with this, and rightfully so: it basically raises a middle finger to the organization's previous culture/work, and they are now responsible for doing it... again. it's disrepectful and ought to be a fireable offense, ideally rooted out in the first few weeks when the new team member is given some slightly autonomous tasks.
It seems to me that the real problem is hiring engineers who only know one language and rest on that language choice for their entire career. If you build an organization of engineers with a versatile set of skills then there is no such thing as a wrong language choice.
Mandate the standardization of interfaces rather than languages and you empower all types of developers in your organization.
I have no issues with the language other than hiring pool is pretty small.
Unfortunately letting something like this sit means you have a huge time bomb of tech debt that only one person can work on. It is a liability for the company and long term profitability.
Any Java engineer worth their salt should be able to use a JVM derivative. If you hire people who are capable of using multiple languages then you won't have an organization of people restricted to a single language.. and the problem is gone.
I'm sorry you're downvoted but this is incredibly important. Over-engagement leads to siloing, burnout, quality problems, tech debt, among many other things
> This has caused a lot of disruptions in the company, and I'm receiving recommendations to encourage this millennial to quit
This line is completely off-topic and should not be there at all. It leads me to believe there is a personal bias at play that’s having an influence on your decision making.
This young guy is busting his ass to learn and more importantly, apply what he’s learning. And you have the audacity to disregard his effort based on a meaningless time-frame?
Younger workers, in general, are getting tired of the “serve your time” game that employers are playing. He knows his value to the company, is willing to take it elsewhere if you don’t respect his efforts.
Leadership is soft skills, and the employee in question doesn’t have them. The poster needs to get out of the weeds, and stop the demand on labour, but he’s not wrong about getting rid of the petulant child.
Leadership is a soft skill, that a manager is meant to show when managing the engineers in their team, a skill that this manager has clearly failed to develop.
Its incredible that the author would think that they are in a position to discipline the engineer, and not rethink their organizational incentive structure.
The whole point of a company is to maximize the value that it creates and to that end set up an incentive structure to develop and maintain people that are able to create that value which means rewarding them to keep everyones interests aligned.
Using the "company doesn't promote people unless they've worked in a role for a least 3 years" is the biggest pile of shit excuse I see all the time. If zuckerberg can prove that he can provide enough value to be a billionaire by 30, certainly there should be a path to director or CEO regardless of age, within any organization worth its salt, for someone that can provide that same value, without checkboxes for attendance.
Just because you attended the lecture doesn't mean you should be able to prevent someone from getting an A who ditched every lecture but can easily ace the exams.
how do I get to be like this employee? With that kind of drive vision and focus? It's something I've been trying to cultivate in myself for a while but I'm always looking to be better.
are your motivations external rather than internal? do you want money, prestige, or recognition from others and that's why you want to be like this? because if so, forget about it. not worth the friction that will come alongside.
i've found a good barometer is to imagine what you would be doing if you had unlimited material wealth, so don't need to earn a paycheck for yourself or others. what are you doing with that time? if that's not tech related, i'd recommend not trying to force it.
if it /is/ tech focused, and you work in tech, then there are some issues preventing you from aligning what motivates you from what you're doing. reflect on that, and what you need to do to align those. in my experience this isn't a 2 hour thing, it's like a 2 month thing.
You described a person who is driven andn focused. Essentially you're looking for the traits of:
Intelligence and Determination.
The best specific habit I can give you to increasing determination is to start a mindfulness practice and get high intensity cardio regular.
Mindfulness - 20 minutes a day, twice if you can. It helps you, among other things, be more honest with yourself and become comfortable with being uncomfortable.
Cardio - You don't have to run a marathon here. Get your heart rate up to your max heart rate for about 10 seconds, usually it will take you about 90 seconds to two minutes to do this. Keep doing this for about 30 minutes. This will up your metabolism but it will also help you learn how to push because you are physically pushing yourself. Use a decent heart rate monitor a $30 chest strap is all you need.
Other habits include removing any addictions in your life that do not benefit you I'm getting 8 hours of sleep every night.
Then find a problem you can get behind and try to solve it.
I find the question a bit hard to understand. If you like something, you do it right? Just do what you like. It's like asking "how does that pro hockey player have the drive vision and focus to play hockey?" Well ... they probably like playing hockey and wouldn't have that drive, vision, and focus for high-jump. So do what you like intensely and unabashedly. Be warned, at some level this is terrible advice -- it's very useful to be able to get things you don't like to do done. Just don't waste your life on them.
There's so much information in this post it's difficult where to begin. If the engineer is good, then promote them. Time in post is not a reason not to promote someone, and it sounds like this manager is just crap. Often the "Time in post" requirements are just metrics that develop over time- you 'expect' engineers to develop at a certain pace, and if you're promoting them too quickly that's probably a sign that you aren't making the right decision. It's not proof that you're not making the right decision, it's just an indicator. When I managed a team I often had to manage expectations from employees that want to be promoted. Partly that was about "Look, you haven't demonstrated X,Y,Z skills" but it's also "You haven't built up the connections across the company - no one comes to you when they need an expert". Very often those requirements come with time more than anything else.
The fact that the manager is having monthly meetings with the employee to check in on promotion is a big red flag. If you're not planning on promoting him mid-cycle then you've not been clear with your communication by repeatedly having meetings at which you're going to disappoint him and re-iterate the same points.
The underlying fact though is this: Large companies stay efficient by under-promoting employees and only paying market rate when hiring since that's the only time there's real competition. As an employee you need to know this, and behave appropriately.
If this story is real, I think the OP (of the SO question) needs to accept that the fuck-up is on the part of his/her company, and quit looking for ways to "discipline" their engineer.