How Programming Became Needlessly Complex in 2024

I think simplicity is completely underrated as a Software Engineer.

Sure, many people preach simplicity, but they seldom live simplicity.

Here is what I’ve seen going wrong in 2024, and what we need to do to solve this complexity habit.

Artificial Intelligence (AI)

Some programmers have found AI to be a huge advantage and has made programmer’s lives easier. We call these programmers “juniors”.

For most of us, instead of simplifying tasks AI has introduced a layer of abstraction that obscures the meaning of solutions that are then copy-pasted into codebases (with little to no understanding).

AI doesn’t understand the context and nuances of our codebases and introduces bugs and issues through hallucinations or reintroduces the errors in its training data.

In my experience it’s simply automating the copy-paste attitude of the programmers I work with, bringing with it the same level of understanding and code quality.

The Tyranny of Tools

VIM should be enough for any software engineer worth their salt (or Emacs if you’re not a serious programmer), along with the command line.

The simplicity and purity of programming has been replaced by specialized IDEs, linters, formatters, CI/CD pipelines, and plugins.

Some programmers will say you’re ‘wrong’ if you’re not using their favorite tool, and keeping these tools updated and dependencies aligned starts taking more time than actually writing the code.

In my experience, a boss told me I should use Git Kraken so I didn’t need to memorize all the commands. No thanks, a GUI and moving a mouse is substantially slower than memorizing a few commands on the command line, thank you.

The Agile Circus

Agile methodologies were supposed to make software development more efficient and adaptable. 

The fact we seem to use the same old tools for each end every project (no matter the context around them) is a warning sign. The outcome is a circus of daily stand-ups, sprint planning, retrospectives, and endless Jira tickets. 

Developers seems to spend more time talking about work than actually doing it, and we are using tools that are not necessarily effective for their problems that need to be solved.

The Reality of Working from Home Came Home

Working from home felt like a dream, and a silver lining for the Covid nightmare. Gone was the commute, and in came flexible hours.

As time has gone on the blurred lines between work and personal life have began to encroach on our work. It’s hard to stay productive when your cat is sitting on your keyboard.

Then the employers started battling to get employees back into the office for a few scant days every week.

It all represents stress and effort none of us need. Life used to be simple, you needed to go into the office 9–5 MF unless your boss was on vacation in which case you slacked off. That was it.

The Software Engineer Cult of Stuff

A simple office chair used to suffice. Now we are in an arms race for the best-looking gaming chair with lumbar.

Keyboards used to be something to type on. Now you’re not a real programmer without the right mechanical keyboard.

Don’t forget RGB lighting on everything to show you’re a hardcore programmer.

None of this stuff is related to programming at all, and just shows how far we have come from being “simple” programmers who get the job done.

Take Back Control

It’s time to bring simplicity back.

Here’s how you can do it:

Simplify Your Toolset

Stick to essential tools that you genuinely need and understand. Avoid the temptation to adopt every new shiny thing that hits the market, and for those things you do add consider the impact of doing so.

Set Boundaries

Establish clear boundaries between work and personal life whether you’re in the home or the office. Turn off notifications outside of work hours and be good to yourself.

Focus on Fundamentals

Remember that good code is simple, readable, and maintainable. Get a solid understanding of programming basics and implement them in your code.

Limit Distractions

Minimize the RGB bling and other desk accessories that might distract you. Create a workspace that promotes concentration and focus.

Embrace Minimalism

Sometimes, less is more. Spend less time making your kit look cool and spend more time making your code look cool.

Conclusion

Join the revolution. Needless complexity needs to be removed from our coding lives.

Let us focus on the essentials, and actually enjoy programming. That would be a great thing.

Previous
Previous

Only One1️⃣ Thing is True About the Programmer Life Meme

Next
Next

Why Microsoft Should Revive Windows Mobile?