I find myself very lucky to be a software engineer. I enjoy solving problems with code, and it usually doesn't require any effort to go into "focus mode". Quite the opposite - it's sometimes hard to stop thinking about that tricky bug and close my laptop.
Still, there are situations when distractions and multitasking prevent me from achieving what I want. I have a few tricks in my toolkit to restore focus and attack the problem, even if it's a tough one.
What is the focus mode
Focus mode is a tool to handle certain types of work. Like a hammer or a needle, it's helpful in some situations and harmful in others. Focus mode is never the end goal. Before trying to focus, I need to figure out what and why I want to achieve with its help.
To focus means to keep our full attention on one thing for a long enough period of time. I haven't met any person who doesn't know how to do it. We all constantly go in and out of focus, naturally guided by our interests and curiosity.
Beyond focus, we can sometimes fall into the flow state, a highly intense and rewarding experience of full immersion in a particular activity. Mihaly Csikszentmihalyi studied the flow state his whole life and wrote a comprehensive book on the subject. What's crucial for this article is that the flow state usually requires focus as a prerequisite.
Mental state in terms of challenge level and skill level, according to Csikszentmihalyi's flow model, Wikipedia
Below I share three tricks that help me get into focus mode, but it's important to remember that they are merely techniques for occasional use. If I regularly experience difficulties with focus, I know it's time to revisit my plans. Are they aligned with my north star? Are they achievable?
This post was inspired by a question from one of my mentorship sessions at ADPList. Mentorship is a great way to explore deeper reasons behind the lack of focus. Read "Where to find a mentor" if you are interested in this route.
Trick 1: "Is it technically possible?"
6 am. My alarm throws me into a dark and cold Monday morning. Even my cat, who is supposed to be a nocturnal animal, is against this idea. Before I even notice it, I start looking for reasons to stay in bed.
In such moments I ask myself: is it technically possible?
Can someone like me get up atΒ 6Β am? Is it doable for a woman who went to bed at 10 pm and has scheduled some writing work before her regular working hours?
In 99% of situations, the answer is yes. It's not that cold in the kitchen for me to freeze. And if it's dark, I can turn on the lights π‘
Trick 2: Microtask
It's common practice to break work into small achievable chunks of work. Yet, even a well-scoped task can be hard to start. In this situation, I create a microtask - the first ridiculously small step.
For example, if I need to build a new project, a microtask can be "initialise git repository" or "print hello world on the screen". It helps to write the microtask down even if typing it will take longer than actually doing it!
If it's impossible to extract a meaningful microtask, I use the "Do X for 30 min" template.
Let's say I want to get better at solving algorithms problems, but I don't know where to start. I put the microtask "Work on leetcode for 30 min" in the Centered app and stare at the screen for 30 min. Half an hour later, I will understand my current level much better and can create more meaningful microtasks.
Microtask is similar to micromanagement. Only apply it to your own tasks when you are stuck.
Trick 3: Add flavour
If I don't have control over what I do, I can at least control how I do it. I call it flavour. Example:
What: review and update legacy documentation
How (adds interest flavour): generate images from your documentation using AI tool
How (adds challenge flavour): make resulting documentation shorter, not longer
How (adds value flavour): pair on it with a more junior developer
How (adds fun flavour): work on it from your favourite cafΓ©
Deciding how I will do my work sparks motivation and increases self-accountability even when I don't feel deeply connected to the end goal of the task.
And many more
While writing this post, I discovered a good list of things that help me focus. Most of them are common sense rather than tricks:
π
Early mornings
π°οΈ Sticking to schedule
π Working in solitude
π§ββοΈ Keeping mind clear (journaling, meditation, exercises)
π€ External deadline / commitment
π―ββοΈ Involving other people
π§ Music for concentration
π§ββοΈ Embracing a healthy dose of discomfort
To summarise
We often find ourselves fully focused and dedicated when we work on interesting and challenging problems. It feels great, and we want more of that flow state.
Over the years, I learned a few tricks to restore my focus. I'm sure you have your own tricks, too. Please share in comments. I'd love to learn from you!
Top comments (5)
I've loved your article !! π»
And I am definitely going to use the first trick, as I am struggling to get out of bed in the morning, and pushing that snooze button too much for my own good β°πͺ
Personally, I use music a lot in order to gain more focus. Sometimes it is an epic orchestra to battle some tasks, and some other time, a soft melody to join my journey in the code. ππ΅
Thanks for sharing! I love your nickname π
Are you using services like musicforprogramming.net/ or handcrafting your "focus" playlist yourself?
More often than not, I play a long music video, either a long music compilation, or a 10 hour loop of the same music.
I've never heard about musicforprogramming.net, I'll give it a try π
One more trick that I use when I get distracted. Instead of immediately forcing myself to go back to the task X, I ask myself "Kate, why have you switched from X to Y?" and try to honestly answer it.
Sometimes it's because I'm tired, at other times it's because I'm not sure how to do X, or don't find X enjoyable. Once I acknowledge my state it gets easier to switch back. I become my own support.
I'm coming from your blog post & twitter, thank you for awesome posts, kate.