Roadmap to becoming a Java developer in 2024:
Below you can find a chart demonstrating the paths that you can take and the libraries that you would want to learn to become a Java developer. I made this chart as a tip for everyone who asks me, "What should I learn next as a Java developer?"
中文版
The purpose of this roadmap is to give you an idea about the landscape. The road map will guide you if you are confused about what to learn next, rather than encouraging you to pick what is hip and trendy. You should grow some understanding of why one tool would be better suited for some cases than the other and remember hip and trendy does not always mean best suited for the job
If you like or are using this project to learn or start your solution, please give it a star. Thanks!
Prerequisites
Java
Gradle or Maven
SQL
General Development Skills
Learn GIT, create a few repositories on GitHub, share your code with other people
Know HTTP(S) protocol, request methods (GET, POST, PUT, PATCH, DELETE, OPTIONS)
Don't be afraid of using Google, Power Searching with Google
Read a few books about algorithms and data structures
Learn about implementation of a basic Authentication
Solid principles, etc
CLI Tools
args4j
JCommander
airline
Web Frameworks + Routers
Spring
Play Framework
Spark
dropwizard
nanohttpd
Vertx
Databases
MongoDB
Redis
Apache Cassandra
Clickhouse
InfluxDB
CouchDB
ElasticSearch
Opensearch
Algolia
CosmosDB
DynamoDB
SQL Server
PostgreSQL
MariaDB
MySQL
Oracle
Relational
Cloud Databases
Search Engines
NoSQL
ORMs
Hibernate
Ebean
Caching
Java-Redis
Java-Memcached
Infinispan
Caffeine
EHCache
Cache2k
Distributed Cache
Logging
ELK Stack
Sentry.io
Loggly.com
Tracer
Zap
TinyLog
log4j
Log Frameworks
Log Management System
Real-Time Communication
Socket.IO
atmosphere
webbit
API Clients
okhttp
retrofit
REST
GraphQL
Good to Know
Beanvalidation
bouncycastle
gson
Apache Shiro
JJWT
RxJava
Quarkus
Testing
Selenium
Wiremock
Testcontainers
JUnit
JMeter
CitrusFramework
Gatling
Tsung
Mockito
Assertj
Unit, Behavior, Integration, Load Testing
E2E Testing
Task Scheduling
Aurora
elasticjob
Sundial
cron-utils
MicroServices
Protocol Buffers
gRPC-Java
thrift
Apollo
lagom-framework
micronaut
eureka
helidon
armeria
mbassador
rmq
RabbitMQ
Apache Kafka
ActiveMQ
Apache Pulsar
Message-Broker
Message-Bus
Frameworks
RPC
Java-Patterns
If you think the roadmap can be improved, please do open a PR with any updates and submit any issues. Also, I will continue to improve this, so you might want to star this repository to revisit.
Idea from : Golang Developer Roadmap
The roadmap is built using Draw.io. Project file can be found at java-developer-roadmap.xml
file. To modify it, open draw.io, click Open Existing Diagram and choose xml
file with project. It will open the
roadmap for you. Update it, upload and update the images in readme and create a PR (export as png with 400% zoom and
minify that with Compressor.io).
Open a pull request with improvements
Discuss ideas in issues
Spread the word