3 ms·
Most employees are unmotivated and mediocre-at-best, across every role and industry because most people are (rightly) just showing up to get paid. Engineers are
by abxyz 1y ago
Most employees are unmotivated and mediocre-at-best, across every role and industry because most people are (rightly) just showing up to get paid. Engineers are no different, we are not special. Most engineers do not have the incentive to go out of their way to improve their product when keeping this as-is is easier for them. Regardless of whether the OPs product is good, almost all of the engineer opposition would come from engineers not wanting to deal with integrating some new thing that non-engineers want because it’s more work.
If you think most engineers are evaluating things based on the value it’ll drive for their product, you’ve lived a lucky career (and long may it continue).
- tsimionescu 1y agoAn engineer's job is to add the features that management asks to be added. Engineers who fight with management decisions on adding features to a product are almost always exactly the ones who care a lot about the product - the path of last resistance is to just do what you're asked, since that's what you're paid for. Management wants to add Google ads to their premium offline app? Sure, they'll work to add that, who cares. Whether they spend two months building this feature or another, they're getting paid the same amount.
- bee_rider 1y ago> An engineer's job is to add the features that management asks to be added. I get the context here (you are talking about software engineers, fine, and adding silly chat features, which is pretty low stakes). But, still, want to mention the general case: The engineer’s professional obligation is to push back against the company if they are asked to design something impossible (and try to find some alternative that fits the customer’s business need if that’s possible), and to refuse or possible whistle-blow if asked to do something unethical/harmful to society. We live in a very corporatized society where professions are being turned into jobs left and right. But, the engineer’s job is to just implement management’s requests in the same way that the doctor just exists as a conduit to your insurance company: that’s the way the company would like it.
- ryandrake 1y agoAn engineer's job is also to use their technical judgment and choose the right tool for the job. Some of the worst engineering jobs I've had were the ones where engineering is handed inadequate tools and told to use them.
- abxyz 1y agoThat’s not how software engineering works. Management doesn’t know what a feature will cost to add so they defer to engineers who produce estimates which are used to forecast and plan. Engineers estimate based on their own preferences (whether for cynical self-serving reasons or not). You estimate a feature will be delivered in 2 months but it takes 4, that’s 4 months of pressure you could have avoided by rejecting the feature. Some features are annoying to work on, some have long term implications for how much and what type of work will need to be done. Some just don’t fit with what the engineers want to work on. I know which features are going to take endless stakeholder meetings and which aren’t. I know which are going to require overtime and being on-call. I know which are going to kill off my pet project. The most self-serving action a software engineer who doesn’t want to work more than the bare minimum can take is to reject as much as possible as being too difficult or bad or some other excuse.
- tsimionescu 1y agoI don't know in what type of environments you've worked, but "rejecting a feature" and "managers blindly deferring to engineering estimates" are very alien concepts to me, and I'm pretty sure to most people out there. What usually happens in my experience is that management comes up with some new requirements that they may or may not have already sold to a customer on a more or less specific timeline. They then ask for an estimate on when that will be implemented in the product. If the estimate doesn't conform to their expected timeline, they typically challenge it vehemently. If you can convince them that it's a realistic estimate for what they're asking, they then start discussing ways to reduce the scope while still delivering more or less the same feature. If you can't, then it will end up at "you're being pessimistic, let's start and we'll pull through", which will later turn into "we'll have to work this Saturday because we're way behind on what we committed on that feature". Sometimes, a very well respected engineer will occasionally be able to convince someone in management that a feature is just not worth it. But that is the rarest case I've seen, and it will definitely not happen if some junior or middle engineer tries to invent some generic excuse.