Learning to Code is Like Running

We have a few runners on our team - Mary and Scott. More recently I've been getting into it - working my way towards an Olympic Triathlon, and a Half Marathon this year. Getting into running has reminded me that learning an engineering language is more or less similar: You get out what you put in.

What this means is:

For every mile you run today, the next miles you run tomorrow will be easier

For development, it translates to:

For every line of code you write, any code you write after that will be easier

I'm writing this because of some people I've talked to who have the same mentality, but at two different things. It essentially boils down to, "if they put the amount of time they beat around the bush, into actually writing code/running, they would be so much better off than where they currently are." or rather, in the quotes of the ginormous athletic company "Just Do It."



There's a reason why the 10,000 Hours saying exists. In order to become good at something, you need to do it, and do it a lot.

Let me drive these things home:

  • You are not going to get better at writing code, if you do not write code.
  • You are not going to get better at running, if you do not run.

You can plan all you want, research the book you buy all you want, but if you do not actually do it - you are still at 0 lines of code, and at 0.0 miles.

If you are looking for a beginners guide to x - and you don't find it - learn and write it yourself. If you want to improve your mile time - run faster, work harder.

Doing nothing leads to nowhere.


So you want to learn fluent web development/So you want to run a marathon


First things first. Do a reality check - look back at when you "started". How much code have you written? How many miles have you run? If you have done more of talking about doing what you should be doing, than actually doing it - STOP. This is your reality check.



Stop writing pointless emails, stop trying to get 'your way' (This is not Burger King). Stop talking, and start doing. Be a doer.

Come up with your plan - How many days a week are you going to sit down and write code? How many miles a week are you going to run?


Keep track of your goals - find running friends, find friends who are committed to learning code. Hold each other accountable.

Use Github, keep your streak going:



Do, do, do, do. You'll have bad days, you'll have good days. Stop complaining, and go run/code. Complaining gets you nowhere.

Do not stop until you are successful.


So you ran a marathon, so you built your own app.

This is how you feel right now:


Now stop complaining and go do stuff