Engineers, stop wasting your time

Time: our most valuable asset. Yet, so much of it slips through our fingers without us even realising it.

In my 15 years working in software and data engineering, I’ve noticed a few recurring time drains that tend to trap even the best teams. Here’s how we, as engineers, can find ourselves wasting time — and some insights on how to avoid these traps.

Photo by Kenny Eliason on Unsplash

1. Working on the Wrong Things

One day, our manager said, “Your problem is time management!” So, naturally, our entire 20-person team was booked for a full-day time management training — because what better way to tackle our busy schedules than by losing 20 workdays all at once? But what did we actually learn? Three things:

  1. Reject it.
  2. If you can’t reject it, delegate.
  3. If you can’t reject or delegate, plan it.

Sounds straightforward enough. But in reality, rejecting or questioning work isn’t always encouraged. A good manager enables their team to say, “No, this doesn’t make sense,” or at least ask, “Why are we doing this?”

Years ago, when I was a student, I worked part-time stacking shelves. One day, my manager asked me to make a small cut in each snack package to “fit more on the shelf.” I knew it didn’t feel right, but I still did it — because challenging the directive didn’t feel like an option. How often do we, even as experienced engineers, fall into a similar trap of “just doing it” because it’s easier than questioning?

Whether it’s creating reports no one reads or building features that never get used, doing meaningless work just because it’s assigned is a massive time waster.

Takeaway: Cultivate a team culture where “no” is an option, so energy is focused on valuable work.

2. Using the Wrong Methods for the Right Things

In my early days as an engineer, I helped roll out an agenda system for a government agency. Our customers were frustrated with one particular module, claiming it was “unusable” due to its poor performance. One user even joked about going for a smoke break while waiting for it to load.

My colleague and I dived into debugging, optimizations, and SQL tuning, releasing updates with each iteration, but the complaints kept coming. Finally, I tried a different approach: I "got out of the building" and I met with the end users. Within five minutes, I found the real issue. A dropdown menu that worked fine in testing had hundreds of items in production, freezing the entire page when used. The fix was simple — a JQuery search function — and user complaints disappeared.

The lesson? Sometimes we get so caught up in familiar methods and tools that we miss simpler, more effective solutions. In another role, I experienced this again. To address data quality issues, we created a custom framework from scratch instead of exploring open-source options that might have saved us time and delivered faster results.

And here’s the catch: As software engineers, we love building new things, experimenting, and immersing ourselves in our tools. The challenge is that sometimes this enthusiasm blinds us to the actual needs of our users. When we focus too much on our “toys,” we risk creating overly complex or unnecessary solutions that miss the mark. While engineering is about problem-solving, it’s crucial to remember whose problem we’re solving — and to ask ourselves if we’re addressing it in the simplest, most direct way possible.

Takeaway: While building and experimenting is part of the fun in software engineering, stay focused on user needs. Effective solutions come not just from technical skill but from choosing the simplest tools and methods that solve real user problems.

3. Too Focused on Doing the “Right Thing” the “Right Way”

I once thought I was uniquely unlucky in dealing with the endless “waiting game” — waiting for a new department head, a strategy approval, or an architectural decision. But at a recent engineering leads meetup, I asked if others experienced this too, and almost all of the attendees raised their hands.

When I joined a large corporate team years ago, we were in a “ramping up” phase with no defined goals or kick-off. Our stand-ups were filled with people sharing random technologies they’d read about, and after a week of this, I had enough. I gathered a few colleagues and proposed a “demo sprint,” where we worked on a prototype UI using different JavaScript libraries.

Did we work on the right things? Did we ultimately use this work? No. But we learned to work as a team, agreed on version control strategies, and our efforts became a valuable reference for other teams. This experience taught me that overthinking and hesitating — often out of fear of doing the “wrong” work or using the “wrong” tools — can paralyze progress.

It might sound ironic that after emphasizing the importance of doing the “right thing” the “right way” in points 1 and 2, I’m now saying not to overthink it — but it actually makes sense. Sometimes, our concern with perfection becomes the very thing that stops us from making progress.

In software engineering, we often fall into the mindset of construction architecture, where mistakes can mean costly wasted materials. But in software, mistakes rarely waste anything but time. This difference gives us the freedom to experiment, iterate, and explore solutions more freely. Instead of getting stuck overanalyzing, we should embrace trying things out, knowing that a wrong turn can teach us something valuable. If we’re too hesitant to move forward, we risk missing those lessons entirely.

Takeaway: Don’t let fear of the “wrong” decision stall progress. In software, experimenting and iterating teach us more than waiting for the perfect plan. Taking action, even small steps, is often more valuable than waiting for certainty.

In Conclusion

We engineers often waste time in three key ways: working on the wrong things, relying on wrong methods, or hesitating out of caution. By becoming aware of these traps, we can shift toward a mindset of action, experimentation, and continuous learning. Sometimes, the best way to save time is simply to dive in and get started.

Let’s take a look at our own team’s time traps. By recognizing and addressing them, we can focus on impactful work, choose tools more wisely, and create a culture where we feel empowered to move forward with confidence.