Hacker News new | ask | show | jobs
by cellularmitosis 2104 days ago
> gives us almost no benefits.

> until finance complains at me I'm not bothering to change it.

> would pain me to find out that a candidate would red flag the company

You have a good grasp on one perspective, what I would call the purely pragmatic business-owner perspective.

There is another (perhaps flawed) perspective, let's call it the idealistic engineer's perspective. This perspective notices the vestigial godaddy remnants. The flawed DB schema fragments from two refactorings ago which stubbornly survive. The fact that the site goes down for 30 seconds every time someone ships a change to production. The fact that shipping frequently is discouraged because of this. The overly aggressive cache invalidation strategy which causes 30% more DB load. The fact that no one is monitoring the DB load. The API endpoints with 4,000ms of latency. The fact that this will never be fixed because you are way too deep in bed with a poorly chosen framework and ORM.

All of these things can be justified from a business perspective as "not worth the effort to fix". Customers aren't leaving, revenue isn't dipping. It's fine. Just focus on the sprint.

But on every engineer's internal balance scale of "should I stay or should I go", all of these things get noticed. Each one adds a pebble to the "leave" side of the scale. For your talented engineers, two pebbles.

Don't let too many pebbles pile up.

2 comments

Thanks! That scale/pebbles metaphor very nicely describes something that I have been having a difficult time explaining for some time now.
Leave to where exactly ... the company that writes perfect code? Little or no tech debt? Only possible in rare circumstances, probably when it is business critical that it be that way.
> the company that writes perfect code?

You are touching on an important point, which I did not state: that there are no companies with zero pebbles on the scale.

The goal is not perfection. The goal is to avoid a pile of pebbles large enough that engineers feel hopeless / "why do I bother" / "this place is a joke anyway". Good people don't stick around long for that.

But the main point was that thinking that a technical blemish has "zero cost" is a trap. The cost is not zero. The cost is having one more pebble on the scale.

From experience, there's very big differences between the amount of terrible decisions the upper management forces upon engineers between various companies. When it's very very bad, you should leave because the odds of it being better somewhere else are very high (they might be only average bad instead of objectively terrible).

Edit: It is also exactly this kind of thinking that keeps people in bad situations. Nobody wins when anyone thinks like that, except of course the people in the exploiting position in the first place.

No company is perfect, but clearly some are better than others from the technical perspective. I know I would enjoy my work more and remain more productive if I felt like I'm struggling a little, rather than a lot, to release anything.