7 ms·
And rewarding engineers for "impact" rather than correct, reliable, and extensible software.
by proc0 2y ago
And rewarding engineers for "impact" rather than correct, reliable, and extensible software.
- efnx 2y agoWhy is it that leadership gets these ideas all at the same time?
- esafak 2y agoThey copy the leader. Word spreads instantly on the Internet.
- dasil003 2y agoBecause the software we are paid to write has an external purpose. As scale increases, supply chains lengthen, and roles specialize, inevitably more and more people are missing the forest for the trees—this isn't an indictment, it's an inevitable result of the pursuit of efficiency and scale at all costs. Many engineers would be happy to polish the thing that exists, perhaps adding complexity the form of scalability, modularity or reusability that isn't actually needed, and in fact may make it harder to adapt to broader changes in the ecosystem that the company operates in. "Impact" is just a suitably hand-wavy management buzzword to be used in lots of different situations where they deem ICs to not sufficiently taking the big picture into account.
- proc0 2y ago> Many engineers would be happy to polish the thing that exists, perhaps adding complexity the form of scalability, modularity or reusability that isn't actually needed, and in fact may make it harder to adapt to broader changes in the ecosystem that the company operates in When done correctly it absolutely adds business value and should not make it harder to adapt or change, that's the point of good engineering. The problem is that you need years, if not decades, of technical experience to see this, and it's also a hard sell when there is no immediate "impact". It's basically something that happens because consumers don't know any better, so then it becomes low priority for making profit... at least until a competitor shows up that has better software and then it has a competitive edge, but that's a different matter.
- dasil003 2y agoSure. I'm just explaining why the term exists. Of course it is often applied by clueless managers, there's nothing you can do about that except go find a better manager. Just don't make the mistake of thinking its all bullshit because you've only dealt with muppets on the leadership side—I see this often with journeyman engineers who have never had the privilege of a good management team and it's very sad.
- proc0 2y agoYeah and I would extend it to a better company as well.
- Henchman21 2y agoBecause they’re all in the same tiny social circle and went to the same schools, joined the same clubs, intermarried, and just generally isolate themselves from the rest of us. Its called “being out of touch” I believe
- _dark_matter_ 2y agoIf you don't want to have any say in the work that you're doing, then sure don't judge based in impact. I'd rather have the responsibility and trust of letting me decide what to work on, rather than management tell me. The only way that works is that my judgement is good, I deliver impact, and I'm paid as such.
- esafak 2y agoYou are optimizing for your resume and pay, not the product's needs. That's what people are criticizing; what constitutes impact, how it is measured, and whether that's what's needed to make the product better.
- _dark_matter_ 2y agoIn fact I'd argue it's the _exact_ opposite. I've seen countless engineers architect big complicated systems that are completely unnecessary. If anyone was measuring, they'd realize the impact of that system was: no incremental users, no incremental revenue, increased operational overhead, higher headcount, and more burden in further development. Is that what the user needs? You tell me.
- proc0 2y agoThere is implicit impact by engineering good systems and software. It's like hiring a plumber and telling them "you need to improve my house" rather than "you need to improve the plumbing in my house". When your objective as an engineer is so broad that you need to worry about customers and the product, then the engineering itself suffers... that said it might not suffer to the extent that it matters but that is the point here. Bad software keeps happening because businesses can afford it, as well as hardware improvements. It's a combination of consumers not knowing what they are missing and hardware advancements allowing for bad software to exist.
- scarface_74 2y ago> When your objective as an engineer is so broad that you need to worry about customers and the product, then the engineering itself suffers... that said it might not suffer to the extent that it matters but that is the point here If you aren’t writing software with the customer and business in mind, why are you doing it? That’s what you are getting paid for.
- moandcompany 2y agoRewarding "engineers" for perceived "impact" :)
- ldigas 2y agoI wonder in comparison what had more impact, a software made in the 80s still used today, or an app that will be replaced in a year, with an added note of "I don't know why I'm using it at all".
- scarface_74 2y agoIf the company didn’t make a continuous stream of income from the product, from the company’s perspective, it would be that awesome pay to win game with in app purchases…
- phendrenad2 2y agoThe users often feel the "impact" like a punch in the gut, as their perfectly-fine software has now grown a useless AI appendage, or popup ads for an upsell to the next pricing tier. But hey, got the promotion!
- leptons 2y agoYou get rewarded?
- proc0 2y agoYes with promotions, bonuses and overall good reviews, which are only marginally based on technical achievements (when it should be absolutely based on that).
- leptons 2y agoThat sounds amazing. I haven't spoken to my boss in about 2 years, haven't had a raise in over 4 years. I guess my reward is that I still have a job?
- ajmurmann 2y agoSounds like an incredibly incompetent manager
- proc0 2y agoYes, that's part of the reward, but normally you get raises, bonuses, etc. based on yearly or quarterly reviews. If you are not entry level, and you just focus on programming while getting a good pay, and you are not seen as underperforming, consider yourself lucky.
- dahart 2y agoIf you want a raise or promotion, you should talk to your boss or otherwise figure out how to remind them regularly of your value. Ask them for a quarterly or monthly one-on-one, and take an interest in what they do and what the team priorities are. I don’t know about your boss, they’re not all the same, but managers tend to like see initiative, engineers who make other engineers more productive, and engineers who have and spread an optimistic attitude. Promotions are about taking greater responsibility. An alternative but dangerous approach is to make it known you’re looking elsewhere for work. Don’t do that if it’s relatively easy to replace you, and definitely assume the management thinks it’s easy to replace you, especialy if you haven’t been talking to your boss. ;) But there is the chance that they know you’re valuable and haven’t given you a raise because you seem content and they believe they have the upper hand - which may or may not be true.
- scarface_74 2y agoA company exists to make money. If you can’t describe how your work either makes the company money or saves the company money? Why should they care?
- epolanski 2y agoBu but...but..look at how elegant my rewrite of this part of the code that nobody uses for a product that has a handful of users is../s There's really way too many developers that care way more about the code than the product, let alone the business. It ends up like fine dining, where 99% of the times a big Mac would've been tastier and made the customer happier, but wouldn't justify the effort and price.
- proc0 2y agoWhy are they hiring the candidate to begin with? This entire "justify your existence every quarter" is one of the bigger downsides of how the economy works, because it allows people to be exploited. it's the metaphorical writing of the blank check. There are no real boundaries of when work starts and stops or when your responsibilities end because the task is to increase business value and that is technically endless. The company keeps piling more and more work, keeps growing and growing, meanwhile they reward you with a small fraction of the total profit that you contributed. I keep hearing how 10x engineers make their companies millions upon millions but they only get paid a fraction of that. How does that even make sense as a fair exchange? Not to mention is completely unfeasible for most people to have this kind of impact... it is only possible for those in key positions, yet every engineer is tasked with this same objective to increase company value as much as possible. There's just something very wrong with that.
- scarface_74 2y agoWhy are they hiring the candidate to begin with? Because they feel they can extract more value from them then they are paying them. There are no real boundaries of when work starts and stops or when your responsibilities end because the task is to increase business value and that is technically endless I work 40 hours a week and they pay me the agreed upon amount. There was nowhere in our agreement the expectation of my working more than that. I also knew that they could put me on a plane anytime during the week. The company keeps piling more and more work, keeps growing and growing, That’s completely on the employee to communicate trade offs between time, cost and requirements. My time is fixed at 40 hours a week. They can choose to use my 40 hours a week to work with sales and the customer to close a deal, be a project manager, lead an implementation, be a hands on keyboard developer, or be a “cloud engineer”. It’s on them how to best use my talents for the amount of money they are paying me. But seeing that they pay my level of employee the highest of all of the ICs, they really should choose to have me working with sales and clients to close deals. That’s not bragging. I make now what I made as a mid level employee at BigTech in 2021. I keep hearing how 10x engineers make their companies millions upon millions but they only get paid a fraction of that. How does that even make sense as a fair exchange? The concept of a 10x engineer except in very rare cases is a myth if you think of them as just being on a keyboard everyday. All of the things I listed I could do - project management, backend developer or a cloud engineer - I would say I’m only slightly better than average if that. My multiplier comes because i can work with all of those people and the “business” and they can put me on a plane or zoom call and I can be trusted to have the soft skills necessary and my breadth is wide enough to know what needs to be done as part of a complex implementation and how to derive business value. If you are making a company millions of dollars and you are only getting a fraction of that - and I doubt someone is doing that on their own without the supporting organizational infrastructure - it’s on you to leverage that to meet your priority stack. Not to mention is completely unfeasible for most people to have this kind of impact... it is only possible for those in key positions, yet every engineer is tasked with this same objective to increase company value as much as possible. There's just something very wrong with that. If you are a junior developer, there isn’t much expected of you, you are told what to do and how to do it. You aren’t expected to know the business value. If you are a mid level developer, you are generally told the business objective and expected to know best practices of how to get there and understand trade offs on the epic/work stream level. If you are a “senior” developer, now you are expected to understand business value, work with the stakeholders or their proxy, understand risks, navigate XYProblems on the project implementation level and deal with ambiguity. As you move up the more “scope”, “impact” and “dealing with ambiguity” you have to be comfortable with. “Codez real gud” only comes into play in getting from junior to mid.
- epolanski 2y agoNobody cares about the software but developers. I'm sorry but I don't buy it. I've been way too close way too often with lisp and Haskell or many other niches (I know well both Racket/Scheme and Haskell btw) the people that care that much about this correct and reliable and extensible software care about the code more than they care about the products. That's why the languages that breed creativity and stress correctness have very little, if any, killer software to show when PHP/Java has tons of it.
- scarface_74 2y agoWere they able to trade their passion for goods and services?
- proc0 2y agoI think you're conflating two different things. On the one hand you have how a product is made, and on the other there is the demand for it which will affect how the product is made. In the case of software these two things are unfortunately broadly disconnected for a number of reasons. First, hardware has improved consistently, outpacing any need for optimal software. Second, the end user does not know what they really want from software until it is provided to them, so most people will easily put up with slow, laggy and buggy software until there is a competitor that can provide a better experience. In other words, if companies can make money from making bad software, they will, and this is often what happens because most people don't know any different and also hardware becomes more and more powerful which alleviates and masks the defects in software. I think there is also another big factor, which is that businesses prefer to scale by adding more people, rather than by making better software. Because they want to scale along human engineers, they tend to prefer low-tier software that is easy to pick up by the masses, rather than the high-level specialized software that is a hard skill to acquire. This is understandable, but is also the reason why software is so slow in advancing forward compared to hardware (and by the same token, hardware engineers require more specialization).