Dealing with "Boring" and "Low Challenge" Tasks as a Software Engineer
Boring and low-challenge tasks can prove to be valuable opportunities to explore the "Zone of Automation". 🤖
As a software engineer, get used to doing boring things. The key is to have fun doing boring stuff, and doing it well consistently. Not everything you work will be super interesting, but you can deliberately make things fun for yourself or just get into the routine of getting things done (Zone Of Automation). There are some more tips which I have mentioned in the remainder of the article.
Here are some ways to deal with boredom when building software. These are applicable to the “boring and low challenge” tasks.
Have a get-it-done attitude: Focus on simply getting things done as per the specified requirements. You might have extensive experience on the stack and it might not be a super challenging problem you're solving, but make sure you focus on simply getting the job done. A job done, is a job accomplished, and procrastinating will simply make things more boring for you. So just soak it up, and go get the job done.
Looking Beyond The Code: Even when writing code that's boring, you can look beyond the code and follow good programming practises. Implement and understand SOLID principles, and don't just write naive code to complete the task, make it challenging and interesting for yourself.
Zone of Automation: You can use these opportunities of boredom to get into the Zone Of Automation (Atomic Habits reference). The Zone Of Automation is a zone where you're so good at doing the task that it doesn't present a significant challenge, so you just get it done without much thinking. Think critically when writing every line of code, and look beyond the basics to gain further insight.
Generalisation as “side project fodder”: It could be the case that you're solving a super specialised problem, or a problem that belongs to a larger subset of problems. Identify that! Use that as "side project fodder" and build something that solves a larger problem. Example: I was working on a custom form, where we wanted to run custom transformations on the data so that it directly gets stored into MongoDB instead of building a pipeline from Google Forms -> MongoDB. Then I realised that this problem of integrating forms with a standard database is a common problem and decided to work on a more general solution (outside the task, 1 is still super important).
Use boring tasks as a means to relax, enjoy and just cruise through: You can just cruise through boring tasks. Don't classify a task as "boring" or "interesting" but just take it for it's merits and get it done (1). Relax, listen to some music, write down important pointers, and just grind away writing code. Since "boring" tasks may not require a lot of active thinking, you can just sail through in the zone of automation (2).
A last note, boring doesn't mean "not challenging". I'm specifically referring to the "boring and low-challenge" tasks here. "Boring and high challenge" tasks need to be dealt with differently. I'll write a separate post on this framework of understanding Software Engineering tasks some other time!
— AdiPat ✨
If you're looking for someone to build your startup MVP, contact me!
I actively work on Open Source Software, check out my GitHub Profile. ✨
Follow me on Instagram (@adityapatange), I talk about tech, meditation, startups and hip hop! ⚡️
I write byte-sized insights on Threads to supercharge your day. 💡