Software developer Roadmap

1- Algorithm

How to write an Algorithm

Complexity

Data structure

Practice / Train your brain

2- OOP

Abstraction

Encapsulation

Polymorphism

Inheritance

3- Choose a programming language

Start with the basics

Practice the code

Strive for understanding, not perfection

Code something more meaningful than Hello World

The syntax

Conditions

Loops

...

Finally

Make sure you're learning the language for the right reason

Read the documentation

Do some coding challenges / hackathons / competitions

Ask for code review from more experienced developer

Learn the way that works for you

4- Database design / SQL

UML

Use case Diagram

Sequence diagram

Class diagram

Database

How database works

Diff between Relational / Non-Relational

SQL

Write queries / manipulate data

PL/SQL

Stored procedures

5- Choose a path

Frontend

Backend

Angular

Vue Js

Bootstrap

JQuery

Spring framework

Django

Ruby on Rails

Flask

....

....

Laravel

Software developer Roadmap

Join our community

discord-logo-2-1

A lot more is available here

Spring Framework

Spring core

Dependency Injection

Spring IoC

Spring AOP

Beans configuration / scopes

Beans lifecycle

Spring annotations

Spring Security

Spring documentation

Spring MVC

Authorization

OAuth2

Authentication

JWT Authentication

Spring boot

Actuator

Embedded server

Auto-configuration

Hibernate

Spring boot starters

Spring data

Spring data MongoDB

Spring Data JDBC

Spring data JPA

JSP files

Architecture

Servlet

Components

Transactions

Entity lifecycle

Relationships

Microservices

Spring cloud

OpenFeign

Rest templates

Circuit breaker

Resilience4j

Cloud config

Eureka

Spring cloud gateway

Sleuth

Docker & k8s

Message Queues (MQ)

Kafka

SQS

RabbitMQ

Testing

MockMVC

SpringbootTest annotation

JPA Test

Mocking

Service testing

JDBC Template

HTTP

GET

DELETE

POST

PUT

PATCH

Okta

Amazon Cognito

Keycloak

Microsoft Azure Active Directory B2C

Google / Facebook / Github

...

OneToMany

ManyToOne

OneToOne

ManyToMany