“A popular saying goes that programmers are machines that turn caffeine into code. And sure enough, ask a random programmer when they do their best work and there’s a high chance they will admit to a lot of late nights. Some earlier, some later. A popular trend is to get up at 4am and get some work done before the day’s craziness begins. Others like going to bed at 4am.” Have you read the article that’s resonating with geeks worldwide?
Swizec Teller, the geek blogger and college senior from Slovenia who authored the article below, explained that after he wrote it, he was “certain it wasn’t that interesting,” and surprised that it became his most popular post ever. “How did all of this happened? I honestly haven’t a clue, there are tens if not hundreds of posts on this blog more deserving of such infamy, but I guess people like a good pat on the back and an easy “Yeah totally. I can totally agree with that!”
His blog is a personal blog called “A geek with a hat” that normally gets 30,000 visitors a month. That’s impressive enough. By the 4th day after he posted the article, he had 188,707 pageviews, 627 + (likes) on google plus, 550 tweets mentioning the article, 288 new twitter followers,, 475 comments on Reddit, 173 comments on his own blog, 89,000 visitors on Friday alone, and 188,707 pageviews, 157,707 of which were unique. So that’s 5 months worth of traffic in just the first 4 days. Four days. And it’s still growing.
We were made aware of “Why Programmers Work at Night” by Tolga Katas who was obviously anxious to share it. When we read it, we not only nodded in agreement, but found it worthwhile enough to contact the author, Swizec Teller, who granted permission for us to repost it here on Technorazzi. We interviewed Swizec and found out more about him. What a cool guy. That post will be going up tomorrow. We’re waiting for a photo of him in a hat. In the mean time, enjoy the article.
Why Programmers Work at Night
by Swizec Teller
Swizec’s article originally appeared on his blog, “A geek with a hat,” located HERE.
A popular saying goes that Programmers are machines that turn caffeine into code.
And sure enough, ask a random programmer when they do their best work and there’s a high chance they will admit to a lot of late nights. Some earlier, some later. A popular trend is to get up at 4am and get some work done before the day’s craziness begins. Others like going to bed at 4am.
At the gist of all this is avoiding distractions. But you could just lock the door, what’s so special about the night?
I think it boils down to three things: the maker’s schedule, the sleepy brain and bright computer screens.
The maker’s schedule
Paul Graham wrote about the maker’s schedule in 2009 – basically that there are two types of schedules in this world (primarily?). The traditional manager’s schedule where your day is cut up into hours and a ten minute distraction costs you, at most, an hour’s worth of time.
On the other hand you have something PG calls the maker’s schedule – a schedule for those of us who produce stuff. Working on large abstract systems involves fitting the whole thing into your mind – somebody once likened this to constructing a house out of expensive crystal glass and as soon as someone distracts you, it all comes barreling down and shatters into a thousand pieces.
This is why programmers are so annoyed when you distract them.
Because of this huge mental investment, we simply can’t start working until we can expect a couple of hours without being distracted. It’s just not worth constructing the whole model in your head and then having it torn down half an hour later.
In fact, talking to a lot of founders you’ll find out they feel like they simply can’t get any work done during the day. The constant barrage of interruptions, important stuff ™ to tend to and emails to answer simply don’t allow it. So they get most of their “work work” done during the night when everyone else is sleeping.
The sleepy brain
But even programmers should be sleeping at night. We are not some race of super humans. Even programmers feel more alert during the day.
Why then do we perform our most mentally complex work work when the brain wants to sleep and we do simpler tasks when our brain is at its sharpest and brightest?
Because being tired makes us better coders.
Similar to the ballmer peak, being tired can make us focus better simply because when your brain is tired it has to focus! There isn’t enough left-over brainpower to afford losing concentration.
I seem to get the least work done right after drinking too much tea or having a poorly timed energy drink. Makes me hyperactive and one second I’m checking twitter, the next I’m looking at hacker news and I just seem to be buzzing all over the place..
You’d think I’d work better – so much energy, so much infinite overclocked brainpower. But instead I keep tripping over myself because I can’t focus for more than two seconds at a time.
Conversely, when I’m slightly tired, I just plomp my arse down and code. With a slightly tired brain I can code for hours and hours without even thinking about checking twitter or facebook. It’s like the internet stops existing.
I feel like this holds true for most programmers out there. We have too much brainpower for ~80% of the tasks we work on – face it, writing that one juicy algorithm, requires ten times as much code to produce an environment in which it can run. Even if you’re doing the most advanced machine learning (or something) imaginable, a lot of the work is simply cleaning up the data and presenting results in a lovely manner.
And when your brain isn’t working at full capacity it looks for something to do. Being tired makes you dumb enough that the task at hand is enough.
Bright computer screens
This one is pretty simple. Keep staring at a bright source of light in the evening and your sleep cycle gets delayed. You forget to be tired until 3am. Then you wake up at 11am and when the evening rolls around you simply aren’t tired because hey, you’ve only been up since 11am!
Given enough iterations this can essentially drag you into a different timezone. What’s more interesting is that it doesn’t seem to keep rolling, once you get into that equilibrium of going to bed between 3am and 4am you tend to stay there.
Or maybe that’s just the alarm clocks doing their thing because society tells us we’re dirty dirty slobs if we have breakfast at 2pm.
To conclude, programmers work at night because it doesn’t impose a time limit on when you have to stop working, which gives you a more relaxed approach, your brain doesn’t keep looking for distractions and a bright screen keeps you awake.