Anubhab Swain, Developer

Coding Requires Thinking (Shocking, I Know)

As a software engineer, I’ve noticed a major challenge with increased remote work - losing out on dedicated thinking time. With more meetings and communication needed to stay aligned with the team, along with inefficient tools like endless Zoom calls and docs, I find myself spending way more time communicating than actually coding and thinking through problems.

For us coders, my experience is that our workflow really breaks down into three key phases: Thinking, Coding, and Communicating. I do my best work when I can allocate around 50% of my time to thinking through logic and approaching problems, 30% for actually writing and testing code, and 20% for communicating with the team. But remote work has made hitting those targets nearly impossible.

The Communication Black Hole

Remote setups have forced a sharp spike in the amount of time spent communicating, since we miss out on those casual hallway run-ins or desk convos where we could quickly sync up. Of course, the coding still needs to get done, but many of us feel super guilty if we’re not physically pounding away at the keyboard every second.

I’m definitely not alone in feeling the impacts - my days are dominated by meetings to communicate, with small pockets to actually code sprinkled throughout, and the only thinking time left is after I’ve technically closed my laptop for the day. By dinner time, my brain is still trying to grind through coding puzzles.

Think Together, Code Together

Since we’ve lost those spontaneous collaboration opportunities that came with office life, we have to be really intentional about creating those spaces virtually and rethinking meetings. One thing that’s worked well for my team is a weekly 45-minute “Think & Code” session where we all hop on a call, share a coded cloud desktop, and work through problems together in real-time. It’s like a super productive virtual workroom! This has several key benefits:

  • We drastically reduce excessive back-and-forth communication since everyone is there thinking through solutions collectively.
  • The coding work gets distributed, relieving individual burden and increasing overall output.
  • Having multiple brains engaged boosts our creativity and ability to devise novel solutions compared to working solo.
  • Finding more of these co-working opportunities to combine thinking, coding, and communicating in one session is huge for freeing up individual focus time.

The Power of Solitary Thinking

Okay, so if group sessions help reclaim time for solo work, how do we actually capitalize on that time for serious, focused thinking? Work loves to expand into whatever space you give it, so we have to be proactive about dedicating intentional thinking sessions.

There’s no one-size-fits-all since we all have unique living situations while working remotely. Maybe you’re still adjusting to the home office life, juggling family/roommates, or struggling with the lack of social interaction. Regardless, I highly recommend taking breaks away from screens to let your brain reset.

Even doing mundane tasks like starting a load of laundry or taking the dog for a 30-minute walk provides that precious uninterrupted, screen-free time to let your mind wander and process thoughts more effectively. We have to embrace the reality that deep thinking is legitimate work. Ditch the guilt about not being glued to an IDE, and recognize that in most technical roles, your brain’s processing power is the most valuable resource. Give your noggin the dedicated space and time it needs to do what billions of years of evolution crafted it to do best - solve problems through uninterrupted thinking!

Timeboxing for Health & Productivity

Studies confirm that routinely getting less than 8 hours of sleep per night has seriously detrimental effects on our cognitive performance, emotional regulation, overall health, and ability to learn new skills. In fact, after just 10 days of only 7 hours of sleep, our brain faculties decline to the same level as someone who has pulled an all-nighter and stayed awake for 24 hours straight! Even taking a short afternoon power nap helps “save” newly-learned information by transferring it from temporary storage to long-term storage in the brain, boosting our ability to absorb more new info later.

It’s completely reasonable to split your day into three 8-hour chunks - 8 hours for sleep, 8 hours for work, and 8 hours for personal life. Any work that can’t fit into that 8-hour block has to wait for another day. You’re a human, not a machine (unless Skynet has already won, in which case, my apologies).

When asking teammates to commit to projects and tasks, we should keep these human constraints in mind too. Many of us are already maxing out our 8 working hours, so we can’t just keep carelessly piling on more work. There has to be a respectful trade-off discussion. Get comfortable openly setting boundaries like “I can allocate roughly X hours for this task” and actually timeboxing that work accordingly.


The bottom line? Thinking through problems is THE core part of a software engineer’s job, not an optional bonus round. It’s high time we start treating it as such and protecting time for our brains to operate at full capacity. Let’s start giving our grey matter the time and space it truly needs to do what it does best - think!