Today, when I called mom, I spoke to her about my longtime neck pain and indigestion.
“Until you wake up early every day, nothing will change.”
A brief pause. Then she said.
“You didn’t succumb to your bosses, but you will one day succumb to your health problems.”
She was referring to my quitting an employer for being unable to work 10–18, and employer refusing to allow me remote work, despite their policy.
The case for waking up early:
Early rising has obvious health advantages due to biological clocks. Sleep between sunset and sunrise is strongly connected with our metabolism signals — something that we inherit from our genetic ancestors.
Our work schedules are not entirely defined by our health. They are driven by economics. (Curiously, sometimes they suit our boss’ lifestyle and ambitions.)
Early to work motto has its roots in industrial age: More work time = more production = more profits. Since early industrial workers were mostly farmers who worked under daylight, waking up early came natural.
Then it became the de-facto. Shop-owners kept their shops open 1 hour before and after workers schedules. In colder climates, these 2 extra hours were offset by shorter days during longer winters. In warmer countries, siesta came to help.
Our work schedules and festivals are historically marked by economic activities of people at large: when they sow the seeds, when they harvest, when they need money, and when they are likely to spend.
The problem is, they always change in favor of consumers and business owners.
But rarely in favor of workers / employees.
What’s really going on under this “wake up early” trend:
There are programmers whose schedules I have always envied:
Some of them were great at this since their childhood.
In fact, waking up early is a content niche that can draw instant million followers on social media. Amazon has thousands of habit building books, most of which advise on how to become a morning person.
I tried becoming one frequently, and also succeeded.
But what I ended up doing in the office was this:
- Unit testing of previous day’s feature
- Writing console log messages
- Beautifying the UI
- Reading about caching techniques — the next feature.
What I could not do effectively between 8–4 was coding. Raw bits. Copy pasting from documentation or StackOverflow.
Surmounting compilation failures, crashes, changes, iterations, doing successful runs.
I tried, but got nowhere near the Sprint goal. The cognitive load seemed too heavy, my eyes drooling due to forced early wakeup.
I stopped coding at 3:00 PM because it was almost 4 already! An hour was never enough to embrace that mammoth.
Eventually, that caching feature had to be built overnight, just before the Sprint change day.
The Sprint day started as groggy morning, followed by successful presentation, and completed as an accomplished evening with Netflix on the couch.
That feeling every programmer craves each day.
An epiphany struck me:
Your best comes in chunks of time. Those chunks do not necessarily overlap with a specific routine that’s popular on the Internet.
Programmers are different.
What makes waking up early the holy grail of our work culture:
The question should be rephrased as:
Why is it considered mainstream to wake up early?
Early age software firms failed to spot the difference between sales of software vs sales of physical goods. So we inherited the grueling 9–5 schedule.
If a programmer is not required to make a sales pitch to a customer, why is he / she required to work during 9–5?
Of course, some hours of team interactions are crucial for product quality. But setting that number to 8 for 52 weeks is way beyond overkill, unless you are working on a military mission.
But shouldn’t an employer worried about health problems associated with late night work?
If they truly cared, what explains outsourcing to 24 x 7 offshore call centers? For now, let’s leave people’s health decisions upon themselves, and let’s just focus on providing safer office environments.
Also, caring about employee health doesn’t have to include dictating strict work routines. Providing onsite gyms + freedom to access does the job.
- Exercise any time is better than no exercise.
- Avoiding commute in a polluted megacity serves much better than great workouts.
Then why do we see so many people rising early to get to jobs, even software ones?
Waking up early is less of a habit, and more of a self-fulfilling prophecy:
You wake up early, because all others in your team are doing it, thinking the same.
Remember that recursive acronym GNU? (GNU is Not Unix.)
But even years past that factory mindset, why are we still bombarded with early risers win manifestoes?
It is because of two types of mindsets, and people harboring those mindsets. Programmers fall under none of them.
1 — The Productivity Mindset:
Consider this task list:
That’s a to-do list of CXOs — people who are continually in limelight, making decisions, speaking to media, gathering clients, calling the shots.
Mornings are best for them because checkboxes give them certain agenda to fulfill.
Their steps are pre-recorded during 5 AM gym, executed succinctly starting 7 AM.
Their minds are often free from things that worry their subordinates: paying monthly bills; saving for retirement; buying expensive jewelries, toys, vehicles, houses; going for exotic holidays…
Famous celebrities also benefit from intense morning routines, because maintaining their fitness is their sole goal to keep their career afloat (after having showed it to the world once). Days of odd-hours struggles, nights of proving one’s salt are already behind.
I was an effective early riser when I was manager for a brief period of my career.
But I soon quit that company.
Because it involved everything except the thing I loved: Creating (aka Coding in software)
2 — The Creativity Mindset:
Ernest Hemingway always wrote during early mornings.
Haruki Murakami rises at 4 AM and goes to bed at 9 PM. He also ensures he runs 6 miles a day.
John Grisham, during his courthouse days, rose at 5 AM and rushed to his quiet office to start writing at 5:30 AM.
“Be regular and orderly in your life, so that you may be violent and original in your work.”
–Gustave Flaubert (known for rising at 10 AM)
That quote, though ironical, is often cited in many writing workshops.
Not surprisingly, majority of newbie writers aim to be early risers.
It suits them because a crucial part of writing is putting it on the page first.
Because converting thoughts into words happens best when minds are unpolluted by day’s mundane routines & struggles.
Jotting down a chapter early morning leaves rest of the day for other chores — mainly the day job, and ideas that could shape the words for the next morning draft.
Programmers do not share authors’ or executives’ work patterns, because their task requires them to cultivate a completely different mindset.
3 — The Engineering Mindset:
When Thomas Edison worked late into the night on the electric light, he had to do it by gas lamp or candle. I’m sure it made the work seem that much more urgent.
Programmers have to accomplish things in chunks. Those chunks are defined by use cases.
Often, a use case requires several small-sized chunks. Even if it was for adding an extra info field on an already working web page, five use cases can be created: Fetching data, presentation, validation, saving (caching), and syncing back with server.
Each chunk must require no more than single coding session for a programmer who is true engineer at heart.
However, things grow difficult when troubleshooting appears from nowhere.
Programming requires engineering mindset.
Software is engineering with the most volatile toolset.
Libraries refuse to work with each other. Compilation fails. Execution halts.
An expert programmer has 15+ browser tabs open while coding a new feature. For an average programmer, that number is 30+.
Imagine the productivity loss, if he / she chooses to close them all, goes to bed at 10, just to hit office at 8 AM the next morning.
When a use case is done, a greedy programmer wants to make it work for all database fields, all data types, all boundary conditions, on every other screen that is within the scope. In that very same session.
Because costliest of the programming mistakes are hardest to catch if programmers break their coding sessions. Unreviewed programs are time-bombs. A bug in a C language loop brought down AT & T network in 1990.
Lately, competitive programming sites, code forums and open source communities have added much more fervor to late night programming: Constant eagerness to release awesome stuff , grabbing more Github stars, making live programming videos and twitting about one’s accomplishment.
This fervor requires abundant spare time, which is neither available nor encouraged within office premises.
Result? All programmers turn into night owls — going to bed when productivity freaks rise.
And it is OK to be a night owl (and late riser):
Without your employer worrying about your health just to enforce an idiotic schedule.
Tim Cook, Apple CEO, rises at 3:45 AM. But Jobs & Wozniak didn’t, while they worked on Breakout game at Atari.
There are famous late risers who were / are enormously successful at what they do.
That “early risers are more successful” is a cultural stereotype.
There have been scientific studies showing that late risers’ failures are not indicative of their incompetencies. It just says they are stuck up in 8–4 job routine that fails to overlap with their peak performance times.
Waking up late is not quite different from being born left-handed in a world full of right-handed people.
Instead of realigning themselves into 8–4, they would do much better by reasoning with their coworkers’ expectations.
If they can’t, they should simply leave the show in search of their favorite indie adventure.
During quiet, uninterrupted night sessions, late risers produce better software than the nonsensical presentations created by their early riser bosses.
That’s what makes their next evening gym session / Frisbee with kids much more fulfilling.
P.S. I will gather some courage. And try to pacify my mom with that logic during our next phone call.
I owe that explanation to her, because she cares.