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.
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.”
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.
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.
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.
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.
Now, whoever worked on Oracle DB or Oracle Forms, or Oracle ADF, now those are some products I hate for a variety of reasons!
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.
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.
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
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.