This blog was written by Detroit Labs Product Architect Janani Subbiah.
Janani is a Product Architect at Detroit Labs with experience building back-end services and Android apps. She is currently part of the Labs Cloud team which empowers developers and our clients to build powerful, secure, and scalable applications. You can read more from Janani on her blog.
If you currently are or have ever been a software engineer, chances are you have had to adapt to the ever-changing software industry and “throwaway” work (I will explain the quotes in a bit). You may have had to throw away work because you don’t need it anymore, or because it doesn’t make sense anymore, or because someone decided to provide it via an open source. No matter the reason, such scenarios can be frustrating. After all, a lot of time and energy went into that work. A tiny bit of pride, too.
So to get back to clarifying: when I say “throwaway” work, I mean any work/code/project that took up time and energy but is no longer needed, for whatever reason. When this happens, the resulting frustration is proportionate to the amount of time (or sometimes planning) that went into the work. One way to deal with it — which I don’t recommend — is to hope that will be the last time it happens. This strategy may help you cope in the moment BUT does not prepare you for future recurrences.
In my opinion, there is a different strategy — or group of strategies, really — that I have found useful every time a piece of software I put my soul and energy into never sees the light of day. Whenever it’s time to wrap something up because it’s no longer relevant, I try to focus on what I can get out of it versus what has actually happened. I still struggle through phases of “Why did this have to happen” or “WTH.” I am not here to preach that this is easy and we all should do this. Rather, this blog is meant to share what has worked for me, though it continues to be a conscious effort every single time.
The first thing I like to tell myself is this: It is not really throwaway work if you don’t want it to be. This helps me focus on what can be versus what was. What can I turn this into? How can I make this experience more useful? More importantly, “What can I get out of it right now?”
In the past, these questions would come up blank. I couldn’t think of anything I could do except developing a more healthy acceptance toward unexpected changes and unlaunched projects. But more recently I have been able to come up with a few things that, in my opinion, help add more meaning to that experience as opposed to merely viewing it as unfortunate.
And with that, let’s jump right in!
Write a blog post
If writing is your thing and you enjoy it, you should absolutely share your learnings and experience from the work that was done. There is nothing that can change or take these away from you. No matter the current (or future) state of the project, the experience you went through remains. It happened. Surely you learned something from it. And that is totally worth sharing. Just make sure to leave out project specifics if need be. Writing a blog post will help you share your experience and provide comfort to anyone in the same boat. The latter is priceless!
Some ideas for blog posts include:
- Cool technologies you explored
- Any new patterns/principles that helped with building your app
- New or innovative processes that helped move things along
Speak at a conference
Personally, I find it much easier to write than speak. So when I think of ideas to share, my first go-to is a blog post. I find that the writing path provides a lower barrier to entry as opposed to speaking to a crowd. But if speaking is your thing, or if you are looking to make it your thing, you are already halfway there because you not only have a topic to talk about, but also have your content ready! You just need to put all your thoughts, learning, and experience into a presentation and apply to conferences — it’s that easy! Speaking at conferences can open doors to so many avenues in your career. It can feel daunting at first, but it’s absolutely worth trying.
Dissociate your feelings from business decision/value to users
This idea has helped me so much personally. I tend to get frustrated a little too easily when I am passionate about something and that thing does not go well. So what do I do? I stay frustrated. I find that it takes me a long time to break out of that frustration. In order to speed up the process, I tried something new recently:
- I started writing about the throwaway work. Everything about it including my feelings and the decisions that led to the outcome.
- I then identify my feelings from that list.
- I move my feelings into a separate “This is how I feel” list.
- I went through the original list again.
At this point — depending on how things went down — if there was a logical reason for shutting down the project, then you are processing it more logically by separating out your feelings and bringing facts to the surface.
The takeaway for all future endeavors
I am tuned to think of lessons as technical in nature. It took more than one throwaway work project before I realized that I was ignoring some wonderful learnings that came in the form of my experience. While I cannot always control what work gets shut down or when we stop working on a certain project, I can control how I feel about it and prepare myself for any such future occurrence.
I am not going to pretend like the frustration associated with “throwaway” work is going to go away if you try any of my suggestions for dealing with the aftermath. But the hope is every time it happens, you are better prepared and you have your previous experiences to rely on in reacting to it!