More generally, I've found that blocking off calendar time for "deep work" is effective if you commit to a plan for each time block. Before starting, I define what I'm trying to do and what the outcome would look like if successful. The first step is always to write a test that measures success in that context - it does not have to be a unit test or even something that you commit, can just be a simple curl command or bash script or a "I hit refresh in my browser and I see the image". Then I iterate until the test passes or time is up (generally because there are bigger issues)
And finally don't be afraid to engage in social media or games or other distractions - but do it in a mindful way. I use time in between deep work sessions to chat with friends, browse HN, write long rambling comments on HN, etc. You have to allow yourself idle time but keep it well and truly separated from deep work.
This will increase your baseline dopamine for normal activities. When your baseline is too low, you self medicate by going on Reddit which spikes your dopamine for a while. Taking a break from stimulation lets your brain accumulate dopamine naturally
1. Put your phone in another room and only check it at scheduled periods. For me, after breakfast I put my phone out of sight until lunch and then back in the other room it goes until 3:30 PM.
2. Try to keep separate spaces for entertainment and focus. For example at your desk only do productive work like development or paying bills. If you want to watch a youtube video then take your laptop to your couch and watch it there or just watch youtube only on your TV.
3. Check out this podcast from Andrew Huberman called Focus Toolkit on focus cycles, focus music and more.
Also don’t be afraid to take breaks (without a screen), we aren’t machines. Just walk around and daydream sometimes
5:15AM. Get in that ice bath. Fourty minutes or it's not worth it.
6:00AM. Write a C compiler. No help from internet.
7:15AM. Breakfast. Soylent and fifty pull-ups.
8:00AM. Enter the zone. Crush your work.
8:00PM. Exit the zone.
Just kidding, idk you kinda just have to like the problem at hand, otherwise it's too easy to go distract yourself. Distraction isn't really an evil thing though, it's not like we just enter The Zone for eight continuous hours. Engineering problems aren't usually mulled over like that, at least for me.
Oh and don't do drugs to make yourself better, that is a silly trap to fall into. Drugs are fun, do drugs! Using them as a crutch, or thinking they will alter the course of your life, that's the lie.
---
You think of all tasks you can do at the moment, things where you are not blocked by anything. You prioritize them, say on urgency or on what you personally feel like working on if your work permits freedom. This takes 60 seconds at most because of course you are anal about keeping a sane, up to date diary/to do list/kanban board.
You start working. You don't check your email, slack, messages, whatever. Let them call you on your phone if the world burns - but even that you let go to voicemail on the first call. You just start working without delay. And you keep going. After the first 5-10 minutes of forcing yourself to settle into your chair and ignore your painful wrists, you enter a state of flow.
It'll be like driving eventually. Remind yourself to take a break every two hours, drink something and maybe eat a little. Dehydration is a bitch. But even as you take a break, your mind won't let go completely. You keep this up for 4-8 hours a day, answer some messages and turn off your computer... hopefully.
Be sure to really unwind at the end of the day. Doing this 4-5 days in a row without unwinding will mess up your weekend big time as you just can't go back to baseline
This is however not how it works when someone employs you. That's also why I shy away from getting a job. It's not compatible. Or maybe I'm out of the loop and the industry has adapted to worker's needs?
The way I work is, I have work phases and leisure phases. The work phase usually lasts 3 weeks, followed by a leisure phase 1-2 weeks long.
In the work phase, besides getting food, I only work. 12+ hours a day, usually 14, until my eyes bleed and I have to go to bed. Getting food includes a walk for 1 hour. When I'm stuck at a problem I also go for a walk or shopping. Then randomly I just can't do it anymore and have to stop working. The leisure phase begins. This is the time where I refill my tolerance for this game I play, called work. I don't work at all until I'm bored of not working. And then, see the beginning of my post.
Also when I work, I'm on a mission. My mission is to finish this product and nothing can stop me. It's my holy mission. I have to complete it. I'm interested in it. I want it to be finished. It will be finished. Don't distract me! I'm a fucking zealot. Get out the way.
A somewhat spiritual take on the whole issue is Steven Pressfield's "The War of Art". One of my favourite books, and I'm as non-woo-woo as you can be.
If this is always true, even when you're working on something that interests you, maybe consider getting that ADHD diagnosis? If it's just something you struggle with occasionally or when you're slogging through boring tasks that's something you should be able to improve.
It really depends on the type of work you're doing though. I doubt there'll be any one trick that works for everybody in every situation. Sometimes having music or a podcast or a TV show in the background keeps my mind engaged while I'm working on something that isn't exciting enough to keep it quiet. Sometimes I just need lots of breaks to keep my sanity. For work that requires a ton of focus I tend to work best in quiet dark places where there isn't much to pull my attention off of what I'm doing. Caffeine never hurts no matter what I'm working on.
It's like Omegle for focus. Pick a time slot and pair up with someone to be accountable together.
You can get more information on how it works here https://www.bbc.com/news/technology-46624137
You can also book a session with me if you like. https://www.focusmate.com/i/nLUDAIR5oh/calendar
I shorten my deadlines.
I delay everything, always and I know that working under pressure I'm the best of me (yes, maybe is shortening my life expectations..). At the other side I know that working with me is giving maybe 120% of you, so I set my deadlines earlier for me.
Then I do the shit because that deadline I set is my deadline and I'm very proud guy that wants to do the shit on time.
Then when the thing is done I have maybe 2 to 3 days to review and relax.
But the best recommendation is: to know yourself.
Sometimes your mind (and body) needs to run away some minutes.
I'm a former teacher also and I know that you can't focus too long on something that you don't want and doing that is bad for you and bad for the stuff you are doing.
You needs something that makes you want to focus, for me is the pressure of deadlines.
I need to talk with my psychologist..
Edit: A lot of people saying you might have ADHD. I wouldn't jump to that conclusion or worry about that. Don't spend time chasing down a diagnosis unless you really, really need the medical assistance. It's probably our modern attention economy: the Web has trained our brains to seek diversion after a few minutes. Call it ADHD if you will, but then pretty much everyone who spends time online has it. It's healthy and "normal" to take a breather / quick break every so often. It lets the mind decompress. The trick is training yourself to do it only when that break won't interrupt a deep stack in your brain that you have to spend a lot of time rebuilding later.
https://en.wikipedia.org/wiki/Pomodoro_Technique
It's worth reading through the original Pomodoro Technique PDF, since planning and tracking is an important part of the process:
http://friend.ucsd.edu/reasonableexpectations/downloads/Ciri...
To start, do a task without distractions for your current ability - 15 minutes. Set a timer and stay on task until time runs out.
Take a short break - 5 minutes, maybe 10 at most.
Repeat the above 2-3 times, then take a longer break, something around 25-30 minutes. If you feel OK, do another 2-3 rounds and then go do something less taxing that doesn't take deep focus.
If you have truly focused for the time, you'll know it. Just starting out, a couple of hours of work will definitely sap your energy.
Gradually increase you focus works times by 5 minutes. If you can get to 25 minutes without feeling the need to do something else, that's great. If you can do the above cycles with your full attention for a total of four hours, you're doing well. Not a lot of people can do really intense, focused work for more than four hours a day. The rest of your work day, do low-intensity things like answering emails, cleaning up your work area (both physical and virtual), and such.
There's an entire book devoted to this that I can recommend: Deep Work Rules for Focused Success in a Distracted World, by Cal Newport.
My current solution is to:
- minimize distractions (I mute websites and use an extension to block youtube/reddit/facebook), - have a background music that drown out noises (there are online generators[0] but I found a particular song plus rain noise combination [1] to be a great fit for my brain)
Amphetamines worked well for a while but they started having all kinds of messed up side effects so I quit them and I'm glad I did.
I'm in my mid-30s and been somewhat successful at work but my pattern has always been that I could hyperfocus on some projects for days on end and suddenly I would be bored out of my mind and not able to focus for more than 20 minutes at a time.
I've blamed and shamed myself for years, thinking I was being lazy, that my work ethic sometimes was poor/lacking, that I could just force myself into not being in that state.
Now in my mid-30s after some years of therapy my therapist and I are uncovering that I very likely have ADHD. I don't want to be medicated, I know some terrible stories from close friends who have been medicated for more than a decade and even though it helped them somewhat the side-effects were no joke after so long. Even without medicine it's really helpful to understand why I behave like this, why I can't seem to muster the willpower that my peers and friends sometimes can to be focused for hours (with breaks).
I'm only learning now, after 30+ years of life why I'm like this, I don't wish on anyone to live this long shaming and blaming yourself for supposed failures because you don't fit the mold...
Even if you don't have ADHD try some therapy, you might uncover other reasons on why you might not be able to focus for long, there might be issues with perfectionism, fears, etc. that you are not completely aware of.
Hope you find some peace, I'm slowly getting it and it's awesome to lift this burden, even if slowly.
Ctrl-f "fite timer"
https://www.friendlyskies.net/maybe/the-balance-first-approa...
Start with 45m break, 5m clarity through planning, 10m direct work tasks.
Ctrl-f "debrief" after that and use the debriefing module.
If you are still struggling then look at the words you are using to describe the problem you are experiencing, they are probably not accurate or they leak too much leverage in your case.
Try to keep all square/T list items to less than 2m each and in batches not to exceed 10m per long timer cycle.
More troubleshooting:
https://www.friendlyskies.net/maybe/defeating-procrastinatio...
https://www.friendlyskies.net/maybe/what-do-you-do-when-you-...
Foundational:
https://www.friendlyskies.net/maybe/the-productivity-triangl...
Good luck & hang in there, you got this.
I can easily read, play sports, or practice instrument for a full hours without a single moment of interruption, but it's much more difficult for programming.
To mitigate that, I've employed the following tactics:
1. A browser plugin called Intention, which gently reminds me when I visit one of the sites. I love that it is a gentle reminder, because sometimes the answer I seek is on HN/Reddit. It just makes sure that I'm browsing with deliberation.
2. I have a list of stuff (relevant to the current project) to do always ready by my side. When compilation takes place, rather than context-switching to an entirely different activity, I deal with those small tasks that are still in the same project. If there's nothing else to do, I start writing notes about my current work. I find that keeping such a logbook very helpful, both in maintaining concentration, and in organizing my thoughts. Regardless of what project I'm working on, there's almost always something to work on or think about, anyway.
3. I have dedicated news-reading time where I browse my RSS feeds and HN, and stuff. It reassures my lizard brain that I'm not "missing anything". (And I'm genuinely interested in reading news, and HN). Avoid drama.
4. Physical exercise intermittently. I do a five-minute HIIT every half an hour or so. The adrenaline keeps me mentally refreshed.
5. Ultimately, it's better if you are into the thing you are working on. If you are just not interested at all, it's very difficult to force yourself to concentrate.
Go get tested for ADHD, man.
One or two hours of work then a break, then a little more work then lunch. I set alarms. It's easier to pick up interrupted work than starting something new after a break.
My apartment is quiet. My computing environment is quiet. There are few things to pull me away from work. I agree with perrygeo that feedback loops should be fast to avoid getting distracted.
I sign off in the middle of the afternoon when my productivity wanes.
I'll sometimes use SelfControl to block websites when I really need to stay focused, but can't find the motivation.
Provided I value the thing, my body/mind will come around when demanded of, often slowly.
If I don't care that much, or the downsides don't feel so bad, then I try to practice giving up that thing (in whatever way I can) or just not doing it well.
My case seems much less than yours and I haven't found a steady-state solution either. Coffee might not be your thing. Don't know if there's anything to take away from it but that's all I have.
Set a kitchen timer for 25-30 minutes (just 10-20 minutes longer than current!) and focus singularly on your task. You can check Reddit, HN, etc after.
If you can get into flow, keep going. Otherwise, keep increasing your timer by 5-10 minutes until you've trained yourself to work for 60 minutes straight. Remember to take breaks though!
* to keep my phone in another room than my work room * to put some background Lo-fi music (Check playlists on Spotify: https://open.spotify.com/playlist/2rN3mSrzUcgjlj1TcEDTX7?si=..., https://open.spotify.com/playlist/37i9dQZF1DWZZbwlv3Vmtr?si=...). * to start a timer (let's say 50 mins), work focused * to disable "tap to wake up screen" option in phone for notifications or even general to unlock
[1] https://en.wikipedia.org/wiki/Delphic_maxims#Entrance_maxims
Also a critical part is not necessarily focusing for long periods of time, but to make the focused time more mindful with breaks in between. For instance, Itzhak Perlman (arguably one of the best violinists of all time) frequently emphasized that pros should practice between 3 and 5 hours a day just due to the fact that after that point the body can't absorb any more. He also emphasizes breaks too; instead of one full hour, do 50 minutes on / 10 minutes off.
Hopefully my eyes clear up once I get a break.
Treat your body well, don't waste it making someone else rich. Besides, most of the time spent solving engineering problems is spent thinking. You don't need to do that at the keyboard.
The app is a bit pricey, $100 USD / year, but I sent a message to their customer support and they offered me a year subscription for $30 / year, which ultimately is worth the focus I end up getting for 9 hours a day, 5 days a week.
Having good habits also help, but that takes diligent practice and discipline, which for me ebbs and flows.
Apart from this however I believe you can benefit by training your focus. You can do this by a variety of ways:
- Pomodoro Technique but start off with 15 min work & then X amount of break. Then slowly increase the focus time every week by 5 minutes perhaps?
- Dopamine Detox: This only works if this is the reason for your distractiveness
- Figure out if there really is something underlying that's leading to anxiety? Are you afraid of the outcome of your code? Do you fear the task you are working on?
I find certain kinds of electronic music entertain my lizard-brain sufficiently that I can think clearly and never get those distracting thoughts, "i wonder how my comment's doing on HN", "Have I checked the news recently"... etc.
I owe my PhD to di.fm, I use premium so I don't get ads and I'm very happy with the result.
Make yourself a timer app that will increase your work time by N every day before sounding an alarm, then browse/do whatever. When you come back you restart it and do another block.
As other people said, it's the possibility of interruptions that break your concentration. I'm working in game dev (Unity specifically), and it's really good at breaking your concentration. It'll take a long time to compile, randomly crash or take time importing things etc, which then makes you want to not sit there and watch it.
I start with some idea, and until I can confirm it works, or it is actually wrong, I can't stop.
This idea is there, in the background, calling for attention, so it's not something I can just ignore.
It's probably not the case that you're facing challenges anytime you work. That's an unfair generalization that you're holding against yourself. What about the times when the work you're doing is completely within your domain of capabilities?
I keep an editor open and maintain a journal of my thoughts while working. Journaling helps me organize my to-do's, questions and concerns, and keep an index of reference material. A journal helps keep me focused.
There’s one highly specific genre of music I listen to while I code. Nothing else. If I take a break, I turn it off. If I get distracted, I turn it off. I only listen to it when I work.
I use the sandwich method of booking meetings; only at the beginning or end of the day. Also the times when I look at my emails. Slack is harder to turn off because ops so I let that one slide.
When I need to concentrate, flip on my playlist, and go to town.
However then I can forget about meals. Turn off autoplay so the track ends after 3 hours and it's easier to break away.
I don't know if I have ADHD or just poisoned my boredom tolerance with years of passive stimulation, but this book genuinely changed my life, my ability to focus, and my mental frameworks around work ethic, focus, time management, and productivity.
What I've found the only thing that works well is to have daily scrums with the small team where you say what you've achieved. The deadline makes me try to get something done every day. I think maybe having two quick updates a day might work even better.
Probably pair programming is a good solution too but I detest it so much...
I reduced considerably these monkey brain moments.
This is not bad in itself. Do you actually PROGRESS in your work when you do this? If so, keep going on.
Are you by chance younger than 30? It could be that people just don't have attention spans like they used to (causes have been discussed to death, so I won't regurgitate. Suffice to say; the modern web). When I was growing up, we had a lot of practice being bored, which made anything that could break that boredom precious. Scarcity cultivates focus like nothing else.
Something else to bear in mind is that you're not really supposed to be able to concentrate for more than 40 minutes at a time, it's how the brain works.
I worked with people with ADHD (not diagnosed and diagnosed) and they all had the same problem of being unable to focus. Pairing with them was quite the experience.
Some of them switched to being product managers to retain a good pay even if they can't code.
I think you have to deal with it but don't stress too much over it (stressing about it will make it worse). In today's bs corporate world in which nobody does crap you'll be fine. Average performance around medium large companies is terrible.
Do your work on a computer that is not connected to the internet, and does not have "some game" installed.
Nothing useful there. Oh well.
The more I break down a problem into small solvable problems (a pen and paper is all you need), the less obscure the issue / work becomes, then I can be there for 20 hours coding/designing whatever from the point I've understood what I need to do.
Also writing down where I finished and where I need to start from the next day helps me get back into work easily.
TL;DR you're probably overwhelmed and it's easier to watch sexy people doing yoga on Instagram than to actually build something.
Don’t fight it… just make it more productive.
Why can't it be the real solution?
So in this scenario what I do working from home is spend a lot of the work day that day doing my laundry or whatnot. Then after 5 PM no one will be interrupting me so I then look at the code. I probably do this at least one day every week. Maybe I shift the schedule around - I work Tuesday night and do my laundry Wednesday afternoon. This is a scenario where the interruption is fully external.
If I am not being interrupted...some things I sometimes have to kick myself to do at first, but then I can go for an hour or more. This would include going to the gym, or, I don't know, studying what a monad is. I just have to determine I'll start doing, but once I am doing it I am not distracted.
The last thing that I have to kick myself doing even while doing it. I sometimes had to do this in college - I had to do a lot of studying for something which was not my major, which I did not care much about etc., and it was purely to pass the class and get a grade. Actually these things used to get a lot of other things on my things to do list done - I'd say, I will clean the living room tonight, not study Lewis structures or whatever. There's not much solution to this other than just kicking yourself back to the task.
While things being as they currently are we always have to kick ourselves a little to do some things the whole way through. At some level it becomes psychologically untenable and you just have to face the fact that you don't enjoy doing whatever. For example - at college I enjoyed most of my Computer Science classes, reading the material, doing the homework etc. I even enjoyed some of the books we'd be assigned in English classes and that sort of thing. Some classes I did not care about, and had to kick myself to study. But that is normal. However, if I was not interested in computer science and had to kick myself to study everything, it becomes more untenable. It's not going to work psychologically or in general. Although in retrospect, some things I didn't realize the use of until later. Like my graph theory class I generally found boring, but then my next class was a data structure class where I made use of nodes and trees and graphs, and the graph theory came in handy.
Also - as some other people here said - wake up after a good sleep, shower, have a clean environment around you, eat decent foods, get a good deal of cardiovascular exercise etc. Take at least one day a week to just relax.
Why not?