If you’re on a journey to become a good developer, keep at it

March 4th, 2012

There’s a gap on the journey to being an expert developer that they don’t tell you about. It’s like a canyon you come across on your trip from beginner to expert. Imagine that learning to program is like walking from one town to another across a field and halfway there you come across a deep canyon. How many people get to this canyon, see how much work it will be to get across and turn back or just stay where they are? Think of when you first start to program, you do all the beginner tutorials and you look at all the amazing stuff being create by the best. And you see no reason why you can’t being creating things just as amazing soon. It’s just like walking across that field and seeing the great things in the distance but you can’t see the canyon yet.

When you start learning to code, you do the examples in a book or the tutorials on a website but you can’t build things on your own, you need an example. You come to the edge of that canyon the first time you need or want to build something that doesn’t have a step by step example. But even then, you could find something similar that someone else has built and if it’s possible, if it’s something build with JavaScript or even in Flash, you can take a look at what they did. But more times than not, you won’t be able to decipher what they’ve done. You’re looking at code that makes little sense to you. Or you know you want to create but the code you think should work, doesn’t.

For me, this felt like I was at the cliff face of that canyon and I knew if I was going to be as good as I wanted to be, I was going to have to climb down that wall, down into that deep canyon. Gone were the days of doing fun tutorials where I build a Twitter search app using jQuery, now I realized I had to learn why the code did what it did. I had to read the thousand page book and learn the proper syntax, learn the built in methods, learn the right way to write code. I’d entered that period where I knew enough to know how much I didn’t know. When you’re down on that canyon floor and you look up at where you want to be, it seems farther away then ever. This, to me at least, was the hardest point. This is when things can stop being fun, when it becomes a grind. This is when you look at what the experts are doing and think to yourself, “I’m never going to be able to do that”.

You’ll also discover something else at this point, remember all those beginner tutorials? There’s a ton of them out there so there should be a bunch of intermediate ones to help you get to the next level. But there’s not really. For the most part, you’ll find that besides those beginner tutorials, the rest are articles written by really smart people about complex things you kind of understand but not really. In fact, some of the stuff you’ll read will make you think that the side of the canyon you have to climb up is twice as high as the one you climbed down. I wonder how many people get to this point and give up. Perhaps you know enough to do some of the stuff you want to, and maybe you don’t plan on doing anything really complex.

There’s other factors too. When I first started learning ActionScript 3, gotoandlearn.com was a huge source of learning for. But then when I would do a tutorial by someone with a different coding style, I’d find myself getting lost. This can be even worse when you’re trying to learn something like JavaScript, which has some many different ways to do the same thing, sometimes you wonder if people are using the same language.

Maybe you don’t get out of that canyon, maybe most of us don’t. Most of us don’t work for Google or Mozilla, where our job is figuring out how to use the latest browser features. Instead, we are building things for clients and we get to figure out something new because a client wants a feature we’ve haven’t built before. Maybe it takes a while to get out because you’re like me and 95% of the experimental stuff you do is at home while you’re watching Fringe. You’re doing this because you love it. Maybe it doesn’t matter that you never get out of that canyon, just trying is enough.

You’re going to frustrated. You’re going to get depressed. You’re going to look at other people’s work and wonder if you’re ever going to be able to do that. Just remember, everyone was a beginner once. No one starts out as an expert. Keep hacking away, something will click and you’ll understand and then something else will click and you’ll understand even more. Don’t compare yourself to anyone else, just compare yourself to you yesterday or last week or a month ago. If you’re better now then you were then that’s all that matters.

One Response to If you’re on a journey to become a good developer, keep at it

  1. Nelson says:

    Such a good article! I know what’s like to be frustrated when you hit a wall, or a canyon in this case.

    When you need to build something complex that you never did before, you bang your head to the wall, working late at night, during weekends… Then, you get it, you find the solution for that problem and it’s the best feeling you can get out of programming, that feeling of accomplishing something hard, it feels good. You give yourself a pat in the back and say proudly, I did this!

    To me, it’s what’s exciting in the programming world, getting things done.

Leave a Reply

Your email address will not be published. Required fields are marked *