Anyone determined can learn to code and unlock the freedom to earn a high salary working from home. But how long does it really take to go from not knowing any or much code to being able to code a hireable level 🤔?

While everyone's situation is a bit different, here's an approximate idea about how long it typically takes someone to learn code and what kind of time commitment you should expect to make:

  • To become a hireable junior coder 6-9 months
  • To become a mid-level coder 14-24 months
  • To become a senior-level coder 3-6 years (depends on company)
  • To become a master coder some say it takes a lifetime as there is always something new to learn 🧓đŸģ!

Most successful coders agree you'll need to spend 2-3 hours a day for 6-9 months learning coding concepts and putting what you learn into practice to code at a hireable level. You can dedicate less time and still be successful but remember to adjust your expectations accordingly. For example, if you can only spend 1 hour a day you should expect to learn to code at a hireable level in 12-18 months instead.

Everyone is a little different and will learn code at a different pace.

To give you a realistic timeline, we combed through the archive of The Scrimba Podcast where we've interviewed more than 25 successful Scrimba students who found work after completing our Frontend Developer Career Path. It took most interviewees 6-9 months to feel confident coding without tutorials and secure a job where they can continue learning while getting paid. Of course, there will always be outliers who studied particularly hard or had some advantages.

Fredrik took an intense approach and learned to code in 3 months with Scrimba. He was already an expert at learning due to his experience in higher education and collaborated on a portfolio project with his girlfriend

This post is meant to be your jumping-off point! You will learn exactly what it means to learn to code and what options you have when learning coding. We will also cover some of the common mistakes new coders waste time on so you can avoid them and find success as quickly as possible!

What coding language should I learn?

As it happens, there are a few different types of coding.

While all coding shares the same fundamentals, it's helpful to ask yourself what you want to code and what kind of work you want to do?

How you answer these questions will inform what specific coding technologies you should learn.

To give you an idea of what coding language you should learn, we've come up with the following table. To make things easy we're only including modern coding languages that are also in-demand by employers:

If you want to code... Try...
Website HTML + CSS + JavaScript
iOS app Swift or JavaScript with React Native
Android Kotlin or JavaScript with React Native
macOS app Swift
Windows app C#
2D Game JavaScript
3D Game JavaScript with Unity
Robot JavaScript
IoT device JavaScript

As you may have noticed, JavaScript is a remarkably versatile and powerful coding language. If you're unsure what kind of coding you want to do, JavaScript a fantastic place to start!

Once you know what type of coding you're most interested in, we suggest you reflect on what type of work you want to try:

  • Full-time work
  • Freelance work
  • Turn your side project dreams into a reality 💰

By now, you should be able to say with reasonable confidence that you want to, for example, become a full-time website coder or freelance mobile application coder. Keep this in mind while we consider where specifically to learn to code.

Where to learn to code?

Most coders agree there are 4 different paths you can take to learn coding, each with their own advantages and disadvantages.

In this section you'll learn a bit about each path as well as the pros ✅, cons ❌, and "good-to-knows" ℹī¸ so you can make an informed decision!

University

You probably know of people who studied Computer Science at university!

During a 3-4 year period, you will undoubtedly develop a firm grasp on how computers work and how to code them at a professional level.

University is, however, very expensive and requires a full-time commitment, which may not be possible for you to make if you have work, family, or other obligations.

What you need to know:

  • ✅ Uni offers a well-defined curriculum that ensures you're learning the right thing
  • ✅ You'll get professors, alumni, and peers to support you
  • ✅ You'll earn a degree, which can unlock all sorts of opportunities in life
  • ❌ But it costs $$$$
  • ❌ Even if you have the money, some courses require qualifications or credits you may not have
  • ❌ Not focused on web development
  • ℹī¸ī¸ Some Computer Science curriculums have more focus on theory than practical coding
  • ℹī¸ī¸ A degree might stand out to a company and earn you an interview but there is no guarantee!

Free YouTube videos and books

You might be surprised at how many videos, written tutorials, and coding books are out there for free. That said, not all free content is created equal. Make sure to read some reviews and, if possible, seek recommendations before committing to a resource in case it teaches bad practices or is otherwise a waste of time.

What you need to know:

  • ✅ FREE
  • ✅ You can take things at your own pace even if you have other commitments
  • ❌ You might risk learning the wrong things and accidentally head in the wrong direction
  • ❌ It's quite lonely and requires extreme self-discipline as this is something you'll need to sustain for 6-9 months
  • ℹī¸ Many self-taught coders struggle to use what they're learning to build real applications and develop practical skills. We call this tutorial hell đŸ”Ĩ because it's a purgatory where you can code a little... but not without training wheels due to a lack of fundamental understanding.

Self-paced bootcamps

A bootcamp is an environment where you receive education and support to learn a single subject in a short time. While there are some intensive bootcamps (typically 3 months and described in the next section below), a self-paced bootcamp gives helps you become a hireable coder at your own pace. It costs a fraction of an intensive bootcamp.

What you need to know:

  • ✅ Self-paced bootcamps offer a well-defined curriculum that ensures you're learning the right things
  • ✅ Only learn skills which are in-demand by employers and find success sooner
  • ✅ Access to a community of peers and alumni to inspire and support you
  • ✅ Most self-paced bootcamps encourage you to build projects which ensure you avoid tutorial hell and have something to show employers at the end (and prove you've got the coding chops even though you don't have a degree)
  • ❌ You need to be self-driven to complete a self-paced bootcamp
  • ℹī¸ Your success depends on your determination to work through the curriculum and engage with the challenges.

⭐ī¸ If you are interested in learning to code websites full-time or as a freelancer specifically check out Scrimba and our Frontend Developer Career Path ⭐ī¸

Scrimba costs no more than $30 a month (you may even find we're running a special offer) and you'll unlock access to a community of 12,000 other students (and some alumni) who are encouraged to motivate and support each other as part of the course.

Intensive bootcamps

Intensive bootcamps promise to turn you into a hireable coder in around 90 days and typically cost $10K-$30K. Only some students find success during this time window.

What you need to know:

  • ✅ Intensive bootcamps offer a well-defined curriculum that ensures you're learning the right things
  • ✅ Only learn skills which are in-demand by employers and find success sooner
  • ✅ Hands-on teachers and industry-trained coders will teach you and answer your questions from you and your class (sometimes called a cohort)
  • ✅ Access to a community of peers and alumni to inspire and support you
  • ✅ "Demo days" where you can demonstrate your project to employers and they might invite you for an interview
  • ❌ Costly $$
  • ❌ Requires a full-time commitment of 90 days full-time (8 hours a day) which might be difficult if you have other commitments
  • ❌ Many bootcamps rely on Income Share Agreements (ISAs) which allow you to avoid the upfront cost and make repayments from your pay cheque until the original amount is paid off. If you don't find a job, this can put you in a tricky spot.

How do I know if I am making progress?

There probably won't be one point in time where everything fundamentally changes and you "know" how to code. It usually sneaks up on you! This is a good and a bad thing. Good because you'll probably make more progress more quickly than you think or feel! Bad because you might feel unsure about how you're progressing towards your goal.

There probably won't be this magical moment where you feel, "Oh my god. Everything has changed!" but you can look forward to the following:

  • Remembering some code without having to look it up
  • A moment you write some code and it works first try!
  • Being stuck but knowing where to find the answer on your own (without help)
  • Sharing your app or website with your family or friends and making it so they can run it on their computer

Being a hireable coder is not necessarily about how much you know. It's about how well you learn. Many new coders fall into the trap of trying to memorize programming languages, but really, your focus should be on learning how to think like a programmer and where to find answers when you're stuck. Even the most experienced coders "Google it" all the time! If you become too dependent on teachers or mentors, you might find employers are looking for someone more independent such as a self-paced bootcamp graduate.

How to learn code quickly

As you can imagine, the more time you spend practicing and learning, the quicker you'll learn to code and put your skills to use in solving problems. A common mistake self-taught coders make is learning the wrong things, so we recommend you find an industry-proven curriculum.

The most impactful thing any new coder can do to better remember what you're learning and find success sooner is to write code. It sounds obvious but many self-taught developers only read tutorials or watch videos. If all you do is watch other people code you won't remember the concepts very well. Sometimes it feels productive but it would be a little bit like trying to become a good tennis player by watching the Grand Slam on television 🎾! You need to practice!

Don't waste time memorising things. Focus on the fundamentals and completing a few applications. If you need to look something up you can always "Google it". Cheat sheets are another handy way to quickly reference programming terms or features of a programming language you may have forgotten. Some new coders obsess with remembering everything but if you focus on building projects, you will remember the details without having to look them up in time.

Commonly-asked questions

To wrap up this post, we wanted to cover some of the most commonly-asked questions we see in the Scrimba community (12000+ online đŸŸĸ) and among self-taught coders about learning to code for the first time:

  • Do I need to be good at maths or science to code? No way! Because maths and science are logical subjects, universities sometimes look at maths and science grades to whittle down thousands of applicants. You can go very far in the coding world with only a rudimentary understanding of arithmetic. All you need to know about physics is how to turn the computer on!
  • How much do coders earn?  The median salary for frontend web developers in the US is $77,874 (Bureau of Labor Statistics, May 2020)
  • Is coding difficult? Reasonably difficult yes. After all, tech jobs wouldn't pay $77,874+ if anyone could do it without practice!
  • Can anyone be a programmer? Yes so long as you enjoy it! It is true some people have a proclivity for programming and learn a bit quicker than others.That said, anyone determined can learn to code. In the Scrimba community, we believe there is room for everyone in tech!
  • What can I do now I can code? Many people who learn to code transition into technical writing, project management, or building their own products, which generate revenue. The possibilities are endless!
  • Why should I learn to code? You can set your own schedule, work fewer hours but earn more money, have extra time to pursue interests, work remotely or even from abroad! It will be easy for you to make side project dreams into a reality. And you will have a sense of self-reliance and empowerment! Need we say more?