Deep Work for Developers

Deep Work for Developers

by   Bryan Riley  |  March 13, 2019  |  0

Recently I’ve been tasked with a lot of research topics, which can be time-intensive and demanding without proper planning and management. I usually plan out my tasks for the day using a technique I call “TaskTreeing,” which divides larger, more nebulous tasks into discrete subtasks with specific time estimations. You can see me break down this technique in more detail in the video below:

However, the tasks I’m working on don’t always fit the criteria that make TaskTreeing an effective tool. There is a task, sure, but I’m just doing research; because the task doesn’t require new implementation or refactoring, the “time” aspect is irrelevant. Okay, maybe irrelevant is a strong word, but its importance is greatly decreased, though I do have to produce some kind of findings through my research. My task is transformed—it is now basically just studying.

Metamorphosis aside, tackling this required a transformation in my approach as well. Since I can classify my activity as studying, I adapted the techniques I used in high school and college. This is where the Feynman Technique comes into play. It’s a simple but powerful tool for solidifying your understanding of a concept by essentially “teaching it” to someone else—or at least acting as though you are—in order to test how much you actually comprehend. It’s also a great way of exercising how long you can focus on one task, take a break, and repeat. A more in-depth look at the technique can be seen below:

Adapting this approach has been great for learning new technologies. One issue I did have was keeping time on my phone or computer outside of my browser window. Going through Spring documentation with headphones on and alternating tabs/switching windows affected my focus. When aiming for that “deep work” state where everything is making sense and epiphanies are numerous, looking away isn’t optimal. Studies show that a screen cluttered with tabs can severely limit productivity and lead to numerous micro-interruptions that can make refocusing increasingly difficult. Going to an alarm site would be easy, but where’s the fun in that? Instead, I used the Feynman technique to learn Chrome Extensions. It was a fun experience in an area I’ve been interested in for some time. The extension I developed, named after the namesake of the technique, is called Feynman.

Whether it’s through Chrome extensions or any number of other vehicles for implementation, my hope is that adapting proven concentration techniques becomes more popular among developers. With an ever-changing ecosystem of responsibilities (Dev Ops, CI/CD, TDD, etc.), learning (and learning efficiently and productively) is more critical than ever. Establish positive study habits on your own time, then apply those to work. Keep track of your progress too, because training focus is like training your muscles; you’ve got to do it regularly to stay fit and get stronger. Good luck, and let’s work deep :).


Sign up for InRhythm updates: IR events, tech news, and more!

Leave a Reply

check out our new interactive scrum framework