Learning Paths

Don't know where to start or what course to take next? Let me make it really simple for you.

Step 1: Master the Fundamentals

People often ask me: "Mosh, how do you learn new programming languages/frameworks so fast?" The answer is: "I know the fundamentals well! Really well!".

Without a strong foundation, you'll constantly face obstacles in your programming journey. If you're a self-taught developer and never attended a software engineering program at a university, you have to dedicate the first 3 to 6 months in mastering the fundamentals.

Fundamental Courses

Step 2: Choose a Career Path

Once you master the fundamentals, you should what area of software development you'd like to focus on.

The three paths have the most number of jobs are

  • Front-end development
  • Back-end development
  • Full-stack development

Front-end development is all about building the interface of applications. That's the mobile app on your phone or the web site you browse.

Back-end development involves building services that web or mobile apps need to store and retrieve day. As a back-end developer, you mainly deal with concerns such as data storage, security, and integration with other services/apps.

Full-stack development is the combination of front-end and back-end development. Full-stack developers know both disciplines and can build an application end-to-end on their own. That's why they earn more!