Athletes train their physical abilities and their sports specific skills. How can developers do the same using that analogy?

jcsmileyjr profile image JC Smiley ・2 min read
  1. The nature of athletics leads to comparing your skills with others. Athletes compete during practice with their team and against others, usually starting at a small level and working up to top level competition. You shouldn't be alone in your pond. Joining social groups and working with others helps you to see how others do things, gives a sense of humility, and also competitiveness and aspiration.

  2. To become skilled at anything you need discipline and grit. Set short and long term goals, write them somewhere so you can see them, and chase them. "No discipline seems pleasant at the time, but painful. Later on, however, it produces a harvest of righteousness and peace for those who are trained by it."

  3. Athletes train hard to be able to handle any situation encountered in their sport. Therefore, in tech if we expose ourselves to many concepts, we will build a powerful arsenal of resources to handle any situation.

  4. A funny thing about muscle development is in order grow bigger muscles, you have to strain your current muscle to the point of damage. As it is with us, and the pains we go through with bugs and missing semicolons, all to increase our muscle memory for certain tasks and mental strength (read flexibility) for more complex tasks.

  5. Robustness is the breadth of a person or a team's skills profile. Like an athlete who competes in the decathlon (10 events) is Robust. Anti-Fragility describes systems that adapt and rebound after a challenge. Developers should be Robust and Anti-Fragile in learning from the pains and errors to become stronger.

  6. Athletes first recognize their region where they lack. Knowing our weak spots can give us a direction to work in.

  7. Touch typing skills are a must. The faster you type CORRECTLY the more work that you will get done when you are writing code.

  8. Read other people's code. Whether it is a formal code review or just browsing open source repositories. You will start to develop a sense for what makes code readable.

  9. Talking about code and development is a skill. It's hard but a skill to mix business terms, variable names, and programming concepts in conversation.

Contributors:Corey McCarty, Agrit Tiwari, Steve Hallman, Dennis Kennetz, Coriano Harris, Lawrence LockHart

Code Connector is a non-profit that's organized tech meetups to help people start their journey into tech. You can join our daily conversations by clicking this link: Code Connector slack channel.

Posted on by:

jcsmileyjr profile

JC Smiley


Front End Developer with a focus on React (web) and React Native (mobile), Code Connector national team Online Content Manager and a leader for the Memphis chapter, Gardner, and Outdoor Enthusiast


markdown guide

Recently I've found article which suggests that coding uses same regions as speech. So it might be possible that learning new human languages would be helpful to improve coding performance (and perhaps vice versa).


Perhaps this is just a coincidence, but my coding performance significantly increased when I learned couple of new languages.

That makes perfect since. Like an athlete learning a different sports, the skills increase performance everywhere.


for me its by fixing some complex project and never give up will give us experience and more muscle for us developer its experience at fixing bugs for example for later we can use it to fix a bug in the future


Being a sponge that collect ideas through reading & listening widely. It really helps a lot understand things when your building software for people.


Great comment and so true. Building skills is not just hands on keyboard but passively reading/listening.