The practical guide to learn coding

December 2020


I recently taught myself how to code and launched an MVP. I distilled my journey into a guide to help entrepreneurs who want to learn to code but don’t know where to get started.

I try and keep theses guides short and sweet. For additional information, like explaining my reasoning for the choices I made, tips for getting the most out of the recommended classes, check out the associated blog post. If you don’t believe you can learn to code and build a real product check out the MVP I built: Tenxhired.

The stages you need to go through

When you are learning how to ski you start off at the bunny hill. Even world champions at some point started off at the bunny hill. Then you progress through the green slopes, the blue slopes, the black diamonds and double diamonds.

The process is no different when you are learning how to code.

1. The bunny hill: Understanding HTML and CSS

You are not going to use pure HTML and CSS to build your final product, but if you don’t understand HTML and CSS you won’t be able to learn the more advanced topics. Before you proceed you should learn HTML and CSS and learn them well.

2. The green slopes: Building web pages with Bootstrap

Bootstrap is a CSS framework that comes with a grid system for layouts, as well various CSS and Javascript components. I think of it like prepackaged lego pieces. With Bootstrap you don’t have to code everything from scratch. It helps you build better end-products faster.

Knowing a bit of jQuery helps with being able to learn Bootstrap. JQuery is a super simple Javascript framework which you can pick up pretty fast even without knowing any Javascript.

3. The blue slopes: Learn programing basics through Javascript

Unlike HTML and CSS, Javascript is a real programming language (a lightweight, interpreted programming language, if you want to get technical). While HTML and CSS can be used to display things, Javascript can do real programming things like evaluating logic. You need to be able to do “real programming things” to be able to build web and mobile applications.

4. Black diamonds: Build web applications with React, Redux and Firebase:

React, Redux and Firebase is how I recommend you build for the web. You can have more powerful setups but React, Redux and Firebase are powerful enough for 99% of real-world use cases.

With React and Redux you can build all sorts of client (front-end) applications. You control the user-interface, the interactions and react to the state the user is in (eg. if they are logged in do X, if not ask them to login).

Firebase is a "Back-end as a Service" tool that lets you create, store, update and retrieve the data your application runs on. Normally you would have to build a back-end: a database and an API you would code that would sit between your front-end and your database to manage their their interactions. Firebase takes care of all that for you. From a learning perspective this is awesome because it means you don’t have to master back-end development.

5. Double black diamonds: Building mobile apps with React native

If you want to build mobile apps you should build them with React Native. React Native is a special library built on top of React that lets you build native (iOS or Android) components and connect to native APIs (eg. the API to control the camera). Unlike native development, where you would have to develop and maintain separate iOS and Android apps, React Native let's you develop and maintain one code base for both.

You could potentially take a React Native course without knowing React. All the React Native courses give an overview of React, but really knowing React, versus getting a short overview of it, does make learning React Native a lot easier.

Courses to take

Based on the above stages of learning here are the courses you should take.


Course name


It took me


HTML, CSS, Javascript, Bootstrap

58 hrs

~6 weeks



2.5 hrs

~1.5 days


Udemy has regular discounts where you can buy almost any course for less than $20.


11.5 hrs

~1.5 weeks


Udemy has regular discounts where you can buy almost any course for less than $20.

React, Redux, Firebase

40.5 hrs

~6 weeks


Udemy has regular discounts where you can buy almost any course for less than $20.

React Native, Redux, Firebase

32.5 hrs



Udemy has regular discounts where you can buy almost any course for less than $20.

Note: Do not ever buy a Udemy course at full price. Just google “Udemy discount code” and you’ll find discounts that will bring the price of a course below $20.

Here is how these courses map to the different stages.

Note: The MVP I built was purely a web app, so I didn't need to learn mobile development in detail. For the purposes of this guide I did buy the “React Native- The Practical Guide [2020 Edition]” course and skimmed throught it, but I did not go through it with the same level of detail that I did with the other courses. Having said that, I was impressed with what I saw and, having taken other courses from the same instructor, I feel comfortable recommending the course.

Concluding thoughts

  • Total cost: With the Udemy discounts buying all these courses should cost you less than $200 total.
  • Time commitment: You should be able to carve out 30+ hours a week to learn effectively. Assuming you can, learning all of this will take ~4 months. Check out the part of my blog post where I discuss how I carved out 35 hours per week to learn.
  • The investment is worth it: 4 months is not a small commitment, but it is totaly worth it. Check out the part of my blog post where I discuss the why learning to code is your best option.
  • Follow these tips: You can make your learning a lot more efficient and effective by following these tips from my blog post.
  • Check out the end-result: Check out the MVP I built after taking these courses:




About the author

I'm Can (pronounced John). I am an entrepreneur with 2 minor exits. I am currently working on I have strong views on how startups should be run. I put together PracticalStartupGuide to share these views.