Building software for the trash

If you are a software developer, then you have probably found yourself in this situation, where you build a piece of software that never gets used. The patterns are similar — It could begin with a new idea or your project manager discussing the possibility of a new idea/task, the thought of how it would look when complete, engulfs you as your creative juices begin to flow. You take your time breaking the goal down into little tasks that you arrange in a beautiful project management tool with associated tags. You are a consummate professional after all. You take your time building, writing tests along the way because, TDD, duh! A couple of weeks go by, months even, and when you are done, your tiny piece of software lives. It lives 🎊 🎊 🎊. But then the software never gets a look, forget about it being used.

Yea that happened to me so much I coined a term for it, the title of this article. The rest of this piece details my past experience with this phenomenon and what I learnt in the process of building software for the trash.

I was part of a team, let’s call it Team Awesome. Team Awesome was actually awesome because every team member was awesome ❤️. Our team lead, let’s call them Awesome Lead, had really cool ideas of what we needed to build. I began my first task of building this wrapper tool, let’s call it Awesome Tool. Awesome Tool was meant to automate some of the things we did by hand, as a result of architectural technical debt.

After about three months of research and learning, I finished building Awesome Tool and was really proud of it 🎊 🎊 🎊.

Out of excitement, I asked Awesome Lead about using Awesome Tool, as I wanted some sort of feedback based on its usage. Awesome Lead said they would let me know when we could start using it. A side effect from working on Awesome Tool was a blossoming interest in building Infrastructure tooling, and although desperate for feedback on Awesome Tool, my desire to create more won and I moved on to a new task, a new idea. And though I asked a few more times about Awesome Tool’s status after a while, it became glaringly obvious that we were not going to use Awesome Tool :(

I continued with building more tools, that never got used. 😢

The effect of this cycle of building for the trash was a hit on my motivational levels, and so it was that my once brimful creative juices were at an all-time low. I stopped looking forward to work :(

As the saying goes, “One man’s trash, another’s treasure”. One of the many treasures was that I got the chance of learning while working on things I had not done before. Another was the luxury of time. Building for the trash came with no sense of urgency. I spent all that “free time” studying and refining my career objectives.

It is easy to lose motivation at what you do, especially when it always gets thrown into the trash or goes unseen by the intended audience. But, it is essential to find something that you enjoy doing, in the meantime, to keep you going.