I have shamelessly stolen this entire post from Jeffrey Way, who is a fantastic teacher over at tuts+ premium. Of course, I asked for his permission and got it. I’ve been working with developers for most of my life and found this so to the point, that I just had to make it available to the rottmann.net audience. Thanks, Jeffrey, for nailing it.

If I could only offer one piece of advice to a new web development student, it would be: “don’t worry; we all feel overwhelmed.” I’d then remind him or her that I, too, am still a student, and so are all of my peers. This industry is an incredibly tough one that requires constant continued education throughout your career. You better be okay with this truth.

You’ll never graduate. You’ll never know it all. But, if you love it enough, none of that will matter. In fact, you’ll crave education.

The standard programming joke is that, Monday-Friday, we go to work and stare at our computers. Then, on the weekend, we do the same thing in our bedrooms, contributing to open source projects. Why? Why do we dedicate precious free time to programming…for free? Well, despite the fact that this surely baffles our employers, there’s lots of reasons why we behave in this way:

We feel the need to contribute back to the industry

We crave some level of recognition from our peers

It’s fun

All three items above factor into the equation, but the final point, “It’s fun,” is the core reason. Programming is like a puzzle. “Given this data, how can I get to that end-point?” And who doesn’t like a good puzzle or riddle?

But It’s Too Hard

Nonetheless, I’m often emailed by students, who either don’t know where to begin, or can’t determine what the next step is.

“What should I master next?” they frequently ask.

My typical response is to offer a handful of technologies that they should become fluent in. The irony, though, is that “mastery” shouldn’t be in your thinking just yet. That’s not the way it works. You don’t master HTML, and then master CSS, and so on. If only it was that easy!

The reality is that our web development training is similar to an RPG; you slowly level up in each category, as you gain more experience. An “aha” break-through in, say, Ruby or PHP, will frequently trickle down to a comparable break-through in your JavaScript understanding. Or, as another example, once you begin to grok object-oriented programming, you’ll likely find that you can apply the same principle to your CSS as well! These technologies are linked, even if you don’t immediately recognize it.

Learning how to develop for the web is a slow process of leveling up.

Imposter Syndrome

Unfortunately, from time to time, we all feel a bit down on ourselves. We’re surrounded by so much talent; am I falling behind? The truth is that this is a natural reaction – one that most developers feel at some point or another. It even has a name: “Impostor Syndrome.”

The impostor syndrome is a psychological phenomenon in which people are unable to internalize their accomplishments. Despite external evidence of their competence, those with the syndrome remain convinced that they are frauds and do not deserve the success they have achieved. Proof of success is dismissed as luck, timing, or as a result of deceiving others into thinking they are more intelligent and competent than they believe themselves to be.
– Wikipedia

One could argue that impostor syndrome is a sign of maturity. It ironically takes a considerable amount of education before you realize just how little you actually know. And that’s perfectly okay! Your peers, your teachers, your developer heroes – they’re all still learning new things every day. That’s what makes this industry so exciting. Because it’s still relatively quite young, there’s a vast world of new ideas and techniques at our finger tips. What could be more exciting than that?

So, to return to my one piece of advice: “Don’t worry; we all feel overwhelmed.” The key is to recognize this truth, accept it, and never, never… ever, stop.

I’ve missed more than 9000 shots in my career. I’ve lost almost 300 games. 26 times, I’ve been trusted to take the game winning shot and missed. I’ve failed over and over and over again in my life. And that is why I succeed.”
– Michael Jordan