Congratulations! You’ve seen how much developers can make and have decided to learn how to code, and then you probably got stuck…
Why?
Well because there are so many different ways to learn to code and so many articles telling you the best way to learn to code, it can be difficult to know where to start.
You keep doing research and realize there are so many coding bootcamps to choose from. But wait, maybe you also need a CS degree to be taken seriously for jobs. But these options are so expensive and it seems like so many people are just learning to code for free using online tutorials... maybe just do that?!
It's overwhelming! So let's take a step back for a second.
Before you choose where you're going to learn to code, you should start by figuring how you're going to learn.
We can put your options into 4 buckets:
Coding Bootcamp vs Degree vs Self-Taught vs. Online Coding Academy.
There are pros & cons of each route. No matter what anyone tells you, there is no right answer. Everyone is different. And everyone giving you advice is biased (us included but we try to be as objective as possible 🙂).
So what we're going to do for you is break down the pros and cons of each route so you can decide the best option for YOU.
Let’s be clear here, each of these 4 options can work and there are many examples of people learning to code and getting hired using each of them. But it’s important to figure out and decide which is the best option for your own specific needs and situation.
Even though we’re an online training academy, I’m going to provide an honest and unbiased breakdown of each path you can take so let’s dive in…
To help you make the best decision for your needs, we’re going to break down each of these options by the following:
Sound good? Alright, let’s dive in…
Well there really isn't any structure. The world is your oyster... choose your own adventure... you can do what you want!
You can read books, check out Youtube tutorials, follow guides from developers who’ve achieved what you want already, or use the many amazing free online resources out there. Here are a few:
The main difference between a self-taught programmer and someone following ‘directed self-learning’ via an online academy is that you will often have very little interaction with teachers, as almost all your education materials are pre-created and offer either zero or limited interaction with the creator.
That’s not to say you’ll never interact with anyone as there are free forums (ex: Reddit, StackOverflow, Slack/Discord communities) and open source projects that you can join and be part of.
Just be aware that you might not have the same support system as the other learning options.
It's extremely common that most people actually start their learning journey with this route. And why not... It's free! So you have nothing to lose except maybe some of your own time.
But it's almost equally as common that the people taking this route are also the most likely to end up in tutorial hell. Once that happens, they typically make 1 of 2 decisions.
If you are a super organized and methodical person, you can definitely make this route work by creating your own "structure" and schedule rather than relying on the structure that is provided to you by the other 3 options.
How do we know this can work?
Well the Founder of Zero To Mastery (this website / school you're reading this on right now) used this route himself. He is a completely self-taught programmer. One of the key reasons he succeeded where many fail is that he spent his first month outlining everything he needed to learn rather than diving straight into tutorials. He created structure for himself.
He ended up creating an entire free 5-month step-by-step guide based on his own journey that anyone can use as well.
As a rough benchmark, I would say anywhere between $0-$1,000. Realistically, you can spend as much or as little as you want to. You can definitely learn entirely using free resources or you can buy some books or online courses for around $20-$300.
Udemy is a very common option for these low cost courses. But it's definitely a wild wild west (1,000s of instructors... 100,000s of courses...) so make sure to do extensive research to make sure the instructor is legit and the course is actually up-to-date.
There are exceptions but given the ‘low’ cost, one-off fee you're paying, you are unlikely to get ongoing support, community, or frequent updates. But they are also cheap and can help get you started and provide some structure in an affordable way.
It all depends on your goal and what you want to achieve. You can probably knuckle down and learn a language or framework in 3-6 months with your own research, and then continue to learn from there.
To get a job? Honestly, you could probably start applying within 5-9 months, assuming you’ve learned content that the employers are looking for, followed a set structure to learn fast, put in some work to build a portfolio website, have an active github and taken the time to learn and be able to answer common interview questions.
Ultimately the biggest variable will be how much time are you able to spend learning (and more importantly actually building... aka practicing) each day.
I have great news for you. Unless you’re applying for one of the large FAANG companies (Facebook, Amazon, Apple, Netflix, Google) or other major tech companies, you can pretty much get employed at any tech company with no prior experience, assuming you meet certain criteria.
This is one of the amazing things about the tech industry. There is such a demand for people who have the right skills, employers care less about your "resume" or "degree" and more about being able to prove you have the skills and attitude to just get the job done!
Even saying that, you can still get into FAANG companies if you have the right approach. You may just find it slightly more challenging by not having a College degree, due to job site filters, but you can still do it.
Pros:
Cons:
Let’s be honest here. A lot of people struggle to follow through with things unless they have either a financial stake to lose (not gain), and someone to hold them accountable and get them to do the work.
Coding Bootcamps meet both these criteria.
These factors definitely help people follow through so that they are able to learn to code in a very condensed time frame.
Since you're with a small set of other students and you see them in-person every day, it can also be a great way to meet people going through the same things you are and work together now and throughout your careers. Shared experience is a powerful thing.
Sounds great so far right?! Well here's the downside... Coding Bootcamps tend to cost anywhere from $1,500 - $35,000+…
Obviously this is a big price jump from being self-taught or even what most online academies cost, but you do have to remember that the potential payoff of this large cost could have a huge payoff.
If you think of the cost as an investment, then investing ~$10,000 to land a job that potentially pays $100,000+ per year can totally be worth it.
What if I can't afford this amount?
Well, some Bootcamps offer scholarships to students who can show certain criteria so it doesn't hurt to reach out to see what that looks like.
There are also some Bootcamps that offer deferred payment options. The most common these days are ISAs (Income Sharing Agreements) which are for people who can't or don't want to commit to the cost upfront.
The way they usually work is that you don't pay until you’re employed but then you have to pay them back an ongoing percentage of your earnings for a certain time frame.
This can be a great option if you're really stuck and would be willing to pay ~$10,000 but just don't have the money on hand right now but you may be paying 8-25% of your income for 1-4 years.
And in some cases you actually end up paying more than the $10,000 that you would be paying up front. Ultimately this is just a different form of debt. You're not avoiding paying $10,000 (or maybe more)... you're just delaying it.
As they say... make sure to read the fine print. There are some horror stories out there that you can find.
Coding Bootcamps usually last 6-12 weeks but some will go on for as long as 40 weeks or even 1-2 years, depending on which Bootcamp you go with.
The shorter Bootcamps are usually highly focused and designed to teach you only exactly what you need to know to get you hired as quickly as possible. This means they’ve often cut a lot of fluff out of your education, which is not always a bad thing.
In fact, we think this is totally the right approach because we can almost guarantee that you'll learn way more on the job than from any course, academy, bootcamp, or school. It's not even close.
But not everyone has the time (or access) to go to a physical location and spend 8 hours a day learning to code.
Again, you can get hired at any tech company with the right approach, knowledge, and project work.
That being said, some Bootcamps have partnerships with companies and those companies use these Bootcamps as one of their recruitment pools so I'd say you can likely raise your chances of being hired by these companies simply by completing that Bootcamp.
But it's still not a guarantee. One pet peeve we have with many Bootcamps is the misleading nature of their marketing claims about 99% of people getting hired.
We'll let you do your own research here but just know that no matter which route you choose, you're still going to be the one that has to put in the work to send out resumes, apply for jobs, prepare for interviews, practice interview questions, etc.
The Bootcamp doesn't do this for you or just give you a job but they can help get your foot in the door to increase your chances of at least getting an interview for some companies.
Pros:
Cons:
The pros and cons are outlined above so it really does depend on your current situation. If you want to learn fast, you want someone there next to you to push you through it because you think you might not finish otherwise, and you have the cash?
Well then yeah, it can be a fantastic way to change career in just 3 months. Just be aware of the pros and cons above before you decide.
Ya, pretty much.
Well, that’s the application process anyways.
Like most degrees, actually getting your Computer Science (CS) Degree will likely take you 4 years.
Over those 4 years, you can expect WAY more theory than you're going to get with any of the other routes. Way more than you're ever likely to use in the real-world but it's still interesting, cool knowledge.
You'll definitely spend a lot of time on data structure & algorithms (which are mostly used for interview questions or at big tech companies) but otherwise your learning will be quite broad. You'll dabble and get a decent understanding of a wide variety of topics, frameworks, and languages.
However, it's unlikely you'll have the exact skills (ex: Python or JavaScript) and experience (ie: built projects) that most companies are looking for candidates to have.
So there's a decent chance you'll have to supplement your learning through another route to meet the qualifications for many jobs. Which does seem pretty insane given the cost.
Fun Fact: Around 20% of ZTM students are also Computer Science students or Bootcamp grads that are looking to expand their skills and get additional support.
There are a few exceptions out there where some Colleges have co-op programs where you go back and forth between the typical classroom learning for a semester and then do an internship at a company for a semester. The University of Waterloo in Canada has a great program like this. Yes, this is where Elon Musk went to school and yes, it's much cheaper than Colleges in the US.
We'd argue that this is really the gold standard if you can afford it.
Why?
You're getting the best of all worlds (other than cost). You are learning the theory and having a great experience at school but then also getting real-world on the job training and experience as well.
And the best part... most people who take these co-op style CS degrees end up getting full-time jobs at one of the companies they did an internship at. Even if they don't, they have a ton of experience to put on their resume which makes getting hired elsewhere much easier.
Hold onto your hats because in the US you’re looking at around $70,000-$90,000 per year, for 4 years.
This means your degree will cost anywhere from $280,000-$360,000 in total.
Bootcamps (~$10,000) and online academies ($1,000) are looking really appealing right now eh?
Obviously, the price for each CS degree can vary on location, country, and if you manage to land a scholarship.
Stanford has a lot of their students hired by Amazon and other big tech companies and costs around $78,218 per year to study there, while Kellogg is around $87,800 per year.
Oof...
A computer science degree usually takes 4 years to complete, or 5+ if studying part-time.
This also doesn't factor in any additional time you might need to spend learning more job-specific skills that your degree might not be focusing on.
You would think that the Ivy League schools would be the best options for hiring right? But in a 2022 study of 70,000 undergraduate backgrounds of tech employees at FAANG and other top tech companies, they found that schools such as Carnegie Mellon, Southern California, Berkeley, Georgia and others had the highest success rate in total new tech hires.
Clearly, graduates at these Colleges get hired but bear in mind that some of these companies are hiring tens of thousand's of people per year in CS type roles, and yet they only have a small percentage of hires with actual CS degrees.
This could be due to demand for tech roles this year, or simply due to the fact that a lot of tech companies have started to remove the College degree filter from their job postings.
Don't get us wrong. There are still many old school companies and hiring managers out there that will use "Has CS Degree" as a filter on candidates that apply.
Why? It's just easier that way, especially if you're a big company with 1,000s+ applications to try and sift through.
But you can still get around those filters by being creative 😉.
If you don't believe, go check the LinkedIn profiles for a lot of Senior Developers. There are definitely more and more that are self-taught or learned via online academies and bootcamps.
Put in this way, it definitely helps to have a CS degree but it is no longer a necessity. So you have to decide how much will it help you vs. the cost and time commitment.
Pros:
Cons:
I'm trying to be objective here but personally, I don't think you do.
They can definitely help you get through the door for certain roles, but you can also get hired at these places without a degree if you're smart about how you present yourself.
A CS degree will usually cover additional content that other routes usually cut out, such as theory and maybe even older languages that most companies don't really look for now unless you're applying for a role with that language.
This isn't to say it's a waste as learning something that's close to machine code such as C++ can help you to deeper understand data systems and other languages, but it's not always needed to get a job, which is why you want to learn to code right?
Could you just learn a core language and get a job, save 4 years of your life and $300,000 though? Oh most definitely. Heck, you can even learn that theory content and other languages online after you've been hired if you really want to.
Finally, College can also be one of the best times of your life, but with Covid etc a lot of them have actually been pushing online learning with a 6 figure price tag. I know which I would choose, but I encourage you to weigh the pros and cons for yourself.
As a reminder, Zero To Mastery (where you're reading this) is an online coding academy so take everything we're saying with a grain of salt and do your own research. But like I said, we have tried to be as objective as possible here.
Ok, moving along.
It’s as simple as joining an online academy, picking a course, and following along! It’s kind of similar to the self-taught route, in that you learn remotely with education materials from your laptop, but you actually have a structured learning curriculum to follow.
Although they can vary in how they teach, usually the course structure is a combination of video lectures, written lectures, projects to build, challenges to test your skills, and a certificate of completion when you've finished.
On top of that, online academies can vary greatly in the different features and benefits they offer.
Important: Not all online coding academies are the same quality or offer the same level or options of information, so be sure to do your research.
Similar to what I mentioned earlier about courses on platforms like Udemy, Skillshare, etc., it's worth putting time in upfront to really make sure you're picking the right online platform to learn from.
Some well known and popular ones that are worth checking out:
We believe that the best online academies provide you with a clear roadmap of going from any experience level to reaching your goal (often getting hired).
Ideally, your academy can help you figure out the career path you want to pursue and then provide you with the exact steps to reaching that goal in a logical path, as fast as possible.
We also believe that a good coding academy will have an online community to help you stay engaged and follow through on course content similar to what you get from being part of a Coding Bootcamp or a College Degree.
The best ones will also have:
As a bonus, some even offer cohort-based learning but this may come at an extra cost (likely not as much as a Bootcamp though).
What is cohort-based learning?
These are basically a way to replicate Bootcamp-type conditions but online and with a much lower price tag.
If you struggle with being motivated and following through, then these can really help you. Rather than go through the content at your own pace, you start working together with a smaller group of people, to learn together for X weeks.
Anywhere from $35-$1,000 depending on the program. Some have options to pay once and get access forever but many have a subscription mode where they offer monthly/annual payment options (like paying for Netflix but actually helps you learn new skills and get a job).
Here at Zero To Mastery, we have a monthly membership at $39, an annual membership of $279, and a lifetime option of $999.
The monthly option is great for people who tend to be more experienced and have a specific skill they want to add or expand on.
The annual option is an amazing deal (only $279...) if you're committed to learning to code from scratch and want to get hired and starting a career in tech as quickly as possible. Yes, I'm "selling" you here but you really do get everything you'd get from a Coding Bootcamp (and arguably more) but for a fraction of the cost.
The lifetime option is perfect if:
This price range is pretty much average for most of these platforms.
Like I said though, there are a lot of these academies out there so it’s worth doing your research to make sure they have the features and training you want and need, as well as success stories from students so you know the system works.
Again it depends on your goal. Everyone is different. So it's hard to give a specific amount of time. The two biggest variables are the number of hours per week you're dedicating to learning and your current experience level.
Don't hold us to it but here's a rough guideline based on feedback we've received from past ZTM students on how long it takes to learn to code from scratch and get hired:
We imagine these ranges are similar for other online coding academies as well.
Here at ZTM, our goal is to get you educated and hired as soon as possible by focusing on the most important content (similar to how most coding bootcamps are structured).
We’ve had students take 12-18 months to get hired, but we’ve also had people hired at FAANG companies with no experience in 6 months, and others land a job in 4 months!
It really depends on you and how fast you want to go. The structures are there so you can literally run through and get it done.
Unless you’re applying for one of the large FAANG companies (Facebook, Amazon, Apple, Netflix, Google) you can pretty much get employed at any tech company with no prior experience as long as you're able to demonstrate that you have the skills to do the job.
I would like to think that certifications from academies help seal the deal but honestly, most companies (at least in North America) don't care about them at all.
It comes down to the projects on your own portfolio website, likely having an active github account and your ability to solve the interview questions that will get you hired at 90% of tech companies.
Note: You may find some industries easier to be hired in, due to their niche.
For example, you might be able to fast-track your way into the tech industry by focusing on certain fields such as DevOps, Cyber Security or Web3 that might not need as much training as programming/coding.
Most traditional programs don’t typically cover these either so you'll likely have to choose the Self-Taught or Academy route if you're interested in these industries.
Pros:
Cons:
Like we said at the beginning, it really does depend on your own situation and needs.
If you’re still on the fence about the best route for you or if you simply jumped ahead and want to know the basic pros and cons, then here are the tl;dr comparisons:
Self-Taught is obviously the cheapest option and there’s a lot of free content out there on Youtube and other sources. You can 100% learn to code and get hired as a self-taught programmer and depending on your current finances it might be your best option. You also get to choose exactly what you want to learn (vs. a rigid curriculum). That being said, you need to be careful you're not learning outdated information or from instructors who don't know what they're talking about and there is a much higher chance of "giving up" because learning any new skill is hard and you won't have the support that you might need to push through. It's also much easier to waste time learning things that don't actually matter on the job so people taking this route typically take a lot longer to get to the point where they can get hired
Coding Bootcamps cut the theoretical information out and take 12 weeks or so to complete. It’s an intense learning experience but you’re usually a full-stack developer by the end of it with a chance to get hired quickly. The biggest downside is the cost but if you have the money, it can definitely be worth the investment
A CS Degree covers more detailed theory and may increase your chances to get hired at big tech companies (Amazon, Google, Microsoft, etc.) but it takes 4 years+ to complete and there are still no guarantees. Also, the costs can be anywhere from $100,000 - $350,000. You do however get to go to College parties and are probably going to have the time of your life... but you could totally do an EPIC Euro Trip for $10,000 - $20,000 + a Coding Bootcamp / Online Academy and still have plenty of cash to spare
Online Coding Academies can be a nice sweet spot that blends a lot of the best elements of each of the other options. Not all of them of course but definitely some of them! They are more affordable than CS Degrees or Coding Bootcamps while still offering structured learning and support (some give you access to ask teachers questions for quick feedback) and you get to learn at your own pace (faster or slower). Compared to the Self-Taught route they are definitely more expensive but will greatly reduce the time it takes to learn and are much more likely to lead to reaching your goals.
I really hope this guide has helped you to narrow down the best way for you to learn coding and programming, based on your particular needs and circumstances.
It’s an incredibly rewarding career. You get to solve interesting problems, you're constantly learning new things, you can achieve high salaries very quickly, along with many other benefits that you just don’t see in other jobs.
It’s also one of a few industries where you can get there with just self-taught learning and experience which is awesome.
Whether you decide to go with the free route, fast track with a structured online learning plan or drop some serious cash on a Bootcamp or Degree, you won’t regret getting into this industry 😃