So this morning I was taking a shower while listening to Coldplay which I had instructed Siri to play throughout the house and it just so happened to play one of my favorite songs: Clocks. Why is this one of my favorite songs? Well like so many of my favorite songs it comes down to a single line within the lyrics that just happens to resonate with me:

Am I a part of the cure? Or am I part of the disease?

In the dwindling days of the twilight of my career in tech I spend a lot of time brooding on this concept. A much younger ITF used to tell himself that he was making a difference and building tools that allowed people to reach greater heights. However the rigors of age have worn the sheen off that beautiful thought and revealed a much more sobering truth: I’m mostly building crap. Sometimes I’m just maintaining crap.

As I have said before I am ye olde tender of yon dumpster fire.

Even now, near the very end of the path, I have to fight against this trend of en-shittification. Now I can’t reveal too much but one of the many things I’m developing at work are the backend apis that will power a data entry experience that is very grid like. Some might even say, “Excel like”. Anybody who has been in software engineering more than five minutes has been down this road and knows its a poster child for virtually everything that’s wrong with this industry, doubly so on the enterprise software level.

Why? Well building a web app with a grid interface inevitably leads product people down a road in which they somehow idiotically attempt to recreate Excel in the web browser. To be clear, a grid can be perfectly fine for data entry. It’s a practical UI component. But when going down that road you really need to start off with a clear vision and have a solid sense of self control otherwise the project is going to go right off the rails. Sadly my current project seems headed down that latter path.

To be clear: It’s a data entry experience. Not a spreadsheet experience. Not a calculation experience. It’s meant to allow the user to manually key in a lot of boring but important financial data in as efficient a manner as possible. That used to be the primary goal. In addition we are dealing with data structures that aren’t well documented and behaviors within the fields that are also not well documented. So a lot of this process requires me to spend time analyzing the current code and determining how to handle a variety of situations and edge cases. It’s deep, painful and requires a lot of focus time. But alas the product and user interface people keep percolating up ideas about secondary features and distracting us from the task at hand. Here are few examples:

  1. “What if the user needs to do some quick math? Maybe we should add support for executing formulas and doing basic math for them!”

    Note: This is why modern computers all have calculator apps.

  2. “What if the user already has this data in an excel spreadsheet? Maybe we should allow the front end to parse an excel spreadsheet and automatically fill in the grid!”

    Note: We already have a spreadsheet based import process. While it’s not amazing, it does work well enough.

  3. “What if the user wants to see a live audit of every single change that has been made? Oh sure there is a standard scalable company wide solution that’s about to come online for that but we’ve decided we don’t like it and should just build our own maybe.”

    Note: They don’t have this now because this particular data entry component feeds into one of our largest most critical data stores as a company as its a primary revenue driver. Designing an entirely separate audit log system for it is a massive engineering uplift, but product doesn’t seem to care.

  4. “What if instead of locking the group of data the user is inputting data for to a single user, we add support for concurrent editing like in Google Docs?”

    Note: Locks exist for a reason. Doubly so when it comes to important financial data.

Needless to say, I’m not impressed. In addition I’m working on this project with one other co-worker. I’m doing the backend and he is doing the frontend. But he hasn’t had any time to really use and get to know the APIs I have been producing because the product and UX people have him spending every waking moment putting together fake mocked versions for “end user testing”. This results in him asking me a bunch of questions about how future endpoints will work and look which are based around parts of the process that I haven’t had time to adequately research much less code yet.

Yes that’s right. End user testing for what is currently a fake product. I really don’t understand that. But maybe that’s why I’m not a billionaire and instead longingly gazing into an abyss of burnout that I’m beginning to relish the thought of falling into? I’m half kidding of course. But I really am tired of dealing with the same old stupid kinds of shit after 25 years. Scope creep is real and people just can’t help themselves. This trend has only gotten worse as tech continues to position itself as some sort of assembly line for magic and miracles. That’s because we have gotten high on our own supply of bullshit.

So what’s the answer here? Am I part of the cure? Or am I part of the disease? What would Chris Martin say about it? I don’t know honestly. However if I was to describe the behavior of Product and UX in this situation I would describe it as follows:

Veronica from Willy Wonka screaming 'Dont Care How, I Want It Now' before she goes where all the other bad eggs go

The reality is that I said I wanted to work in the industry another five years and call it. I’m about a year and a half into that plan and honestly? Four more years seems like a really long time right now. Do I really have what it takes to to play the role of tech cog who continues to look the other way for that much longer? I guess we’ll find out together. At the rate the country is going down the toilet, maybe it won’t really matter for that much longer. Refugees don’t tend to make for great software engineers because they are too busy fleeing from the oppressive regime that decided to ruin their lives.

I guess the conclusion here is pretty obvious isn’t it? I’m part of the disease. I hate typing those words. It’s an admission that really just shatters 25 years of effort and time. I thought I was building awesome things. I thought wrong. To be fair they weren’t all bad but the exceptions only serve to reinforce the impression of the general trend.

The software industry has been co-opted by charlatans and snake oil salesmen. Engineers like me are paid enough to look the other way. Some of us last longer than others. Those who don’t go on to do something completely different. Those who do tend to transition into other parts of the machine such as management. But the universal constant is that virtually everybody I know who has been in the business of writing business / enterprise software for the last few decades feels essentially the same way about it. I don’t even have to ask them. It’s written all over their face on their video feed and hinted at in the wavering tone of their voice in their audio feed during each and every Teams meeting.

The veterans all know the score. It’s just a matter of who cuts loose first. Will I be that guy? Stick around and find out.