Don't Let Dev Work Destroy Your Soul
Let’s get real. We all started coding because we had a dream. Between being a complete code noob to becoming a semi-proficient dev, our dreams got lost and sidelined by the job requirements, the daily standups, the meetings, and the day job. By the time the sun sets and we finally get home, we have other life obligations, like conversing with our other half.
Then one day, we wake up and realize that we are no longer feeling inspired by a thing called code and life suddenly becomes a grind. You suddenly feel stuck, and unable to move because you are financially married to your day job. You can’t quit. You can’t imagine yourself in a different department or field but you know you want out. Your brain can’t process the conflicting messages and short circuits just thinking about it.
At some point, working on code had drained your spark — the thing that made you curious and ignites a certain level of wonderment.
How did we arrive at this point? And how do you fix it?
The Misconceptions About Code
At the beginning of our careers, the concept of what code is sitting in a dark gloopy, and vague space. We know it’s a necessity for programming and creating software, but that’s as far as our understanding of what code is.
Code is actually a representation of ideas.
Software development is its manifestation. When we work for someone else, we are translating their ideas into something that is tangible in a digital format. That’s our expertise. Your boss is in the market of creating and selling the actual products and or services. The software you create is the facilitator between customers and the business.
The spark motivates you to turn up every day on both a physical and mental level. When your spark deteriorates, making your way into the office may be harder and harder each day. At some point, you might resent your job, if not outright hate it.
Why does this happen? Here are a few reasons:
- the code you are creating doesn’t support your values
- the project/job doesn’t nurture your curiosity and has become repetitive
- you’re working on what you deem ‘stupid things’
- there’s too much internal organizational drama
- other departmental roles have somehow encroached into your job description
- the job is too much of a time and mental drain
The issue here is not because coding sucks. Rather, it’s because the task of turning the needs of others into bits and bytes involves too much or too little processing on your part.
This can lead to burnout — a state of extreme exhaustion that’s induced through prolonged stress and ignorance of our mental, emotional, and physical needs.
Reigniting Your Spark
Burnout is not fun. Sometimes it sneaks up on you through 60-hour workweeks. Sometimes it creeps in through random little tasks and requests that eventually dominate a majority of your time. On the side, you might also try to keep up with knowledge inflation. When you add it all up, it just becomes too much for a person to handle.
And there’s no shame in that.
As a society, we’ve moved to glorify long work hours and excessive productivity. However, the ability to clear your inbox every day is not true productivity. Maybe it is for marketing and sales, but not for a developer. Our job is to translate ideas, not answer emails.
When you feel like your spark is threatened — the thing that makes you enjoy your work, life, and the act of creating software here’s what you need to do.
Collect the data
At some point, we get lost in the process of ‘working’. This means going to meetings, having ‘watercooler moments’, helping others, answering questions and whatever else that sucks up your time.
Sometimes, it's hard to know exactly what is taking up your time. You’re probably stressed because the time sinks are forcing you to work longer on your actual tasks. They are time sinks because it doesn’t add value to what you’re trying to achieve.
The easiest way to figure out your time sinks is to track them. Track your day for a whole month and see where it all goes. On the days you feel most productive, what exactly were you doing? What did you achieve? Who is the culprit behind your time sinks?
Tracking your time gives you the data you need. When we estimate, it creates an inaccurate picture of the time proportions. What you thought was a few hours might actually be several blocks of 10 minutes throughout the day that adds up to 75 minutes. When we try to perform the same task but in broken time blocks, it can often feel like it's taking longer than we actually think it does.
Don’t just limit your time tracking to just your working hours. Track your entire day. This is important, especially if you think your work is encroaching on your off-work hours.
Analyze the data
Once you figure out where your time is going, decide if your time profile matches what you think you should be doing. This is achievable by prioritizing your needs on a holistic level.
What this means is that you need to uncover and prioritize your values and what you actually want to work on. If your workplace doesn’t have opportunities to do this, it might be time to find a place that will.
Look at your time and decide what unnecessary or unimportant things are deductible from your day.
This can be done by the following:
- delegating it or reassigning the task to someone more relevant
- tell your team lead or boss if the issue is a person, or just ignore it.
For me, ignoring it came in the form of answering marketing emails only on Tuesdays and Thursdays between the hours of 9:30am to 10:00am. After a few weeks, the delayed responses taught marketing to be more self-reliant in figuring out how to solve the simplest things like how to make a heading in WordPress or add images.
When you delay your responses to unimportant tasks for your job, it makes the other person more efficient in theirs. In part, this is because there’s a misconception that because you’re a developer, you can fix every little problem that a non-technical person faces.
This should give you more time to work on the really important things. When you protect your time, your true productivity will increase, allowing you to experience more flow in your coding process and unlock the high that we get from figuring out something or finishing a task.
Make time for your passion projects
For many of us, we became a developer because we had a dream. It might be making that app or that game. Whatever it is, don’t forget it. Don’t get distracted and sidelined by work, life, and whatever obligations we find ourselves in.
Make time for your passion projects.
MVP it.
Incorporate it into your learning process and let it help you upgrade your skills. Learn ancillary skills that are not part of your usual day-to-day job. If you’re a frontend developer, this might be the perfect opportunity for you to learn how to build APIs.
If you’re a backend, it might be good to develop your design skills. If you’re already full-stack, it might be a good opportunity to diversify into the cross-sectional parts of materializing and monetizing an idea like marketing, SEO, community building, and branding.
It doesn’t matter what kind of developer you are, there’s a high chance you won’t have all the skills and knowledge necessary to build that thing. When you work on your passion projects, it gives you the opportunity to extend your edge of knowledge and make something out of it.
Final Thoughts
When our spark gets drained, it’s not the code’s fault. Rather, it's the environment that we find ourselves in. We make our general ecosystem up of people and how they utilize our time. If our environment is not using our time effectively, we may feel like we need to make up for it in our own unpaid hours.
When you protect your time, you are protecting your spark.
Time sinks do not work, nor is it contributing to your efficiency and effectiveness as a developer.
The best solution is to figure out where it all goes and protect it ruthlessly. You are in charge of your time and how you use it. Don’t let others hijack it from you. You are a developer — not everyone’s tech solution.
It’s ok to say no, or just ignore it completely.