Why Programmers work at night (2011)
swizec.com
swizec.com
This is a far-fetched claim. The argument doesn't hold water and it is less convincing given that the author only uses his own anecdotal example of how he is forced to concentrate given low energy to back up the claim. Willpower needs energy and thus most people need energy to concentrate on difficult tasks.
I like to work at night for his other reason that there is almost zero distraction save the social media feeds. However, I think my well-being in the day time is being compromised as I do so. Haven't found a good solution to that yet.
interesting idea
And getting into some sort of "pushing the limits to focus" sounds very daft. Specially if done often, the quality of the work will be very bad.
There are people that like to work by night, that's for sure. But I think that's the minority compared with the ones that like to work at reasonable hours (including the ones that start later than the standard 9-5)
I find I'm more productive at certain types of tasks (including programming related ones) when I have a certain level of fatigue. My brain can be noisy even if the workplace isn't, and fatigue reduces that noise.
Even for my own anecdote, however, this absolutely does not generalize to all types of tasks, and absolutely does not mean "pushing the limits", and I'll certainly agree it can be a daft excuse for a daft mistake that will result in some really daftly written code.
For me, reaching that fatigue means going to the gym. I feel like the physical fatigue helps me to get into a form of mental focus and tranquility. Even though I usually hit the gym at 8PM and return circa two hours later, I can keep pushing code for at least three more hours.
I also play competitive video-games with my friends, who keep on saying that they play better during the nights. Most of them are not into sports, but they can still say to be mentally more focused.
Whilst I cannot really prove that I would produce better code during the nights, the matchmaking in the games do turn out to have a trend of win streaks. I succeeded to rank myself to the fourth topmost ELO pool by playing during mere midnights. To reach that rank from the previous one, it requires approximately 12 wins in a row, which is not an easy feat.
About the original post, I also reason staying up late because the time difference between US and my current residency is such that any Github issues, PR's or emails tend to be sent at about midnight my local time. By staying awake an hour or two more, I can deal with those tasks to wake up to a less busy day.
Indeed, day-to-day Real Life[tm] stuff really does get in the way, and I myself have raged due to the frustration of having my concentration broken by e.g. my wife coming in asking some mundane question outwith the context of the problem I'm working on - it is literally a mental disaster when that happens.
I'm of the opinion that it's more likely that bugs are introduced in your code due to your cognitive functions being affected by sleep deprivation, which potentially offsets time gained via coding at night.
So whilst you /do/ have the time to build that model in your mind during the wee hours, I reckon it's more likely for there to be either en error in your mental model, or errors creep in during the translation from mind to machine.
I don't know what the answer is - choosing to be a coder makes for a very difficult situation, especially if you happen to be one of those coders who also have a wife - even more so if you've fork()ed a child process or two!
I've no doubt that there will be some quite exceptional humans out there who can manage to have a family life, work in a busy place with lots of interruptions, or can code till 4am and are /still/ able to work super-productively - but for the rest of us mere mortals, sleep deprivation == degraded cognitive function, and/or trying to code through normal hours == constant frustrating interruption.
Now, where's my coffee? ...
I honestly hate working at night, simply because I often miss small things that cause silent bugs. On the other hand, coding at early morning (5-6 am, before my wife and kid are up) feels really great.
I think a lot of it boils down to being expected to perform in really noisy not-conducive-to-thinking environments (yes, open-plan office, I'm talking about you)
At least, that's been my experience over the last 30 years.
It's awesome for programmers :)
* Phones ringing and other such interruptions
* Lawnmowers or leafblowers
* Seemingly incessant construction with drills, saws, hammering
When the sun goes down, these distractions go away and you can concentrate.
I've never noticed that being tired makes me code better.
It might also depend on the kind of code you're writing: there could be a difference between how fatigue affects our ability to write straightforward code vs. algorithmically complex code.
But I agree that programming late at night (or at least after everyone else in the office has gone home) makes me more productive because it limits distractions.
I'm overly critical of everything if write, be it code or prose.
I tend to overcomplicate things when I write. I think too far ahead and tend to get paralyzed of by the matrix of things I thing I need to consider. I think I need to understand the problem in its totality before I can write anything.
As I get tired, I get less critical, and possibly my short term memory gets worse. Suddenly I'm in a situation where instead of constantly being critical of my ideas, I have to keep of writing them down just to remember them and to fully formulate them. The part of my brain that tells me it's crap has fallen asleep. And the part that kept taps of EVERYTHING has shrunken down to only hold a few items or ideas at a time.
And suddenly the code is there. Done. I wrote it. Now let's write the next idea before I forget it. I'll go through it all later.
The effect is most obvious for me with prose. I used to get nothing done during the day. I just kept thinking all my writing is worthless. But then at aroun 1-3 AM, I would write a dozen pages. I would barely be awake, but my fingers would fly almost like on auto-pilot.
The original blog post, written by Swizec[0] can be read on his blog: http://swizec.com/blog/why-programmers-work-at-night/swizec/...
Can mods please change this submission?
My q is: Is this ADHD?