2015-04-01



“So, I’ve been thinking about learning to code…should I do it?”

It’s a question I‘ve been getting pretty often since I learned to code. It makes sense. I won’t shut up about how learning to code has opened doors for me, and my friends want to know if it will work for them too.

But when they ask me if they should learn to code, they’re not really asking if learning to code is a good career decision. They really want the answers to these questions:

Am I smart enough to learn to code? Can I even do it?

Is coding really going to transform mylife?

Should I really pay for this?

I can answer “yes!” to the first two questions. In my humble opinion, and everyone here at Skillcrush agrees with me, learning to code is more about staying motivated and getting comfortable with trying something over and over until it works than it is about smarts.

And I think it’s safe to say that coding will change your life. According to Liz Eggleston of Course Report, “In our last piece of research about student outcomes after they finish coding bootcamps, we found that graduates raised their income by 44 percent, so they got an average raise of $25,000 at their first coding job.” Sounds like a life-changer to me.

But the third question isn’t as simple, is it?

In this article, I’m going to get down into the nitty-gritty with you, so you can decide if you need to pay to learn to code. I’ll cover:

What you REALLY need to ask yourself when you’re considering paying to learn to code.

What factors can make or break your success in any coding education program.

The menu of options out there for learning to code.

How to weigh the pros and cons of free and paid options to figure out EXACTLY what path is right for you.

Where to find resources and learning platforms that meet your needs.

So hop on board, and let’s get you coding.

Should you pay to learn to code?

It’s a pretty heated topic. The answer to that depends on a couple things: one of them is motivation.

If you’re anything like me, every year, February comes as a major shock. It’s not so much the fact that a whole month has passed and I haven’t started writing the current year at the top of documents yet – it’s the fact that once more, I didn’t get around to my New Year’s resolutions.

And yet, every year, I refuse to believe that the problem is me. I’m not one of those people who can’t make a decision and stick to it. I’m a go-getter.

Maybe you know what I’m talking about. There are always circumstances getting in the way – you couldn’t do yoga everyday because you pulled a muscle, you couldn’t eat more salads because you weren’t expecting that big project to force you into ordering so much sesame chicken, and you didn’t learn to code because…well…wait, why didn’t you learn to code?

Why haven’t you done it yet?

You’ve read that learning to code can change your career and life – you want this.

But sometimes, really really wanting something to happen isn’t enough.

Here’s what I mean:

If your plan is just to “get in shape,” it’s not going to happen. You need to have a lot more details lined up, like what class you’re going to do at the gym on Tuesdays, how many bottles of water you’re going to drink per day, and how often you’ll take your bike to work rather than the train.

However when your grand plan to gain 5 lbs. of muscle mass fails miserably, it’s easy to wonder if there’s just something wrong with you.

The same is true with tech. If your plan is just to “learn to code,” you’ll have a hard time making it very far. You need to know at least some details. For example: What will the lessons be like? Will you learn on your own or with a class? Will you end up with a portfolio of projects? What kind?

Just like when you don’t follow through in other areas of life, when you mean to learn to code, but you just don’t, it’s easy to make the mistake of concluding that you’re just not cut out for this.

What’s your goal?

The second important factor when deciding if you should pay to learn to code is your objective. What do you want your life to look like? What is success for you?

You want a total career change

You want to supplement your income with a side job or freelance work

You want to level up in your current position

You want to change the way you are working – for example, you want to work remotely, part-time, or at a different type of company

Maybe you don’t know. That’s still a good place to be. Code will change your life even if you don’t have an outcome in mind.

So the real question isn’t, “Should I pay to learn to code?” It’s, “What does success look like for me, and will I have to pay for that?”

Doesn’t sound as sexy, I know.

The bottom line?

I believe that you are cut out for this. We all do. You just need to set yourself up for success. What situation do you need to create so that you stay motivated to keep learning, even when you hit roadblocks?

Decisions, decisions.

What are your options?

When it comes to getting coding skills, there are all kinds of options out there – online or offline, subscription or tutorial, etc. And when you’re figuring out what works for you, you don’t have to choose just one.

But still, all those choices can leave you feeling confused, overwhelmed, and ready to ditch your text editor and look up Corgi photos on Pinterest, am I right? That’s why you need to understand what the options are and whether they’re right for your personality or circumstances.Figuring out which ways to learn work best for you before you start will make you much more likely to succeed in – and enjoy – learning to code.

RESOURCES VS. INTERACTIVE TUTORIALS

Do you love going through your RSS feed each and every morning? Or are you more of a “hands-on” type, famous for learning to repair your own kitchen sink or assembling IKEA furniture without looking at those cryptic instructions?

If you’re the bookworm type, you learn better by absorbing information. While if you’re more of the DIY-er, you need to put something into practice before it fully sinks in.Knowing whether a more passive approach or lots of activities is the way for you will help you learn as quickly and easily as possible.

So, take a look at the difference between the two types of learning materials – resources and interactive tutorials – and see which one appeals most to you.Or if, like most people, you do well with a bit of both, make sure your study program includes the right balance.

Resources

Resources are more traditional learning materials. Think books (printed or electronic), videos, and blog posts.

Resources are usually chock full of facts, so they’re convenient for finding both new information and checking it as a reference later. You’ll probably find yourself reading/ listening/watching resources more than once, and even going back to certain parts of them over and over.

Resources don’t let you know if you’re learning from them, but they do let you go at your own pace and make your own connections. And that might be exactly what you need to really understand some concepts.

There are tons of free resources out there, both paid and free. The Mozilla Developer Network and theCSS Tricks blog are two examples of awesome free resources, and an A Book Apart ebook is a great paid resource.

Resources are good for you if:

You know what information you’re looking for. For example, you know that you should learn HTML + CSS before you learn anything else.

You’re supplementing knowledge you already have. For example, you studied CSS ids and classes, but you need some more information about when and how to use them.



Interactive Tutorials

You can think of interactive tutorials like the arts and crafts you loved in elementary school. Instead of reading or hearing about what you could do with some macaroni, string, paint, and glue, you actually got your hands (and face and clothes) dirty by creating the most beautiful pasta necklace your mother had ever seen.

When you’re learning to code, your macaroni and string might be the CSS properties padding and margin and the necklace elements of a webpage. Or the paint and the glue could be JavaScript functions and operators and the necklace a web app you make with them.

In other words, interactive tutorials let you actually use the code you’re learning and see what happens when you do, which can bring the theory to life in a memorable and eye-opening way.Plus, these kind of exercises and projects can give you feedback to let you know whether you got things right.

So, if you forget the end tag from an element or a semi-colon from a statement, your code will be highlighted in red. Or, if you use == instead of ===, an interactive tutorial can show you how that affects the result of a statement and warn you to check your code.

Even though that means you’ll be limited to “right or wrong” with these tutorials, they will keep you from wondering how you’re doing, and that’s incredibly helpful because dealing with uncertainty is tough.

Tutorials can be both free and paid, but keep in mind that free tutorials usually don’t offer personal feedback – only automated feedback, like your code showing up in red if it’s not correct.

Codeacademy and RubyMonk are robust free option, and Try Git is an example of a great free module.Skillcrush Challenges (part of the lessons in the Skillcrush Blueprints) are all examples of paid interactive tutorials that include personalized feedback and user support.

Interactive tutorials are good for you if:

You are a true beginner and need guidance to find out if you’re doing something right.

You learn best in a hands-on setting

You want to see clear markers of success, like successfully completing a challenge or passing a level.



STANDARDIZED VS. PERSONALIZED PROJECTS

Now that you know about the sources you can use to build your coding muscles, it’s time to think out about the kinds of things you can create as you learn.This is the work, or the projects, that you’re going to come away from your course with. What you’ll put in your portfolio. What you’ll show off to potential employers or clients.

The projects you do are super important while you’re learning to code, because leaving with a project you can use to get hired and leaving with an out-of-the-box tutorial project can mean the difference between getting hired now and getting hired after beefing up your portfolio for 3 months.

When you start a course of learning, you’ll want to think about what kind of projects (if any) you’ll come away with. A project might require you to follow specific instructions or let you make your own creation – or a hybrid of the two.

Find out about course projects in advance so that you’re sure you’ll enjoy doing the work and finish your studies with a set of projects that really shows your skills.

Standardized Projects

It can be really helpful to have a clear and definite set of guidelines for projects, especially when you first start out. That way, instead of using your brain cycles for coming up with ideas and solutions, you can just focus on actually doing the work.

There are plenty of classic coding exercises.

Making an exact replica of a webpage with HTML and CSS.

Creating an interactive quiz with JavaScript.

Building a to-do list app with Ruby.

And those are only a few.

These are classics for a reason. They get you practicing using code in a realistic but controlled way. And this lets you concentrate on learning to use these skills in certain ways that will help you later.

So, embrace the “Hello, World” or the “Fizz Buzz” challenge. It’ll definitely teach you something as well as let you give a nod to the thousands of programmers before you who completed exactly the same standardized project before going on to their digital fame and fortune.

You’ll come across both free and paid standardized projects. Keep in mind that free standardized projects are less likely to offer personal interaction or user support.

Try out Mozilla OpenBadges to work on free standardized projects, and enroll in Thinkful to get one-on-one attention working on paid standardized projects, like replicating the Google homepage.

There are plenty of standardized projects (like the ones mentioned above) in our paid Skillcrush Career Blueprints as well.

Standardized projects are good for you if:

You want to verify that you truly understand a concept (and prove it!)

You aren’t sure what you want to do once you learn to code

Personalized Projects

No matter how much you respect tradition, though, you probably want to show your personality or do things your way.

If creating your personal website or coming up with your own version of Crossy Road gets you itching to code, then personalized projects are for you.

And besides, doing your own original projects means trying, failing, and trying again, and that wash-rinse-repeat is crucial to learning to code. Where do you think the “fail harder” movement comes from?

These kinds of challenges can be exactly that – challenging. But you aren’t looking for the easy way out, are you?

A personal project is your chance to dive deep into the areas you really love, or push yourself to master concepts you know you need to work on. Because what you do will be completely unique, you’re sure to invest in making it the best you can, which means you’ll also be investing in really learning the code you need to create it.

And, as a bonus, you’ll have pieces in your portfolio that truly stand out from the crowd. So, go ahead and create that website that looks just like you or the web app that you’ve been wishing for. You’ll be a far better coder for it.

Personalized, self-directed projects require one-on-one attention from instructors or mentors, so it’s unlikely that you’ll find a free option.

You’ll find ample opportunity to build personalized projects in developer bootcamps, like Ada Developers Academy and MakerSquare, where self-guided projects are a requirement, and you’ll leave with a personal project (like a portfolio site or new blog) under your belt after completing all of theSkillcrush Career Blueprints.

Personalized projects are good for you if:

You have other interests outside of tech that you want to bring to life

You want to leave with a unique and impressive addition to your portfolio

You’re interested in doing more than dabbling

SELF-GUIDED VS COMMUNITY-SUPPORTED

Great, so you’ve decided that interactive resources and personalized projects are good for you, or maybe you’re all about the free resources and standard projects for now – but what are you going to do when you run into trouble?

When you’re learning to code, sometimes you’re your own one-(wo)man show, but more often than not, you need a shoulder to lean on. But how do you decide if you can learn to code independently or if you need personal attention?

Think about when you feel like you’re at your best. Do you think clearest when you’re alone at home? Or do you thrive in brainstorming sessions with your favorite colleagues?

You might feel more comfortable figuring things out on your own, especially if you already have some experience in tech. Or you might be someone who needs some feedback, guidance, and maybe even just a kick-in-the-pants every now and then.Knowing which environment brings out the best in you will point you towards community-supported or self-guided learning choices.

And, if you’re an “ambivert”, you’ll know to look for a program that offers both collaboration and independence to play to both sides of your personality.

Self-Guided

If you wield your calendar like a weapon and have the willpower to resist even the most mouth-watering brownies, the self-guided route could be right for you. More than that, if you already have some experience in tech and know what you need to learn (and in what order), self-guided learning could be your friend. It’ll mean deciding yourself what and when you’re learning as well as evaluating your own progress and being strict with yourself about meeting your goals.

This option is the most-demanding and requires you to keep yourself on schedule and constantly motivated. Plus, you’ll have to realize yourself when and why you’re struggling and get yourself back on track.You have to be careful that you don’t get stuck too long on certain topics or move through them before you’ve really learned what you need to know.

But, if you’re a lone wolf and are able to be tough with yourself, you might consider going independent for the flexibility and independence it gives you.

There are free and paid ways to learn to code in a self-guided program. Treehouse is a great example of a paid self-directed learning platform. With its extensive library of videos and tutorials, it’s an option for someone who knows what skills to learn next. Codecadamy is a popular example of a free self-directed platform.

A self-guided learning platform is a good idea for you if:

You know what to learn and in what order

You are incredibly motivated and positive

You work best independently and without external feedback

You are supplementing knowledge you already have

Community-supported

Of course you can search StackOverflow in lonely desperation (okay, I love StackOverflow, but you do need humans sometimes) or stare endlessly at your code wondering why it just returns error messages. But sometimes getting an explanation from an expert or feedback from other learners is what you need.

Even though you love all things tech, it doesn’t mean you’re a complete robot! You want to discuss and debate, and who doesn’t need some encouragement and understanding every now and then?

That’s why having fellow students and instructors to learn with and to learn from is so valuable for people like you.In-person classes or bootcamps come with this option built in. But, with some online education platforms nowadays, you can also learn with others without even leaving your living room!

Online student forums. Email support. Live video chats.

These are just some of the ways you can have a community when you’re learning to code online. So, distance – or even time zones – won’t stand in your way if you want a network to support you through your education, and even beyond.

Hint: Start making contacts while you’re still studying! That gif-loving, Agent Carter-obsessed student from Germany might be your classmate today, but she could be your teammate tomorrow.And who knows when an alum from your program will spot you on a class forum and recommend you to her boss at that hot tech start-up you love.

Most community-driven experiences are paid, but you might be able to find some free local Meet-ups or workshops, like Rails Girls. There are a lot of paid options, including full-time developer bootcamps, likeIronYard, and online community-oriented programs, like Skillcrush.

Community-supported courses are a good option for you if:

You love collaborating and learning from others

You like talking out problems and seeing multiple ways of solving problems

You aren’t sure where to start and need guidance

You don’t have local (or digital) connections in the tech world and need to meet other developers

And don’t worry! It’s not all or nothing… The best coding education programs have a mix of all these avenues for learning. So, find the combination that’s right for you, and you’ll be well on your way to coding greatness!

Learning platforms

So, the ways you can learn are clear now. But there’s still the big question. The money question. You’re probably starting to get an idea of whether or not you need a paid program to ensure your success, but if you’re not sure yet, let’s break it down further.

Before you know if you want to spend – and, if so, how much – let’s take another look at the possible platforms you can use to learn.

FREE

Reference library
Example: Mozilla Developer Network

Video library
Example: TheNewBoston

Interactive tutorial
Example: Khan Academy, Try Ruby, Codecademy, Learn Python. And Bento is a great resource for finding other free tutorials.

MOOC (Massively Open Online Course)
Example: Coursera, EdX

Workshop
Example: Rails Girls, local Meet-ups

FREE OPTIONS COULD BE RIGHT FOR YOU IF:

You’re just trying out coding for fun or to see if it’s right for you.

You want to move up in your current job (i.e., you aren’t looking for a major, rapid career change)

You TRULY don’t have a penny to spare, and that makes you incredibly motivated.

You have the time and information to make your own study plan.

You’re a true self-starter and extremely disciplined.

You know how to diagnose and solve your own coding problems.

You don’t mind being your own support system.

You have friends in the tech scene who will help you solve problems on the daily.

PAID

Resources (print & electronic)
Example: A Book Apart ebooks, Jon Duckett’s HTML + CSS and JavaScript + jQuery print books, paid master classes or lectures

Video tutorial library subscription
Example: Lynda, Treehouse

Workshop
Example: WordCamp

Bootcamp
Example: Flatiron School, Ada Developers Academy, MakerSquare

Interactive, community-supported platform
Example: Skillcrush

PAID OPTIONS WILL BE GOOD FOR YOU IF:

You want to make a major career change, like have a new job title within the year.

You want to make a change in your life soon, or at least follow a schedule.

You’ve decided you want – or need – to learn to code for your career.

You can invest even a little in your education.

You learn both on your own and with feedback and help from other students and from instructors.

You like having a ready-made and proven plan and schedule that you can follow.

You want help answering questions and solving challenges.

You benefit from support and motivation from other people.

And you’ll want to keep in mind one other motivating factor – does paying money for something really put the fire under it? Will you do it if you don’t pay for it, or will you keep pushing it to the backburner?

It’s not just a question of procrastination, either. It’s psychological. Free Hackathons across the board(and local Meet-ups, in my experience!) have a much lower rate of attendance than paid events, and a lot more “no shows.” So when people, pay, they’re more likely to show up than if they got a free ticket.

Pick the tools – and put them to use for you

Now you know how and where you can learn to code – and which options could be best for your special situation.

And keep in mind that you will most likely learn to code through a variety of these platforms. Think of it as an a la carte menu. You’ll order a main dish, but you’ll get a few side dishes, a bread basket, and maybe even a dessert.

Think back to your goals and consider Liz Eggleston’s advice: “It makes sense to spend a different amount on coding depending on what your goals are.”

If you want major career change now, a big investment makes sense. If you’re just dabbling, try some free courses before you go in for a paid option.

“Before you invest $10,000 in a bootcamp, go through a free option like Codeacademy and make sure you actually LIKE it. That will help you determine if paying to learn to code will be worth it. Join a Meet-up group like Girl Develop It or Railsbridge. Then invest in a Skillcrush Career Blueprint or a Thinkful class to take the plunge,” says Eggleston, “A few hundred dollars can get you INTO the coding community. And taking an online, community-driven class first is a big indicator of success in full-time dev bootcamps too.”

The important part is to make a plan and START. Deciding to get tech skills is one of the best things you can do for your career today. So, why wait?Sign up for a Skillcrush Blueprint, or enroll in the FREE 10-Day Coding Bootcamp to test the waters.

You can start training to be a web designer, a web developer, a WordPress developer, or even a Ruby on Rails developer. So whether you are starting from scratch with HTML + CSS or you’re ready to level up with Rails, we have a plan of action for you.

Skillcrush is an online learning community that gives you the freedom to work both independently and with the support of a vibrant class of like-minded students and friendly and supportive instructors – so that means it’s a personalized, interactive course structured around a learning community.

You’ll have access to your courses and the Skillcrush student forum 24/7, and you’ll get daily email checkpoints to motivate and guide you throughout your learning.

You can get personalized feedback on your lessons and your projects and work directly with your fellow Skillcrushers and teachers in regular chats, office hours and master classes.

And, at Skillcrush, you’ll learn with both information-packed resources and fun interactive exercises, plus loads of industry-standard and personalized projects that let you highlight the skills most important to you.

You can start with our free 10-day bootcamp to learn the most important tech terms and get a taste of coding. And then you can choose from our four Blueprints: Web Designer, Web Developer, Ruby on Rails Developer, or Freelance WordPress Developer.

Whatever you pick, you’ll get a fantastic foundation in tech and skills that can get you that flexible, interesting, well-paid job you’re dreaming of.

Randle Browning wrangles words here at Skillcrush, from writing blog posts and hosting webinars to helping out with sales copy. Before landing in content marketing, Randle taught writing at Boston College, opened a restaurant, and sang in a jazz band. She lives in Waco, TX with her pizza shop-owning husband and 3 rescue dogs. She loves to read novels, attempt headstands, listen to podcasts, and have people over for dinner. When she’s not writing, she’s Instagramming vegan food.

Reprinted by permission

Image credit: CC by Pedro Vera

Show more