Programming is not exactly like riding a bike. You can’t take a year off and hope to pick up right where you left off. Not only do the languages themselves evolve every few months, but so do best practices. Experienced programmers can get stale very fast if they don’t keep abreast with the latest trends, and novice programmers can really stunt their growth if they’re only learning off and on.
As a co-founder of a new startup, for me the first few months involved a lot of product work (design and development). I was constantly learning new techniques while I built our first version. But as anyone in the startup world knows, your job changes from day-to-day. Since we launched around a month ago, I’ve spent less time coding and more time doing sales, marketing, and business development. Since programming is simply a means of building a product, at some point you need to shift your attention to selling what you’ve built.
It’s a blessing and a curse that I’ve been taken away from a day-in and day-out programming schedule. Part of me was happy that I’d programmed the product to a point where I felt comfortable being able to sell it, and part of me knew that my momentum in learning to program would be slowed. Coming back and doing the front-end of a Customer Story reminded just how detrimental taking four weeks off from programming can be. Something that I would have knocked out in no time when I was in the flow only a month ago took me much longer because I was rusty.
Not only was I rusty writing code, but also my mental focus was now on the business side of the company and not with the same precision on the product. If you want to get really good at programming something, it’s best done consistently for a lifetime. I don’t have that luxury, so I’ve been trying to come up with alternative ways of staying fresh.
I’ve come up with three ideas to keep me moving forward:
- Deploy code at least once a week. Not just small tweaks, but larger tasks that really force me to sit down and learn new things. For me this will probably translate into 5-10 hours a week for the foreseeable future–until we begin working on a big new release.
- Continue to learn new programming techniques. There’s always something new to learn, which is one of the reasons I love programming. I want to pick up at least one new concept a week or continue to develop a new skill.
- Go to at least one local programming meetup a month. There are a lot of great ones offered here in New York City. You can check Meetup.com for programming meetups in your area.
Please leave a comment if you have other ideas for staying fresh.