A 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!

Motivation

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

Bootcamps?

The programming industry

Choosing the correct programming language

The web

The programmer toolkit

Practices

Software design

Software architecture

Empirical software engineering

Learning

Where to go from here

Resources