CS Primer search log in

How to be consistent

Oz Nova, April 2023

A number of students have asked me for strategies to "stay consistent". I assume they are referring to their study routines, not CAP consistency, otherwise this would be a very different article!

I do feel like I can give some suggestions, but first allow me to talk about Omar.

Ten years ago when I was CTO of a startup, my friend Myles approached me to see if I might want to take a chance interviewing an unusual candidate. At the time, Myles was teaching at a "bootcamp"—a new concept back then—and Omar was one of his recent graduates. Apparently he showed a lot of promise and I should consider him for my team.

I thought to myself that Myles was drinking too much of whatever they were serving at the Dev Bootcamp campus, and politely told him no, thank you, everyone in my small team was too busy to mentor such a junior engineer, and besides they were all CS grads from schools like Stanford or Berkeley and surely a bootcamp grad just wouldn't fit in. We interviewed Omar anyway as a courtesy, had to admit that he passed our interviews, and extended him an offer based on his "potential".

Over the next six months, Omar was a high-octane learning machine.This is Omar, more or less as I remember him form the time, as reconstructed by Midjourney with the prompt "Omar as a cyberpunk robot that eats textbooks, photo realistic, cinematic lighting, not smiling". Yes Omar is so genial that this was the best that even Midjourney could do with the prompt.

I would recommend textbooks, papers, projects, anything, and he would be back a few weeks later asking for more. He did this in his own time; at work he took on real tasks, small at first but gradually more substantial. Somehow he finished a CS degree's worth of self-education in his spare time, within six months instead of four years, and oh he had two young kids and a long commute. I wouldn't have hired him had I thought this was totally impossible, but he so exceeded my expectations that I left the company to start, with Myles, a school designed in many ways to recreate the Omar experience for other non-traditionally educated engineers.

I'd love take personal credit for Omar. I mean, who do you think recommended the textbooks that he powered his way through!? But in reality he succeeded due to his drive (more on that below!) and consistency. His daily routine at the time was:

  • Wake up well before dawn, spend 1-2 hours studying
  • Go for a run
  • Kids are now awake, be a parent
  • Morning commute from Palo Alto to SF: harder to concentrate on the train so read papers and do programming exercises etc instead of intense study
  • Full day of work, try to apply study into day-to-day, try to set a high personal bar so that even "easy" tasks are challenging
  • Train trip home: brain is wiped so just read, for entertainment, the kind of articles etc that most people see as educational!
  • Do this every day

OK! I know a lot of you are tempted to stop reading now, replicate what I'm sure you'll start calling the "Omar method", and expect to see the same results. While there's a lot we can learn from Omar, the details of his routine are simply not important. Let me try to identify what is.

Motivation

If you ask highly productive people what helped them establish a consistent routine, they will typically tell you 64 different tactical details, like they went to bed in their gym clothes, or used a tomato-shaped timer, or stared directly at the sun for 5 minutes each morning (did I get that right?). Maybe these things had some non-negative effect for those people, I don't know! But surely they are low order bits.

The highest order bit is motivation. There is no amount of tactical low order bit fiddling that will compensate for a lack of genuine desire to do what you are doing. There may be ways to kindle a spark of motivation, or to make it easier to act on your motivation... perhaps you could have a tomato shaped timer programmed to remind you, every 25 minutes, of why you are doing this? But if you are consistently failing to achieve consistency, it may be that you have an overwhelmingly strong instinct that perhaps you should quit, and hey sometimes that nagging voice is right!

As a friend and former student CJ put it:

The videos and articles around consistency that I find online rarely resonate with my own experience, since most of them seem to say that motivation doesn’t matter, it’s all about discipline, so start small and be consistent and eventually that small consistent habit grows into a large consistent habit. But... where does the discipline of maintaining a small habit come from? Start even smaller? ... My good habits all started with a huge burst of motivation, where I spent many hours over many days diving deep, and that got me over some “hump” where I could feel the progress I was making.

Another student Bryan shared a list of things that work for him, and which sure are all pretty good ideas! I too go to bed early, don't check my phone during the day, do my focused work first thing in the morning, and so on. But before his list was a single sentence which told me everything I needed to know: "I was a perennial underachiever until college, where in order to atone for all my past laziness I made up my mind to become the valedictorian of my college class (which I succeeded at)." Knowing Bryan, I suspect he would have succeed even if he did his focused work at night and went to bed late!

In fact, different highly effective people swear by sometimes contradictory tactics. Like Bryan and Omar, many prefer focused work early in the morning: I remember asking Jamie Brandon how he came to understand databases so well; he said simply "you'd be surprised how much you can learn if you just read a databases paper each day before work". But then what about the improbably successful barrister I once worked with whose secret to success was "I go home every night after work, pour myself a glass of wine and read the case law"?Incidentally his response stuck with me so much that I often, despite not drinking alcohol myself, suggest to somebody that they should say "pour [themselves] a glass of wine and just read the Intel SDM".

When I reflect on conflicting advice like this, the only intellectually honest response is to say that these are minor factors. What all these stories have in common is a large dose of motivation, perhaps at the right time, correctly identified and appropriately harnessed.

Does Omar's success suggest that you too should opt for a long commute so that you can read papers on the train? Perhaps. What about the fact that he quit his career as a surgeon and uprooted his family to move countries and join one of the first cohorts of an unproven program to learn to code in the belief that he could increase his impact on the world this way, and was now joining a team where his ability to be comparably productive to his traditionally educated colleagues could determine his career trajectory, and failure was simply not an option?

Of course you can't reproduce another person's motivation. I'm not even sure to what degree we really can control what motivates us. But we can recognize that our motivation varies over time, and that it can be identified and acted upon. We should also be honest with ourselves about our own motivation relative to what may realistically be needed for a goal, and perhaps also allow ourselves to ignore the low order bits.

Do more of what feels effortless

Even if you have enough baseline motivation, you'll need to find a way to harness it in your work that creates a flywheel. This may mean picking a "suboptimal" practice that you personally find effortless, so long as it makes at least some progress towards your goal over time.

Consider that if I had a heart attack, this would surely motivate me to improve my cardiovascular fitness. If I then channeled that motivation into running each day, I would fail, due to the fact that I simply and absolutely hate the act of running. I am however addicted to jiu jitsu, and while it might not provide quite the cardio workout as running, it's extremely easy for me to do more of it.

This idea really crystalized for me as I was watching a talk about jailbreaking the Nintendo Switch, specifically when the researchers described turning to page 1 of the 3000+ page reference manual for the Nvidia Tegra X1 chip, reading page by page looking for an exploit. Who on earth would do this? You need to be highly motivated to want to jailbreak the Switch, sure, but you also need to be the kind of person who feels an unusual thrill in reading technical hardware manuals looking for details that may or may not even be there. The process is fun for them, it's not as fun for 99% of people in security who may nonetheless have the same "motivation".

So perhaps if you are struggling to consistently do the most optimal thing, (e.g. "grind Leetcode") you could instead pick a good enough approximation that will constitute a better feedback loop (e.g. do some comparably hard problems that you actually find interesting). I want to be fit but not via running. I want to eat healthy food but not if it's kale. I want to get better at algorithmic problem solving but not if it's "grind Leetcode".Really the word "grind" speaks for itself.

Embrace the slope

A final major barrier I see is psychological. Unless you whole-heartedly believe that consistency will bring you success, it won't. It's too easy to fixate on your current state, or how far away your goals are, and tell yourself that you'll "never" be X instead of Y, and give up. Some hurdles are impossible to overcome, sure: I will never play in the NBA. But more often we fail to realize that a little bit of slope makes up for a lot of y-intercept.

In Omar's case, he was clearly learning faster than his teammates, who themselves were learning a lot faster than engineers at other companies! Perhaps your slope is not so dramatic, but rest assured that most software engineers are simply not improving whatsoever. Even just a little slope will quickly compensate for any y-intercept over the long time horizon of one's career.

Speaking of jiu jitsu, in contrast to many martial arts it (i) is particularly challenging for beginners; and (ii) has high standards for skill grading. Almost everybody who tries BJJ quits between white belt and blue belt (usually a 2 year process). There are few enough black belts in the world that it seems impossible to achieve. Yet ask a BJJ black belt their secret to success, and they will likely give you the standard, almost meme-level advice: just keep showing up.

I love this clip of Chris Haueter, one of the first black belts outside of Brazil:

I will ignore the part where he talks about being a "mat rat" (did I already mention motivation and effortless feedback loops?) and quote this instead:

It's not who's good, it's who's left. And it's hours on the mat. And if you put in that time, natural athlete or not, you practice the art, you'll be a black belt. You'll be somewhere in ten years... why not be a black belt too? You just can't quit.

You're going to be somewhere in your career in ten years, why not in your absolute ideal role, doing the kind of work you'd find most rewarding and having the kind of impact that you're capable of? If you don't believe that this is possible, you will surely fail. If you do believe it's possible, look honestly you might still fail! But you'll at least see better outcomes by believing consistency will work than by will believing it won't.

Buy my app

This is the part of the article where I tell you to buy my specific checklist app to follow my patented productivity "method".

Kidding! Is it clear enough yet that I don't think any particular tactical advice is worth your attention? What's important is also hard, but simple:

  1. Motivation: be honest with yourself about how much you have, how much you need, how it changes over time and how you might capitalize on it when it's there.
  2. Effortlessness: emphasize positive feedback loops that you enjoy and that help you achieve a flow state, even if they're not strictly "optimal" for achieving your goal.
  3. Belief: be confident that if you have enough motivation and positive feedback loops, consistency will pay off!

Good luck!