Music for reading(spotify)

I’ve been coding off an on since I was 12. First with HTML and JavaScript in the early, ugly, static days of the Internet (remember GeoCities?). A few years into my tech career (circa 2004) I got into PHP. About two years ago, I rediscovered my love for coding and, shortly after, got involved with Ruby and Ruby on Rails.

The thing to take away from all that is I’m self-taught. There seems to be a perception that you can’t be a developer because you didn’t get a Computer Science degree, finish college, or even attend college. This is folly, friend. Surveys have found that 69% of working developers are self-taught to some degree. So, if you’re rolling your own engineering curriculum, you’re in the majority!

I can tell you from experience that doing it yourself can be a tough row to hoe! If you’re just starting to dabble in code, here’s some thoughts to help you along or just give you a shot in the arm to keep at it when you feel incapable (been there) or just stupid (done that).

You Already Have The Most Important Thing

I’m going to remove my glasses and look you dead in the eye because this one’s a biggie; the desire to learn is the most important thing you can have going for you. Not one of the most or probably makes the top 5… No, I mean the most important thing.

I’m serious (hence why I removed my glasses). If you have taken even the babiest of baby steps (bought a book, read a blog, started a course), you home free. I don’t mean to say it’s not harder than that. Of course, it is but all you have to do is keep that fire tapered and burning and you’ll be fine.

You have to love to learn new things because, once you get started in development, you’ll spend a surprising amount of time learning. There will always be some new thing to learn. Which brings to my next point.

The Language Doesn’t Matter

The language you choose to start learning doesn’t matter. No, seriously. It. Doesn’t. Matter. What you want to do matters. Learning any of them has pros and cons and some are better suited for the beginner but choice of “starter” language should be informed by what kind of development you want to do.

Ask any 10 seasoned developers what language you should start with and you’ll likely get 10 different, and likely, conflicting answers. Always remember that languages, frameworks, and methodologies are tools used to accomplish tasks. Taking an oath of allegiance to any of them is like preferring a socket wrench to a crescent wrench. You’re not signing-up to have and to hold. The important thing is starting and learning.

Find Your Community

Learning on your own can be an isolating experience. Being able to connect with other people learning and those more experienced will pay dividends. Whether online or IRL (or both), finding a community of people of varying experience will give you a support network as you grow. I have found my share of supportive, generous souls in the small but growing tech community here in Savannah, GA (found online here). Some I’d even call mentors who’ve helped me tremendously and continue to do so. You’ll need that help through the hard parts. And trust me, they’ll be hard parts.

It’s Supposed to Frustrating Sometimes

Speaking of the hard parts… You’re learning something new. It takes time, practice, and there aren’t any shortcuts. I assure you that, at some point or the other, you’ll get frustrated when something’s not clicking. Everyone seems to understand it like some fundamental truth of the universe but you just don’t get it. You’ll come to the conclusion that it’s because you’re dim and everyone else is brilliant. Incorrect, buddy. It’s because it’s new information and you haven’t connected the dots yet. It’s perfectly normal to become frustrated at points such as this and lose patience with it.

Don’t despair, though! Even the most experienced among us hit this from time to time. Sure, years of hard-won experience may make this less frequent but I’d bet you dollars-to-doughnuts it happens to us all. Take a breath; take a break; it’s okay. Sometimes it’s just hard work and takes as long as it takes. Don’t despair and don’t quit. All that frustration means nothing at all when it finally falls into place. It’s addictive!

Keep At It

Did someone bearing a remarkable resemblance to me say “don’t quit”? I mean it with all my heart parts. Write it down, set it as your desktop background, tattoo it someplace (tasteful) if you’re so inclined. Don’t give me the “it’s so corny” jive. The desire to learn is the most important thing and tenacity is in a close second. If you have both the drive to learn and the tenacity to see it through, I’m not worried about you. You have everything you need. Now you just have to get it done.

I hope these thoughts give you some comfort and encouragement on your way. God knows I have to repeat some of them like a little mantra some days.

Geekend starts today I’m there with bells on! If you’re attending, why not hit me up and say “hi”?

As always, leave any comments or questions below and, of course, you can also find me on the Twitter.

Until next time, take care!