A few months ago I started mentoring for Code Louisville - an organization offering free programming courses. After nearly 20 years developing, I had forgotten some of the struggles of starting out. I tried to reflect on the different developmental milestones a programmer reaches as their skills grow.
You're just starting out. The world of
0 is new and harsh. Everything is a challenge. You're thirst for the motherboards milk keeps you going. But if you don't get the nourishment you need, you won't survive.
You've learned enough to tie your own
for loops. Now you're able to go out and play. You discover new things. You tinker. You want to do everything yourself - who needs that third party library anyway. You're still young and as such make silly mistakes. Sometimes you'll try to hide them as you know there's more to learn.
You're coming into your own. You've learned enough to think you're invincible. You think you can do things in 5 minutes. You obsess over the minutia and constantly look at your code in the mirror. You think your way is cool and anything else is not. Let's face it, you're a programming punk.
At some point you grow up enough to realize a few things.
- There is nothing cool about complexity.
- You don't have to build everything yourself.
- Helping those around you grow is part of personal growth.
- You lead by Boy Scouting.
- Shipped is better than perfect.
In the end, a well-developed programmer possess traits from all stages. They maintain their hunger and passion from early years balanced by knowledge gained in later years.
Find this interesting? Let's continue the conversation on Twitter.