Live data from Hacker News

How to drive away your best engineers

blog.hulacorn.com

171–180 of 316 posts

Re: How to drive away your best engineers

#171
As someone who has been in industry for over 20 years, I have been spending a lot of time thinking about and living thru this. For me, my manager and my relationship with him/her is probably the most important aspect of a job. A few things that I have learned:

* Manager maturity. Young managers tend to be very hands on, they will naturally micro manage. More times than not they were previously an engineer, possibly in the role your currently in, so they continue that role, but with manager power and authority. Young managers work best with younger employees. Young engineers need hands on managers to explain things and mentor them, and that plays well into a young managers need to manage things. Older, experienced, and more mature managers tend to learn what their value is and where they are important. Usually that means listening, coaching, and communicating. Technology has literally changed under their feet, so they tend to be hands off. They also rely on their team more to make decisions and drive towards success. They depend on you. These managers tend to work well with senior engineers (a senior engineer is someone with decade(s) of experience).

* Conflict. A few years ago I did a handful of manager interviews with some top tier tech companies. I was a bit dismayed that these companies were not looking for nice guy managers who values things like compassion and supporting their employees, and possibly even be friends with them. Rather, they want managers who are hard, can wield power, and comfortable with conflict. Conflict here means that management and employees are in constant dispute over literally everything. This means that managers are constantly squeezing work out of you and will have no problem introducing politics and other authority techniques into their day to day managing.

* Communication. Open communication is extremely important. What I find is that when you have many layers of management, decisions are made using information which needs to be withheld from lower levels (or decisions are made based on no information!). When it reaches the lower level, it seemingly makes no sense and can be confusing. Good management communicates everything and does so transparently. This way everyone understands the what and the why. If you don't agree, given you know the why, then you are at least better prepared to pitch an alternative or make the needed changes. If the why is something contentious like you or the team is underperforming, then again, its best that is communicated so everyone has the power to make corrective action, if they choose.

I think a lot of this comes down to culture. A good culture values engineers and adapts to making them happy, as that is how you get the most productive engineers.

Re: How to drive away your best engineers

#172
post #34

Like many engineers, the author of this article assumes all engineers are ethical, and perfectly suited to the assigned task. The author also assumes unlimited budgets, perfect control over a company's hiring and resource management, and a perfect understanding of the software's requirements. These are the same complaints I hear from inexperienced engineers over and over and over again – and not just engineers, but a…

Agree re the article, disagree re labor vs management. This mentality in an org is almost always a result of mismanagement. The reason is obvious: it's a people issue and dealing with people issues is a managerial responsibility.

Thinking that managers are bad in general is only a sign of inexperience because it implies someone has never worked in a place with good management before. I've seen plenty of "fuck management" types completely chill out after moving to a better workplace.

Re: How to drive away your best engineers

#173

Earlier quoted context omitted.

In those cases the correct answer is "Dunno, but I'll have an estimate by tomorrow after I do some prototyping". Then you do the janky prototype and try to extrapolate how long will it take to finish it properly. Then double that and be the miracle worker who delivers in half the time :)

But do not under any circumstances be tempted to demonstrate said janky prototype, unless you want to get re-tasked while said janky prototype gets merged into the build because 'schedule' .. and then be haunted by the damned thing for at least the next three years

Yep, janky needs to look janky and be slow and break. Otherwise they'll think it already works :D

That's also why you always keep the UI on par with the backend as far as completion goes. If the UI looks complete -> people think the backend is complete too.

Only Coder GUIs until the backend is done :)

Re: How to drive away your best engineers

#174
post #119

I'm sure we can all add plenty of fresh examples of bad organisational dynamics. Other than texts like Gall's "Systemantics" is there an equivalent to Acemoglu and Robinson's "Why Nations Fail" but for companies and projects? Here's some of mine: Put "security" before all else. Pointlessly surveil and monitor your staff for feelgood security theatre. Mandate MFA for every trivial login so that simply checking your em…

Is there a story behind all this bitterness? MFA for every login is a very good idea. If you're having to log in to the same service over and over again within a short amount of time, someone is doing something very wrong. Sending out company newsletters seems like a nice way to let everyone know what the company is up to. Not sure how you go from that to reminding lowly engineers of their "insignificance". Social ev…

> Sending out company newsletters seems like a nice way to let everyone know what the company is up to. Not sure how you go from that to reminding lowly engineers of their "insignificance".

I agree with both you and parent.

I've enjoyed getting a monthly newsletter by email in past jobs, letting me know "hey so we just signed a contract with a client that is twice as big as the biggest one we've had so far". Makes sense - I'm not the one to be greatly inspired by something like that, but it's good for perspective.

I've also worked at a company where every single salesperson was allowed and encouraged to email all@company.com whenever they closed a sale. This was around 3 times a week.

Not terrible - however, everyone in the company was also officially encouraged to "congratulate" any such "successful sales" emails with "encouraging words" such as simply adding "Congrats!" and hitting "Reply All".

The head count at this company was around 400.

I wish I was kidding.

I think I lasted 3 days before I created a filter rule in my email client.

Re: How to drive away your best engineers

#175

I'm sure we can all add plenty of fresh examples of bad organisational dynamics. Other than texts like Gall's "Systemantics" is there an equivalent to Acemoglu and Robinson's "Why Nations Fail" but for companies and projects? Here's some of mine: Put "security" before all else. Pointlessly surveil and monitor your staff for feelgood security theatre. Mandate MFA for every trivial login so that simply checking your em…

I argue it's democracy. (That can save Nations and presumably companies)

Imagine voting for the CEO. Imagine voting to allocate budgets. Yes there will be a lot of pork barrel- but it might just work.

I mean the idea that companies are like single cells / autonoma so they don't have to be democratic leads us to silly ideas like trying to put in place rules for not abusing the electorate.

I mean if a boss is sexually harassing all the female staff and then asks for their vote at the next manager election, you won't need HR intervention to get rid of him.

I have no idea truly how this might work, but I do think that if the employees of a company voted how to run it you might find some unusual outcomes.

Re: How to drive away your best engineers

#176

> Stop estimating. I have analysed every team I have been on that use estimation. Those teams have been 99% incorrect. In my experience, it does not work. If you need dates, I would recommend a more modern approach like forecasting. What's the difference between estimating and forecasting? Seems very binary as written, but at some point don't you have to look forward and make some assumptions on complexity/effort req…

Forecasting looks like this: https://medium.com/expedia-group-tech/monte-carlo-forecastin... It’s running through simulations based on previous team behavior to give a range.

Don’t you still have to correctly estimate the amount of work (time) to complete each task in your backlog?

You can apply all the “science” you want, but at the bottom of it all you have engineers holding up a card with a “4” on it when the scrum dude says “add date picker to the Foo widget.”

Re: How to drive away your best engineers

#177

Not included in this list but definitely worth mentioning; - Lowering your hiring bar. When you hire people the burden to get them up to speed and productive is on the existing team. If these people are smart and motivated, great! But no-one benefits from having 200k+ engineers now have to spent their days explaining how GIT (yes, really...) works to a small army of juniors. - Not involving your current team in decis…

As someone who interfaces deeply with Git on a daily basis, please don't imply that it's trivial or simple. There are a million edge cases you can get into, and people with 7 YOE on my team are regularly surprised by the facts we uncover.

Re: How to drive away your best engineers

#178

The underlying principle I've been using to understand this is, no engineer worth their salt will be spending a material amount of time working at an organization that they don't believe utilizes their talents well. The opportunity cost of talented software engineers is much too high in general. This applies regardless of actual talent and does not guarantee results. I've seen mediocre SWEs with inflated egos jump ar…

lol

brilliant engineers can have crippling life leaks that make them work at shitty but well paid places

Re: How to drive away your best engineers

#179

Not included in this list but definitely worth mentioning; - Lowering your hiring bar. When you hire people the burden to get them up to speed and productive is on the existing team. If these people are smart and motivated, great! But no-one benefits from having 200k+ engineers now have to spent their days explaining how GIT (yes, really...) works to a small army of juniors. - Not involving your current team in decis…

As someone who interfaces deeply with Git on a daily basis, please don't imply that it's trivial or simple. There are a million edge cases you can get into, and people with 7 YOE on my team are regularly surprised by the facts we uncover.

Git command UI sucks (compared to some alternatives to SVN, HG, ...).... I'm not teaching that to other people except bare minimum. I will gladly explain advanced stuff, but they need to grok the basic themselves...

Re: How to drive away your best engineers

#180

Earlier quoted context omitted.

If you hire 1 or 2 devs and one gets sick don't expect other one not to take vacations he planned 2 months ago. Right, in that case, I'd probably give up my vacation instead.

Why does anyone have to give up a vacation? Unless you're building intelligence or defence software or something like that.

cause someone else might catch you
Post reply on HN