Roadmap for Backend Developer

This follows Kamran Ahmed's Backend Developer Roadmap.

The path to follow in order to become a backend developer:

Pick a language

  • There are myriads of different options

    • Scripting Languages
    • Python
    • Ruby
    • PHP
    • Node.js

      • TypeScript (Optional)
    • Functional Languages
    • Elixir
    • Erlang
    • Clojure
    • Haskell
    • Java
    • .NET
    • Other Options
    • Golang
    • Rust

Practice what you learnt

  • Implement some commands that you use e.g. 'ls'
  • Command that fetches and saves reddit posts on /r/programming
  • Command that gives you directory structure in JSON format
  • Command that reads JSON from above and creates director structure
  • Thank of some task that you do every day and try to automate that

Standards and Best Practices

  • Read about the best practices for security.
  • Read the OWASP guidelines and understand different security issues and how to avoid them
  • Best practice of storing configuration files

Make and Distribute Some Package/Library

  • Distribute your own package with pip
  • Distribute your own package with NPM
  • Contribute to some OpenSource project

    • Refactor and implement the best practices that you learnt
    • Look into the open issues and try to resolve
    • Add any additional functionality

Learn about Testing

  • Learn about how to write Unit and Integration tests
  • Understand different testing terminologies such as mocks, stubs, etc.
  • Write unit tests

Learn Relational Databases

  • MySQL
  • MariaDB
  • PostgreSQL
  • MSSQL
  • Oracle

Practical Time

  • Create a simple app using everything that you have learnt this far. It should have registration, login and CRUD.
  • Create a blog

Learn a Framework

  • Python

    • Django
    • Flask
  • Node.js

    • Express.js

Learn a NoSQL Database

  • Understand what they are, how they are different from relational databases and why they are needed.
  • MongoDB

Caching

  • Learn how to implement app level caching using Redis or Memcached

    • Redis
    • Memcached

Creating RESTful APIs

  • Understand REST and learn how to make RESTful APIs to make sure to read the part about REST from the original paper of Roy Fielding

Authentication/Authorization Methodologies

  • Learn about the differences and how to implement them

    • OAuth
    • Basic Authentication
    • Token Authentication
    • JWT
    • OpenID

Message Brokers

  • Learn about the message brokers, understand the "Why" and pick one.

    • RabbitMQ
    • Kafka
    • SQS

Learn a Search Engine

  • ElasticSearch
  • Solr
  • Sphinx

Learn How to Use Docker

  • Docker

Knowledge of Web Servers

  • Learn their differences and limitations.

    • Apache
    • Nginx
    • Caddy
    • MS IIS

Learn How to Use Web Sockets

Learn GraphQL

  • See what it is all about and why they are calling it the new REST
  • Look into Graph Databases
GitHubGitHubLinkedin