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