The magic word for developers? Innovation! But, how do you get there? How do you get the chance to innovate and work on the exciting projects everyone loves? Imagine creating an app that rescues the world from climate despair – or something equally remarkable!?
I was talking to a developer and most days he enjoyed his work, but recently he LOVED it with renewed passion and interest. He and one of his teammates were invited to work on a secret project, creating a feature with a HUGE impact on users in an incredibly meaningful way - a life-saving type of meaningful.
It involved new technologies, risk of the unknown and committed collaboration with the team and client. He was euphoric, about all he would contribute over the next few months. How did he find himself in such a “lucky” position? They say luck is when preparation meets opportunity, and that’s exactly what happened here.
“The forager who explores widely will find lots of useless terrain, but is also more likely to stumble across a bountiful berry patch than the person who stays home.”
- James Clear
“How you do anything is how you do everything.” It’s a phrase that always makes me think twice. How I unload the dishwasher, is how I attack a project at work, is how I approach my health and fitness goals.
Who we are in the small tasks says a lot about who we will be for the bigger ones. This dev had proven himself already with the client, so when they had an especially cutting edge project, the client knew they could count on his team to go beyond the regular call of duty.
Location independence + highly competitive projects
Getting back to the fundamentals
There is a certain energy present at the start of things.
The man who showers his new girlfriend with flowers and presents.
Parents with their first child, ruthlessly sterilizing every single baby item.
All the new sign ups at the gym on January 2nd.
It’s easy to find energy when things are new and exciting. When the challenges are stimulating and complex we feel focused and curious.
But what actually separates the good from the great, are those who can sustain a high level of focus and performance when the work gets repetitive. When all that is needed are the fundamentals. When it’s you and that simple line of code or documentation.
One of my favorite sports to watch is CrossFit. It’s simply a competition of pure athleticism. The athletes have to lift, run, climb and perform incredible acts of flexibility and endurance.
Each one of these athletes are specimens of greek god proportions, but after watching an in depth interview with the five time champion Mat Fraser, my mind was blown by what it actually takes to be dominant in this sport.
He attributed his success to something very surprising. Of course, all the athletes train intense, and push to their limits in the gym, but his EDGE was his ability to keep that same focus and intensity in the more mundane aspects of training.
He was absolutely obsessed with recovery.
He would take 3x as long to work on flexibility and mobility exercises (if you have ever done these kinds of exercises, they are the tiny movements and stretches that are incredibly tedious and quite frankly, boring). He would structure his entire life around making sure he got as close to perfect sleep as possible. He would not even cut his own food with a knife, because he didn’t want to risk accidentally cutting himself and losing even a day or two of training.
This is where the edge lies - it’s not about who can go harder, faster, longer when the energy is high and the crowds are screaming and the adrenaline is surging - it’s about who has the discipline to execute on the tedious fundamentals that ANYONE can do - but most of us skip, cut corners, or avoid because it’s HARD to maintain focus when the tasks are small and repetitive.
How do you keep a high level of intensity when things are low and slow?
Here are a few questions to help you evaluate your level of performance in the fundamentals:
How is your code structured? Is there a logic to things or are you just patching up problems?
Is it DRY?
Have you tried to break your code?
Are you pushing to get ahead on tickets so you have buffer for when the unknown presents itself?
When was the last time you asked your manager: “What can I help with?”
Do you use verbose variable and function names or are you shortening them and risking misunderstanding down the line?
When a line of code takes more than 5 min to write, are you making sure to take at least 5 minutes to add a clarifying comment?
Can you simplify this function?
How do you keep a high level of intensity when things are low and slow?
What are some fundamental code principals (like DRY) that are easy to overlook but actually really important to putting out high quality work?
If you can find the discipline to stay focused when the energy is lower, you will create a solid foundation for yourself, build trust with others and allow for innovation. The process may seem “unsexy” but the payoff is worth it. Just ask my dev, who has been absolutely electric every time I talk with him about this new project he is working on.
All because he showed up in high times and low.