Learn the Programming Fundamentals You Need to Launch Your Programming Career

Last updated Nov 5, 2023 Published Nov 21, 2016

The content here is under the Attribution 4.0 International (CC BY 4.0) license

Throughout my career, I’ve helped many beginner developers start their journey. I’ve noticed that they often have similar doubts and questions. In this blog post, I’ll share the essential knowledge and resources that every beginner developer should know. I’ll also provide some links to more advanced resources for experienced developers who want to review the basics or share their knowledge with others.

This blog post is not meant to be a rigid curriculum. Instead, think of it as a guide that you can use to assess your current knowledge and identify your next steps. Here’s a structured overview of the content on this page:

  • Essential knowledge for beginner developers
    • Programming languages
    • Data structures and algorithms
    • Software development fundamentals
  • Further resources for experienced developers
    • Advanced programming topics
    • Best practices and design patterns
    • Tools and technologies

I encourage you to share your feedback and resources in the comments below. Let’s learn together!


Mental mode for programming

  • Programming is not what looks like
  • Does the operating system matter? Mac vs Linux vs Windows
  • Soft-skills
    • Leadership
    • Conflict resolution

The university fallacy


The programming industry

Choosing the correct programming language

The web

The programmer toolkit


Software design

Software architecture

Empirical software engineering


Where to go from here