Or how to become one of those highly-paid “10x Rockstar Ninja” developers companies love to hire.
It doesn’t matter if you’re working on a side hustle or if you’re a junior developer wanting to get noticed and promoted. It doesn’t matter if you’re a lead developer looking for a change of pace, from a corporate gig to a start-up or the other way around. It doesn’t matter if you’re jobless out of college.
As long as you’re a programmer, no skill is more important to your success than focused, deep work.
From Cal Newport’s book Deep Work:
“The Deep Work Hypothesis: The ability to perform deep work is becoming increasingly rare and at the exact same time it is becoming increasingly valuable in our economy. … the few who cultivate this skill, and then make it the core of their working life, will thrive.”
— Deep Work p.14
I’m going to use some points from Deep Work to tie together my thoughts on becoming a successful, in-demand developer. I highly recommend reading it if you’re in the technology field in any capacity.
From Fear of Code to Lead Developer.
I’m a self-taught programmer. But I didn’t start programming until my late 20s. I’ve always considered myself an artistic person and figured I’d end up in a creative field.
And I did. After college I started a company that did graphics and web design for small, local businesses. I was a pro at Photoshop and knew enough HTML and CSS to be dangerous.
But anything more complicated, requiring even a line of PHP, I had to outsource.
I was petrified of code for a very long time and left it to the folks with Computer Science degrees.
“One wrong keystroke and the client’s business could go up in flames…” I thought. I wasn’t too far off honestly (in the days before version control, there was no turning back with FTP).
Now I’m a lead developer for a Fortune 50 company working on a product that entertains millions of people every month.
How’d I get here in a few short years? 🤔
My “secret” is getting good at focus and deep work. There’s nothing special about me. I took the time to train myself how to focus on one specific thing, without distraction, for an extended period of time.
Code is Art.
Programming is very much a creative pursuit.
It may seem technical and dry to a regular person, but you are a creator. You’re creating something out of nothing. That “nothing” can be an idea in your head for an app or a feature request from a product manager.
That thing doesn’t exist yet, but you’re going to bring it to life. Not with paint or words, but with code (OK, some words, as long as they’re not reserved words).
If you have any desire to produce at a high level, then you have to practice.
The quantity and quality of your output increases when you get better at being able to stay focused for longer, intentional periods.
Art, music, and writing all require long periods of uninterrupted time where the myelin thickens on those synapses between your brain cells. Programming is no different.
You get better with practice and time. And you can get a lot better, in less time, when you make your practice more effective.
Yes, You Can Be a 10x Developer (But 5x, 2x and 1x Are Great Too)
Let me preface this by saying that I hate buzzwords like “rockstar” “ninja” and “10x developer.” Every developer does, but companies and recruiters love to use them.
Despite the cheesiness, there is a lot of truth behind the “10x Developer” idea.
It doesn’t mean that one person can replace ten. It means that some developers get more done, with better quality, and in less time. They do it consistently over the long run without working any harder than anyone else.
This ability is not a natural gift. You aren’t born with it and it’s not something you can “turn on.” It’s a skill that you can, and must, practice and train.
I’ve been on the hiring side dozens of times and I will tell you any company would love to have an entire team of 10x developers. But that’s not reality.
There are more open developer jobs than there are qualified developers to fill them. Businesses are having trouble filling positions with any qualified developers, let alone (some multiplier)x developers.
“Senior executives believe that the lack of quality developer talent is one of the biggest potential threats to their growth.” - The Developer Coefficient
It’s hard to find good talent.
Most companies will knock down the door for a 10x developer but they’re happy hiring 5x, 2x, and even 1x developers.
A 1x developer (yes, I made this up) is a developer who can do the job they’re hired to do. Nothing more, nothing less. Seriously. Any company will be delighted with that. Plenty has been written about the astronomical cost of a bad hire.
The 2 Steps You Need to Multiply Your Programming Skills with Focus and Deep Work
It’s time to step up your career. There’s so much opportunity for you to get hired and thrive in a career you love.
If you’re the entrepreneurial type, the same lessons apply. More so because your livelihood depends on being effective with your time.
This is how you go from junior to senior developer. This is how you go from 0.5x developer to 5x developer. This is how you get your side project off the ground when you only have a 10 hours a week to work on it.
Hell, this is how you survive.
“To remain valuable in our economy, therefore, you must master the art of quickly learning complicated things. This task requires deep work. If you don’t cultivate this ability, you’re likely to fall behind as technology advances.”
— Deep Work p.13
Learning to Focus is HARD.
The first thing to realize is that learning to focus isn’t easy. You’re not going to be able to start producing novels of quality code from the start. Especially if you’ve never dealt with the reality of how easily distracted you are.
Learning to focus requires practice. Anything that requires practice means its difficult. If it wasn’t, you’d be good at it by default.
You’re going to struggle and that’s OK. We’ll start small.
Don’t Confuse Busyness with Productivity.
Deep work is not locking yourself in a dark room and forcing yourself to aimlessly navigate code for 14 hours at a time. Just because you’re doing something doesn’t mean it’s worth doing.
You need to figure out what’s important and what’s not. That’s beyond the scope of this post. If you’re going to spend the time learning how to focus, then do it on something that has a high return for the effort involved.
It’s like the sun and a magnifying glass.
Distracted work is your energy going in every direction like the sun. You can stand outside in the sun and you’re not going to get hurt.
Learn to concentrate that scattered energy with a magnifying glass and your ability to destroy goes from 0 to 10. We want to preserve that limited power for important things (the sun goes down eventually).
Step 1 — Removing Distraction
Multitasking is a lie. You’re fooling yourself if you think you can write quality code while checking Slack messages or reading news in another window.
We live in a world of distraction. The technology we work on is a double-edged sword. There’s nothing like that sweet, sweet dopamine hit from a new notification.
“Cool, someone liked that I saw Hamilton.” But that’s poison to your ability to focus.
Removing distraction is the foundation of focused, deep work.
- Put your phone on silent or turn it off if you’re not in a position that has to be on-call. I use the Forest app to prevent me from going on my phone. Face down, somewhere out of arm’s reach is good too.
- Close Slack. This is a huge one for me because I have this OCD where I need to clear my queue of unread messages. Most of these messages are noise so its better for me to close Slack when working.
- Close any other apps that are going to distract you with notifications, like Outlook.
- This is the hardest one of all — close any browser windows not relevant to your task. Now block all your favorite websites. I love the HeyFocus app ($20) but there are a bunch of free extensions out there.
- Headphones on — This keeps people from bothering you (hopefully), but also listening to the same album over and over is a great focusing tool. It might be a priming thing (signaling to your brain that its time to work) or a flow thing (the music puts you in a good mood). Either way, a lot of developers swear by this technique.
Step 2 — Pomodoro Technique (The Secret Weapon)
Before you have a panic attack thinking that you can’t go 8 hours without any distractions, don’t worry. We’ll be using the Pomodoro Technique to break up our day.
There are a lot of productivity techniques out there, but my favorite has been the Pomodoro. I’m going to paraphrase it below to get you started.
If you want the official rundown, check out The Pomodoro Technique book, which gets more detailed and rule-oriented.
Work for a 25 Minute Block (a Pomodoro)
You’ll work for 25 minutes, undistracted, on one thing. That chunk of work is a one “Pomodoro.”
Then Take a 5 Minute Break
It is imperative that you walk away when its break time. Grab some water. Browse Hacker News. Go to the bathroom. Whatever it is, work is over. Disconnect from work completely.
One Task Only in a Pomodoro
This can be fixing a bug, planning out a new feature, or starting a video series to learn a new framework.
If the task is too big (like “make an app”) then you have to break it down into smaller chunks that take roughly 25 minutes.
Some tasks need several Pomodoros to complete. It might take three Pomodoros to code a feature and two more to write the tests.
Or you might need to batch similar, small tasks into a Pomodoro (ex — reply on 5 JIRA tickets).
The point is that the task, or tasks, have to be one “type” of work.
As an aside, the main reason we procrastinate is because we get overwhelmed by huge, insurmountable tasks. If your goal is to “Write a Book” you’ll never do it. When you break it out into smaller chunks like “Write an outline” or “Write 300 words” then the path becomes clearer. Starting is easier, and doable.
While this post has been about becoming a better developer, not procrastination, the truth is that many times they are the same thing.
Work Without Distraction
See Step 1. If you get distracted, the Pomodoro doesn’t count and you have to start over.
Work Your Way Up to 25 Minutes
25 minutes might be hard for you if you’ve never done this before. Start with 10 minutes and work your way up from there. Next one would be 15, then 20, then 25.
You can work your way up to 55-minute blocks when you really get good at this.
Work Your Way Up to Multiple Pomodoros Per Day
The first time you try distraction-free work, 25 minutes in a day might be all you can handle. That’s fine. Keep working your way up by adding a little each day.
How Does This Make Me a Better Developer?
Let’s be real. You’re not helping your career by jumping from your code editor to a chatroom to an email to a real-life conversation.
You might look and feel busy, and you might even ship some code once in a while.
But the fact is that a few hours of undistracted, deep work produces more quantity and quality than a full day of scattered, distracted work.
Start with one Pomodoro. Eventually you’ll be able to chain a few Pomodoros together.
Then you’ll chain a few days of Pomodoros together.
Then weeks and months.
You’ll find its easier to get into a flow state, and it will happen more often.
This is gold. This is when you have those “eureka” moments and breakthroughs.
This is when the hard thing that’s been kicking your ass becomes easy.
This is when your coding skills level up exponentially.
The demand for good, qualified programmers is higher than ever. The surest path to success is getting into the ritual of deep, focused work.
Try it out and let me know what you think. If you have other productivity techniques, post them below!
Before You Go —
I appreciate all of the love that this article is getting. There’s no better way to support me than to give me a follow on Medium (Bar Franek). It lets me know that I should write more!
I wrote a follow-up article here called Going Deeper on Deep Work about what you should apply these techniques to