Remember the old adage, “How do you get to Carnegie Hall”? Well, you probably won’t—not as a developer, anyway. But, the response holds true: Practice, practice, practice.

Development is a bit like learning to play an instrument, because the more you practice, the better you become. One caveat, however, is that the instrument you’re learning changes every couple of months. Last year, it had four strings, 12 frets, and a whammy bar. This year, there’s nine strings and 18 frets, and that little whammy bar now has a sleeker, sexier counterpart positioned at the very bottom of the instrument and you have no idea how to reach it. Oh, and did I mention that there’s now a cord that connects it to another instrument that you also have to learn, just to get yours to work?

Welcome to development, where adaptation is key. And not just with new technologies, but with those glorious idea artists who pour for hours over typography, colors, and layouts to create the most robust design imaginable. Your mission, should you choose to accept it, is to translate and adapt their ideas into something interactive and functional. This is where all of those math word problems are actually put to use (your teacher promised this day would come). “Little Billy needs to translate a formidable design—complete with sliding interactions and jazz hands—into HTML, CSS, and JavaScript, and then populate all that markup via PHP and an obscure API. If he has only 60 hours to complete this task, how many caffeine drinks and games of ping pong will it take to win the Super Bowl?” Wait… what? That doesn’t even make sense. Looks like Little Billy has a bug in the code somewhere.

After developing for a while, your fingers will gain muscle memory that just instinctively spews code onto the screen. Yet, every now and then, something goes wrong: a tag wasn’t closed, an extra character was added, or that Nigerian Prince took your refusal to pay personally and sent an army of overly cat-nipped script kitties into your files to wreak havoc. Now comes the truly baffling part of development: troubleshooting. Sometimes you have to pour through hours of code and testing to discover the issue, and other times, the problem magically disappears. You don’t know what you did to fix it, and you are a little skeptical about this dubious resolution, but you count your lucky stars, buy some cat traps (i.e., cardboard boxes), and move on to the next project.

Developers, for the most part, are driven by the lure of the next endeavor. This is when they get to take what they know and tie it in with something new to make an even better product with their bolstered coding arsenal. Yet, even developers can get a little stale in their coding, despite the ever-expanding world of programming. This is when collaborating with other devs is truly rewarding, and the best way to not only expand your repertoire, but theirs as well. It’s nigh impossible to know every coding language, and every nuance therein. You may be able to code in more languages than government spooks know how to speak, but there’s always something to learn. So, keep that in mind while you’re coding toward Carnegie.

Hire Gravitate. Get Results.