DEV Community

JC Smiley
JC Smiley

Posted on

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

  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.

Top comments (7)

Collapse
 
siy profile image
Sergiy Yevtushenko

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).

Collapse
 
jcsmileyjr profile image
JC Smiley

Interesting

Collapse
 
siy profile image
Sergiy Yevtushenko

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

Thread Thread
 
jcsmileyjr profile image
JC Smiley

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

Collapse
 
spiritupbro profile image
spiritupbro

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

Collapse
 
steelwolf180 profile image
Max Ong Zong Bao • Edited

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

Collapse
 
jcsmileyjr profile image
JC Smiley

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