Let me guess - you’ve seen how much developers can make and decided to learn how to code, and then you got stuck trying to figure out how to get started…
It's not your fault, and a lot of people have the same problem.
That's why in this guide, I'm going to break down my advice after years in the industry, and what I recommend.
We'll look at the 4 main methods, the pros and cons of each, as well as the price and time frame. That way you can use this to help you decide and start to learn ASAP.
Don't worry. I've got you.
Not only that, but I'll also help answer questions like "Do I need a degree to get hired?" and more.
So take a breath, grab a notepad and a coffee, and then let's get into it.
If we simplify all the different options out there, you really just have 4 options:
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, and the weight up the pros and cons:
Even though we’re an online training academy, I’m going to provide an honest and unbiased breakdown of each path you can take, based on what I think is 5 of the most important criteria when deciding.
With that out of the way, let's take a look at each option.
Well there really isn't any structure. The world is your oyster and you can do whatever 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.
For example:
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. This is because 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.
That's right, its such a common thing that there's an actual term for it, but what does it mean?
Basically, it's a catch all term for getting stuck in a cycle of being unsure what to learn next, being distracted by new shiny options, and then never really progressing. (You learn a small amount about a lot of stuff, with no traction towards your end goal).
Once that happens, they typically make 1 of 2 decisions.
They either:
That's not to say that everyone gets stuck in this tutorial hell - just that its super common.
In fact, if you're 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. This is exactly what I did and it's how I learned to code in just 5 months and get hired.
I wrote a step-by-step guide that you can follow, totally for free so check that out.
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, and you can definitely learn entirely using free resources. However, you usually end up either buying 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.
You can 100% find great courses on here if you do you research.
Just bear in mind that with the low cost, you're 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. Even as a sometimes iffy option, it's still helpful because of that path from a to b.
It all depends on your goal and what you want to achieve.
To learn a programming language? 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 and 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 similar 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.
Well, some Bootcamps offer scholarships to students who can meet 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. So just 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. You just need to know enough to get started - not everything about the topic.
However, 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.
Editor's note: 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 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.
For example
The University of Waterloo in Canada has a great program like this, and tes, 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, is that 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 me, 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.
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 nowadays (unless you're applying for a role with that language).
This isn't to say it's a waste of time, as learning something that's close to machine code such as C++ can help you to deeper understand data systems and other languages. However, 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 courses themselves (just 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, I've tried to be as objective as possible here.
Ok, moving along.
So how does learning on an online academy work?
You simply join up, pick a course, and follow along! (You could be learning in the next 5 minutes its that simple).
It may seem similar to the self-taught route, in that you learn remotely with education materials from your laptop, but you do actually have a structured learning curriculum to follow.
Although these can vary from each academy and 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 in the time in upfront to really make sure you're picking the right online platform to learn from.
Some other 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. (Although usually much cheaper than a Bootcamp).
These are basically a way to replicate Bootcamp-type conditions but online and with a much lower price tag.
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.
If you struggle with being motivated and following through, then these can really help you.
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.
While the lifetime option is perfect if:
This price range is pretty much average for most of these online coding 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.
That being said, the two biggest variables are:
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.
It all 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.
However, 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 I said at the beginning, the best option for you really does depend on your own situation and needs.
If you’re still on the fence about the best route, or if you simply jumped ahead and want to know the basic pros and cons, then here are the tl;dr comparisons:
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
The biggest downside is the cost but if you have the money, it can definitely be worth the investment
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
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, and it has 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 😃.