Last year I took up running and I wanted to share some things I learned along the way. Basic lessons, bordering on the self-evident, that can be applied to running, other sports or, why not, career development.
#1 - Starting is the hardest part
At first I couldn't run five minutes without taking a walk break. After years of being a couch potato my body and my mind weren't prepared for this. Starting was going to be hard and I had no other choice than accepting it. But, as it usually happens, I'm not a special case.
Every day it gets a little easier. You just have to do it every day. That's the hard part.
Couch to 5K (C25k) is a beginners 8-week program that starts with a mix of running and walking, gradually building up strength and stamina to fully running 5K.
So I went through the pain of completing the full program and, imagine what... I saw progress! Who would have imagined? Developing a new skill (like running) is a process made of different stages.
The four stages of competence are the psychological states involved in the process of progressing from incompetence to competence in a skill:
- Unconscious incompetence: The learner isn't aware that a skill or knowledge gap exists.
- Conscious incompetence: The learner is aware of a skill or knowledge gap and understands the importance of acquiring the new skill. It's in this stage that learning can begin.
- Conscious competence: The learner knows how to use the skill or perform the task, but doing so requires practice, conscious thought and hard work.
- Unconscious competence: The individual has enough experience with the skill that they can perform it so easily they do it unconsciously.
As software developers we go through these stages, not once, but multiple times in our careers. It's a cycle that starts over and over again at different levels. Starting a new job in a new position, new project with a different team, new programming language or paradigm, new framework... They all require us to master new skills.
#2 - Don't compare to others
Once I finished the 8-week C25k program, I started looking at my times and comparing them to my running friends'. Then I started wondering. Why am I so slow?
There's an immediate and easy answer to that question. I had just started running. But very rarely do we just accept this obvious truth. Because... other people who have also just started running are faster than us. Well, the truth is that genetics also plays an essential role in running performance, along with age, exercising history and a myriad of other factors. It would be impossible for you to know how all of them are affecting other runners.
We tend to make a lot of assumptions. But the truth is that reality is way too complex to make these direct comparisons.
But the main reason why you shouldn't compare yourself to others is this one:
Comparison is the thief of joy.
A much more positive approach is to compare with your previous self and focus on your progress.
Career comparison can also be dangerous, even if the original intention is positive. Pay inequality is a big problem for underrepresented groups, not only in tech. Making it visible might seem like a good idea. Trying to get everyone to go public with their salaries, however, starts an infinite loop of misleading comparisons where all the individual circumstances are ignored.
#3 - Set achievable goals
Being able to run 5k was my first goal. Running a marathon wouldn't have been realistic given my fitness level. Setting long-term goals is a good way to improve motivation, but I prefer working towards short-term ones. Some short-term goals I've already achieved include:
- Completing C25K.
- Joining a running club.
- Doing a parkrun.
- Running a 5k race.
- Running 10k in under 1 hour.
These are S.M.A.R.T. goals, as defined by George T. Doran in a paper included in the November 1981 issue of Management Review:
- Specific (simple, sensible, significant).
- Measurable (meaningful, motivating).
- Achievable (agreed, attainable).
- Relevant (reasonable, realistic and resourced, results-based).
- Time bound (time-based, time limited, time/cost limited, timely, time-sensitive).
Need inspiration for your programming goals? Have a look at the comments on this post.
What are your goals as developer for 2k20+?
Andreas ・ Jan 4 '20 ・ 1 min read
#4 - Slow down to avoid burnout
Ok, I can run. But I am very slow so I set a (SMART) goal to run 5k in under 25 minutes by the end of the year. So every time I go for a run, I push really hard to try to do a new PB. This, obviously, doesn't work. Your body and your mind need recovery.
Multiple studies have shown that runners of all ability and experience levels seem to improve the most when they do approximately 80 percent of their training at low intensity and 20 percent at moderate and high intensity.
Feeling drained from pushing too hard is not alien to software developers.
I haven't looked at my GitHub profile in a long time, but it clearly visualizes the point at which I burned out prior to leaving Google. I still treasure my time there, but the long hours took their toll. I didn't even realize how bad it was until now.16:33 PM - 03 Jan 2020
Burnout is, unfortunately, a common phenomenon in our career. It can be defined as a state of physical or emotional exhaustion that also involves a sense of reduced accomplishment and loss of personal identity and is often due to long-term and unresolvable job stress.
Want some tips to avoid burnout? Addy Osmani has you covered.
Tips I use to avoid burnout:
* Learn to say "no" more often. Know your limits. It's easy to over-commit
* Time is your biggest asset. Spend it on what matters most.
* It's OK to ask for help. This includes seeking collaboration vs. going alone
* Take short breaks to recharge20:23 PM - 18 Dec 2019
#5 - Learn from others
Running is a sport that suits introverts and extroverts. A long run is perfect for those who enjoy having me-time. But it's also great as a social activity. You can do it with friends, colleagues or a running club. Even though I lean towards the introverted side of the spectrum and I do a majority of my runs solo, I've enjoyed running with my colleagues every Thursday or at my local parkrun (where I also volunteer). Sharing my experience with others has increased my motivation and taught me a lot about running.
If you enjoy the social component of software development there are a lot of ways to keep yourself up-to-date with new technologies, get to know new interesting people and work on interesting projects:
- Meetups
- Hackathons
- Tech talks
- Open Source community
Some of these social gatherings can even push your performance to unimaginable limits...
Developers during hackathon: We built an entire application in just 3 days.
Developers after hackathon: Adding that icon is going to take 3 weeks.20:56 PM - 27 Nov 2019
Conclusion
Taking up running has made me reflect on basic aspects of career development like the four stages of skill competence, setting SMART goals, the importance of avoiding burnout, or the social aspect of learning.
Think about them. They will help your career in the long run.
Top comments (20)
Good advice 😄, People usually advice to have 6 hours of sleep , But do you know how long its advisable to sit before the computer coding ?
Good point! Burnout is something to watch out for, definitely.
It was so impressive and useful.
thanks for sharing.
Thanks for reading, Bani!
Great article! Thanks for writing!
Thanks for reading!
Thanks Ismael, this article is really inspiring! I actually find it very motivating as I'm struggling to prepare for a half-marathon these days :)
Thanks Sara! I'm preparing for a half marathon too! 😱Let me know how your training is going 🙂
Will do! Still stuck on 10 km tho :(
Very inspiring, worth a couple of re-reads :)
😉
This is amazing advice, thank for sharing! This mirrors my own experience starting CrossFit: it's hard, and hurts, and gets easier.
Thanks Ismael, it's amazing to see that you made this connection and was able to put it into words!!!!
😉
Yeah, great quote.
Awesome post. Thanks Ismael!
Running has taught me so much -- the feeling at the end is worth the struggle.
Thank you for reading!
Me too. And the lessons learned can be applied to many other things in life :)
Hi Ismael,
Really nice written, thank you. Specially loved the "four stages of competence" :)
Thanks for reading, Maxime 🙂
Thank you :)