Discussion
Working on products people hate
codemog: Author mentions working on product people hate, GitHub Copilot. Honestly it ain’t too bad. Definitely better than a lot of “enterprise” software.
dvrp: Do you want to know what God thinks about money? Look around and see who he gives it to.
BoredPositron: Seans quest continues gaslighting himself one blog post at a time. As usual on his pieces away from pure technology I have the opposite opinion.
renewiltord: People talk a lot, but their wallet really speaks. I don't build for people's mouths. I build for their wallets. I'm happy with outcome.
relaxing: Pure cope.It is extremely possible to work on a product people don’t hate, and still maintain a realistic perspective on your engineering abilities or impact or whatever.If you’re toiling on a product that’s actively making the world worse, quit now. There are better gigs out there.
politelemon: The nature of feedback is that the most vocal express their dislike of a product more loudly and are noticed. The people who like the product won't often take time to express it.
smeggysmeg: The most successful businesses are often the most harmful forces in society. There's a lesson there.
lemagedurage: And another lesson: we define business success by how much money they make, not by how beneficial they are to society.
gyulai: In a perfect society, companies would find that the more negative externality they create, the more difficult a time they'll have finding people willing to do it for them. One case in point is when a civil-oriented software company starts taking on military contracts and putting their people to work towards death and destruction. In a perfect society, the reaction we would get is the employees going "wait a second; I liked this company when I joined, but I never signed up for this." … and even in our less-than-perfect society, we do get some of this; what we need is more of this, not less.
explodes: > In fact, a reliable engineer ought to be comfortable working on products people hate, because engineers work for the company, not for users.I prefer to take pride in my work. This sounds like hiding ones neck to collect a paycheck.I prefer to have hard discussions about pivoting or making changes so that we can improve the product, or company, for our users. Anything less is simply "not doing the job", or at least making a serious consession, in my opinion.
bayindirh: Came here to say that.Saying that "engineers work for the company" is a very reductionist take, taking away personal conscience, judgement and moral compass, leaving only "get in, do work, collect reward, go home" cycle. This what robots do. This is what algorithms do. Humans shall and are much more than that.When I was the tech lead of a Linux distribution, I fought my teeth to make that thing work for the target audience who will be using it, and developers who wanna work and develop on this thing. It was not volunteer work either. It was my paying, day job.
grenran: TLDR: I enjoy working at a megacorp and collecting my paycheck, even if the product is shit.
bayindirh: Building for wallets only is fine, until a competitor builds a better alternative which can lure both mouths and wallets.
lemagedurage: Don't attach your pride to how well a product you work on is received. You can still take pride in improving a poorly received product, or even in just trying.
throwaway63467: Most software is just there to get the job done. I’m building compliance tools that most users would very much like to never use as they’re just adding overheard over what they consider real work. You can still strive to make the software in a way that makes the unpleasant task of having to use it as painless as possible.
aguacaterojo: Are people really using Github CoPilot on their own volition or is it just "my employer only lets me use this tool"?
rvnx: Sounds like how governments are installed, by force
rednafi: [delayed]
poszlem: "It is difficult to get a man to understand something, when his salary depends on his not understanding it."
renewiltord: No business is immune. Always have to adapt.
karolusrex: I work on a product that is so loved and hated at the same time. With some people it’s almost set off its own subculture, and they will roll with nostalgia if they ever used it.On the other hand some other people will claim it’s the hallmark of enshittification, overchurned with features and a sinking mess.I agree with both. It’s a strange situation and very difficult to move the needle towards more love at this point
alpaca128: > engineers work for the company, not for usersHonestly I don't see a big difference between that sentiment and "I was just following orders".That kind of mindset eventually leads to situations like yesterday's headline about the Artemis astronauts finding out that their computer inexplicably runs two instances of Outlook which both do not work [0].Situations like Windows updates causing data loss by updating and rebooting without the user's consent.Or situations like one year ago when I had to help an elderly person after MS suddenly replaced the easy to use Mail app with an enshittified one that wasn't just much more complicated, but also had an untranslated English interface because MS couldn't be bothered to translate it before forcing it onto users worldwide.[0] https://news.ycombinator.com/item?id=47615490
montag: It's a fatalistic attitude. Some kind of is/ought fallacy. This is why we need precepts like "Focus on the user and all else will follow."
socketcluster: I had an epiphany about the software industry when I stayed at my parent's place and used a microwave that had the worse UX of any machine I had ever seen. Basically there was no start button, there was no way to increment the timer after you started and the only way I could figure out to make it 'work' would turn on a super loud fan which would keep running even after the Microwave had been stopped; I had to pull the plug on it to make it stop.It was a popular brand and I suspect it probably sold well. The dysfunction may not be obvious at a glance. I just thought about the software engineer who had to implement this retarded UX... I imagine they would put on their resume "Wrote the firmware for <popular electronics company>" and it would sound really good. The worst part is that it's probably not even their fault.Anyway it just made me realize how unmeritocratic this industry is. We could do a great job or a horrible job and it has almost nothing to do with career progression and opportunities.
KronisLV: I like GitHub Copilot, it's pretty okay!Now, whoever worked on Oracle DB or Oracle Forms, or Oracle ADF, now those are some products I hate for a variety of reasons!
keiferski: I worked a lot of food service jobs when I was younger, and as much as those jobs can suck, one big thing that is nice is delighting customers.Assuming of course that you aren’t working at Slop Burgers, but even then… almost everyone is happy to get an ice cream cone, or a hamburger with fries, or just food in general.It’s a shame that white collar professions typically have such a distance between make thing and give it to customer, who’s excited to receive it.
latexr: The lesson is that the general definition of success is warped. Say instead, for example, “the most profitable businesses are the most harmful to society”. One word change. Decouple “success” from being rich.
oncallthrow: All of this guy’s takes are so funny to me. He’s clearly been forged in the fire of utterly cursed and corrupt companies like Amazon, and it bleeds into his entire world view. He can’t even conceive of the idea of actually wanting to create a good product, it’s all seen through the lens of promotions and self-furtherment.
EZ-E: I work on a platform that a lot of customers "hate", or at least get frustrating experiences from. With many vocal on reddit, or in the reviews.As software engineers, we are nowadays actually expected to handle customer service escalations (ie: when customer service cannot resolve a given situation, and the client is persistent enough, or borderline threatens legal action).Strangely, I found dealing with those these customer escalations some of the most rewarding work. It feels very real as I read the long winded customer support ticket, feeling the user frustration, and finding the root cause and resolving the issue, or at least being able to understand and explain. Afterwards, internally trying and pushing for changes that would prevent the frustrations and escalations is also very rewarding.I found this more rewarding than some other initiatives we have internally as they sometimes feel less connected to actual problems that are happening and that nearly everyone ignores.
lelanthran: > I prefer to have hard discussions about pivoting or making changes so that we can improve the product, or company, for our users.Right.The user and the client are two different groups of people. If you want to make things better for the client, then sure, that's rational.If you want to make things better for the user at the expense of the client, then that's irrational.If you want a job that lets you serve the users, then get one where the users are also the client.In most dev jobs, the software users are not the same group of people as the client.
mememememememo: I work on a product that gets 80% hate on HN (due to speed / usability I guess not ethics) and I sort of get people but I also think it is a great product for many many reasons. And glad we dogfood it and glad to use it elsewhere. I want to love or like the product is the main thing for me. If other people hate it is less of a concern (but definitely curious as to the reasons as that is useful data).And it is a huge job seller. I have taken jobs because I saw the product in action and thought I wanna be a part of that. Tip: demo your product to candidates (even of they did the usual DD and got a free trial)
jnpnj: Along our career we often make compromises. I don't on something hostile to users but I surely stopped having pride on my work, partly to keep collecting a paycheck. Management, team dynamics.. are all influencing the path your product will take. Politics, economics are all factors in this too, few years ago people could jump ship easily, now a lot less so.I'm coping through HN Hiring threads to find additional gigs that align with the need to contribute for others with less constraints.
ForHackernews: This is why software devs are not professionals. A professional engineer will not sign off a bridge that he knows is liable to collapse. Software devs will build whatever dangerous immoral garbage their boss tells them to, and then rationalize it to themselves.A professional has an obligation to a code of professional ethics that supercedes loyalty to their employer. Nothing of the sort exists in software.
nvarsj: [delayed]
ronbenton: I agree with this. I don’t even this Sean says anything controversial in the article so I’m not sure what the negativity is about.
PaulHoule: “Almost every engineer will work on a product people hate.”No. Forcing people to use a product they hate is privilege. It’s about power. Monopolists like Microsoft and Google can do it, companies that face market competition can’t.
iugtmkbdfil834: The problem with the article starts with wording. If I hate a piece of software then almost by definition it has failed to do its job well as I believe software's job is to help me do something. But I usually don't hate and with age I even accept and appreciate that there are trade-offs to be made.The problem is.. that software today seems that the trade-offs made are akin to "will use accept invasive pattern A or invasive pattern B". That is not a technical real trade-off. It is not structure c vs structure d. Rather, it is an intentional making world a worse place to live in.And I still don't hate it.. I hate the people who make it.
QuadmasterXLII: There is a kernel of truth here: programs like CMake, Wordpress, or Electron get insane volumes of hate because they tackle extremely hard, extremely valuable problems half-assedly in a field of competition where no one else manages even a quarter of an ass. The hate stems from usage * not being that good, the usage stems from being the best.I do worry that applying this heuristic at microsoft is unwise, because microsoft is so famously good at getting people to use software against their will- if usage decouples from being the best, then the hate becomes shoved-down-throat-factor * not being that good, which is a very different place to stand and declare onesself to be helping.
mootothemax: I mean, I once turned down a really interesting realtime data processing project because it turned out it was for the military's warships, and I'm pretty sure its target market would've hated the product.But maybe that's just me.
oncallthrow: Maybe you should vote with your feet and work somewhere that isn’t like this.
egorfine: There are different kinds of hated products. Some are hated because they have bugs. Some are hated because nobody wants to use them at all. And some products are entirely a net negative for the world.
egorfine: > The worst products are not hated, they are simply ignoredFalse. Ignored product are not used by anyone thus they don't demand any love or hate at all.The worst products are those into which users are forced against their will. Things like KYC providers are the stuff that everybody has to use and everybody hates.> working on an ignored product is much worseFalse. Working on an ignored product can be extremely cozy because nothing happens except the paycheck.
imtringued: You're mixing up the words engineer and professional.A professional can still be a mere subordinate who just follows orders.I don't know why it's so poulpular to conflate the word engineer and developer to the point where simonw decided to drop the most important word "software" and started calling AI assisted software development "agentic engineering" which is the most absurd oxymoron you can come up with.The person prompting for code is delegating the majority of decision making to the AI. This is the antithesis of engineering. Hence the operator cannot be the "engineer", at best the AI can be the "engineer", if it is smart enough.The word engineering implies a task with trade offs, guarantees and expectations about the finished product. The vast majority of software isn't important enough to even know what the specifications are or what features it should have ahead of time. You throw something at the wall and see what sticks. "Agentic engineering" just accelerates the process of throwing things onto the market.Then there is the fact that "engineering" has become a euphemism for software and nothing else. Anything physical is excluded from the start.Finally "agentic engineering" implies that you're engineering the agent, but you're not doing that either. You're just a user who set up a sandbox and is letting the AI loose.
nvarsj: Everyone's circumstances are different right? It's not always so simple.I worked most of my career in small/med companies. Working in big tech was a bit of an experiment for me.I've also made more money in 3 years than 10+ years prior. Outside of the bay area, it's basically impossible to get the same comp.So for me the tradeoffs are worth it right now. Once I have a good nest egg, I'll weigh the pros and cons and decide if a move makes sense.
ForHackernews: Engineers are only one type of professional: doctors, lawyers and accountants are also professionals who have obligations to their profession before their obligation to their employer.The title 'software developer' is correct. We are not engineers and we are not professionals. Pretending otherwise is a grasp for unearned status.
alexgieg: That didn't use to be the case. In the US many laws were approved in the 1930s that forced businesses to keep stakeholders in mind, not just shareholders. That led the US to become the global powerhouse it became, and its middle class to boom. Then in the late 1970s came deregulation, and those laws were all reversed, resulting in the new two-class system Americans are learning to hate, a new robber barons era very reminiscent of the previous one.Too bad most everyone is lost in the artificially engineered "culture war" to notice they have a common enemy, one who benefits from the proles fighting each other rather than uniting against them.
brycewray: This applies to more than just product engineering. Part of one of my former jobs (retired now) involved writing marketing copy and news releases. I never quite got over how one of my bosses, who would also write some of this material, often told visitors or other company execs that, where our textual output was concerned, “We have no pride of authorship here.” Speak for yourself, I always wanted to tell him, but never did because I needed the paycheck.Interestingly, he lasted there only a year while I made it to nearly 17 years. Go figure.
rednafi: "Their experience is different from mine; therefore, they haven't worked in big tech" is a bit reductionist.While it's true that in large companies you typically have much less agency than you think and sometimes have to work on things that don’t resonate with you, large companies also have many different teams you can switch to.So saying this should be the norm is what people have a problem with. Plus, moving to a different workplace is always an option.If you decide to collect the paycheck and do the work, that’s okay too. But touting it as the norm and saying everyone should do it is gaslighting.
nvarsj: [delayed]
jckahn: > moving to a different workplace is always an option.This is, very often, not a practical option for many people.Have you seen the market lately?
Some beloved features have very shaky engineering indeed, and many features that failed miserably were built like cathedrals on the
aledevv: > Some beloved features have very shaky engineering indeed, and many features that failed miserably were built like cathedrals on the inside.What's under the hood, the people who use the product, don't care.Customers, and ultimately companies as well, only care that the product works, is maintainable over the long term, and is bug-free.Cathedrals in the desert are useless, and over-engineering only complicates things when there's no need yet.I've also seen several successful projects that were actually quite weak behind the scenes, but they were simple and functional.