As a Software Engineer, there’s a remarkable amount of stuff that gets in the way of doing your actual job. Chances are, you didn’t learn to code so you could attend standups, give status updates, or answer a PM’s “quick question” that turns into an hour-long discussion.
While you can’t add a 25th or 26th hour to the day, here are three ways to devote more time to writing code while accomplishing everything else you need to do.
This tip is counterintuitive. How can you code more if you’re not at your desk? Developer productivity isn’t about writing more code. If anything, code bloat is something to avoid. The key is writing better, leaner, cleaner code.
In The Psychological Importance of Wasting Time, Olivia Goldhill writes about how by trying to wring every drop of productivity out of every second, we’re missing out on our ability to enjoy life. Not only is enjoying life good on its own, but it also turns out to be important to productivity and creativity.
The World Economic Forum predicts the top three most valuable skills in the future of work will be complex problem solving, critical thinking, and creativity. Anxiety and depression inhibit your ability to work toward goals, solve problems, and reason effectively. If you want to be creative and productive, you need to take care of your physical and mental well-being.
“I’ve solved more problems during long walks than in front of a computer,” Android and iOS developer Anupam Chugh wrote. Chugh recommends doing whatever you can to not just sit and stare at your screen all day, including the Pomodoro Technique and chugging water so you have to get up.
Here’s the bad news: You’re not going to be able to get out of non-coding tasks completely. The good news is that you can spend less time on these tasks without sacrificing output. The key is efficiency.
One of the best ways to boost your efficiency is to waste less brainpower on context switching. Research shows that when you switch your attention from context to another, say from a Facebook argument to a coding problem, a part of your brain continues to think about the Facebook argument for around 20 minutes, on average. Since you work faster when your whole brain is engaged in a hard problem, your productivity suffers when you switch context often.
To reduce context switching, time block your calendar. Assign blocks of time to specific tasks and only work on those tasks during those blocks.
To make time blocking more effective, try grouping similar tasks together to reduce the mental strain of context switching. Rather than swinging wildly from bug fixes to new features, try to batch all your like tasks together so your brain can stay in the same mode as long as feasible.
To make it even easier to avoid unnecessary context-switching, you can set office hours instead of allowing notifications to interrupt your flow.
Here at Clockwise, we’re fans of the “No Meeting Day.” Each Wednesday, we focus on heads-down work, free of distractions. Companies like Shopify, Facebook, and Asana all use No Meeting Days to increase productivity and reduce stress. We even built Clockwise to make setting up and protecting your No Meeting Day much easier.
Just install Clockwise (it’s free!), set up your team, and choose a day. When someone at your organization tries to schedule a meeting on that day, Clockwise will automatically suggest a different day. Not only that, but Clockwise will also suggest the least-disruptive time available, automatically.
However, there’s another way to do things to get the same effect: The All Meeting Day.
Just like it’s mentally taxing to switch contexts, it’s hard to toggle between heads-down work and meetings. Rather than letting meetings interrupt your focused work all week, try scheduling all your meetings on one day so you’re in meeting mode all day. Then, you’ll have longer stretches of Focus Time on your other days.
You’ll always need to do a certain amount of non-coding work. The key to maximizing coding time is to tick through your other tasks as efficiently as possible. Getting away from your desk, time blocking your calendar, and implementing a No Meeting Day or an All Meeting Day will help you work smarter, not harder on your non-coding tasks. That way, you get through them faster and quickly get back to what you love to do.