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.
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.
I'm coping through HN Hiring threads to find additional gigs that align with the need to contribute for others with less constraints.
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.
I’ve spent my career finding and working on things people love. I’d join a less stable company to know I’m actually putting products out that are worth spending time on.
This article comes across as coping to me, “it’s okay to ship junk, just comfort your tears by rolling in your pile of money.”
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.
I don't know about the others, but I "hate" Electron more because I don't think the the devs of the software I use should have chosen it. It doesn't have anything to do with the Electron team (I think).
For instance: MS Teams. Microsoft has the skill and resources to develop cross-platform desktop software. They should have done that for something as widely used as Teams.
As a staff swe in big tech your blog posts resonate strongly and reflect my own experience. But I can see if I didn’t have that experience I’d be unable to relate or even understand.
Maybe it is nihilism - but I think that’s also a natural result of working for big corps.
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.
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.
Honestly 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.
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.
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.
Sure, in the end we work for these faceless, meat-grinding machines. But more or less, we all have some semblance of autonomy, and I absolutely can choose not to work on a product that people hate. I can switch teams before switching companies.
To some extent, I also just do what leadership asks, keep my mouth shut, and collect paychecks. But whenever that happens, I don’t gaslight myself by writing a post on why it's supposed to be this way.
To me, this seems like someone who is married to their paycheck and would do whatever necessary to protect that.
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.
Now, whoever worked on Oracle DB or Oracle Forms, or Oracle ADF, now those are some products I hate for a variety of reasons!
False. 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 worse
False. Working on an ignored product can be extremely cozy because nothing happens except the paycheck.
It was a popular brand and I suspect it probably sold well. The mind-boggling dysfunction may not have been obvious at a glance when the consumer made the purchasing decision. The UX was so bad, I still have nightmares about it.
As I was trying to use the damn thing as a user and kept running into one hurdle after another, it triggered a flashback of my experience of debugging complex software as a software engineer and I thought to myself "F***, I chose the wrong career. I'm cooked. The user doesn't care. The user doesn't care AT ALL." In that moment, I understood that getting replaced by AI was the least of my problems. Far bigger problems had been there since the beginning. I just didn't notice them.
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 that their work sucks.
Anyway it just made me realize how unmeritocratic this industry is. We could do a great job or a horrible job and most of the time it has nothing to do with career progression and opportunities.
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.
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.
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