Over the past year there’s been unprecedented enthusiasm for learning to code. From NY Mayor Mike Bloomberg’s pledge to the White House’s national summer effort, programming has never been such a valuable career move and somehow it has even managed become a bit trendy, too (depending on your geographical location).

With all this new energy comes initiatives like Code Year, which lets anyone pledge to learn to code with weekly tutorials via Codecademy. So maybe you signed up, or perhaps you did some research on your own, but here we are and you still can’t code…

If this situation applies to you, know that you’re not alone. Learning any language is hard to do, and programming requires countless hours of practice before you can really start making something impressive.

It’s tough work, but don’t get discouraged. Drawing from personal experience and opinions I’ve gathered from those around me, here’s a look at some roadblocks that are standing in your way. After that, we’ll figure out how to get past them.

OMG choices!?

If you’ve never written a single line of code, the odds are you’re having trouble deciding where to start. Some languages have steeper learning curves than others, and it all depends on what you actually want to create in the end.

If you’re not sure what you’d like to end up building, you might appreciate Codecademy‘s method of jumping right into JavaScript (the Web’s scripting and programming language), as it’s extremely useful and shares many of the same foundations with other languages.

14 Heres why you havent actually learned how to code yetOf course there are plenty of other options as well. You may have heard of Ruby on Rails and its beauty, but getting going with Ruby (let alone RoR) comes with a steep learning curve just to get the setup right. PHP, on the other hand, is much easier from the get go, plus it comes in handy if you’re looking into WordPress development.

If you’re hoping to build apps for the web, starting with HTML and CSS before an actual programming language can do more than just help ease the learning gap — It may in fact be the easiest way for someone with a blank slate to get started with code.

From an artistic or design perspective, you might want to look into Processing, which is a visual programming language created to help teach coding. It comes with its own program that you’ll use for development (an IDE), and hides a lot of the complicated stuff that tends to overwhelm beginners.

With the exploding popularity of mobile apps, you may be eager to get started in that direction. Developing actual applications that compile and launch isn’t for the faint of heart. So brace yourself, do tons of research on iOS, Windows Phone or Android and find a tutor or class.

No matter your choice, don’t waste time debating over the merits of each language at this point. Just dive into whatever peaks your interest, and remember that you can always change your mind and apply what you’ve learned elsewhere.

I’m stuck

0b3377f5350f4034955954c7baee6584 7 520x520 Heres why you havent actually learned how to code yetOnce you’ve settled on a direction, there’s nothing better than diving right in. And as you get started, you’re bound to find yourself horribly lost and confused when things don’t work out as you planned. Fighting through these moments is one of the most rewarding parts of coding, but sometimes you’re going to need outside help.

If you’re lucky enough to have an experienced friend or teacher at hand, this is the kind of resource you should be taking advantage of. Otherwise, there are great places to look for help, including support forums, physical meet ups and hackathons.

Do some reading, watch a video tutorial or even move on to something else and come back later. What ever you do, remember that you’re not actually supposed to get everything right away. Wax on. Wax off.

Bite the bullet

In the case of coding, the harder you work and the more time you spend, the greater your rewards will be. If you’re a designer, learning to code can help you understand what you’re creating for, and if you’re looking to build a startup from scratch, being a technical founder can make things exponentially easier for you.

No matter what you want to learn and why, everyone has to start somewhere.  And if you’re still not sure where to go next, here’s a list of 7 ways to start learning how to code right now for free. Then, here’s 5 more ways to get started coding today. Go get ‘em tiger!