How to Discipline Overeager Engineer?
workplace.stackexchange.com
workplace.stackexchange.com
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.
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.
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.
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.
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.
He did more than just quit putting in overtime. I mean, it was fifteen hours a week. That's a lot of OT to do on a regular basis.
Management is often an ass about how OT gets handled anyway. They often have stupid, counterproductive policies in that regard.
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.
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.
Good thing for you, that excellent software is always written at the bark of a sadly decomposing mind. You're making wherever great again, I suppose.
Mandate the standardization of interfaces rather than languages and you empower all types of developers in your organization.
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.
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.
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.
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.
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".
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.
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.
Grifting.
> the employee in question doesn’t have them
The employee in question seems capable of upending your financial priorities.
> stop the demand on labour
For compliance, right?
> petulant child
We hate about others what we hate about ourselves.
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.
It seem like I never know what to do next
I mean what practices, habits, who knows what else
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.
Does that sound like a good strategy? Perhaps you are a monkey.
Cultivate the qualities you see in yourself. If you cannot do that, nobody can advise you.
You need a big funnel of ideas - read a lot of technical stuff (HN, trade magazines, etc.).
The way to get good ideas is to get lots of ideas and throw the bad ones away. — Dr. Linus Pauling
Write software for your own use; modify and be involved in open source software that interests you.
Buy eval boards and other hardware that you can experiment with.
People who do great things look at the same world everyone else does, but notice some odd detail that's compellingly mysterious. — Paul Graham
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 don't.
If you have to ask, you aren't anything like that employee.
Life as a human being is not a choose-your-own-adventure, and your personality can't be altered in a deterministic way.
Learn to embrace the person you are, or fuck right off.
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.