Skip to main content

Java Developer Roadmap

Disclaimer

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

Give a Star! ⭐

If you like or are using this project to learn or start your solution, please give it a star. Thanks!

Roadmap

Roadmap

Resources

  1. Prerequisites
  1. 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
  1. CLI Tools

  2. args4j

  3. JCommander

  4. airline

  5. Web Frameworks + Routers

  6. Spring

  7. Play Framework

  8. Spark

  9. Jersey

  10. nanohttpd

  11. Databases

  12. Relational

  13. SQL Server

  14. PostgreSQL

  15. MariaDB

  16. MySQL

  17. Oracle

  18. Cloud Databases

  1. Search Engines
  1. NoSQL
  1. ORMs

  2. Hibernate

  3. Ebean

  4. BelleORM

  5. Caching

  6. Caffeine

  7. EHCache

  8. Cache2k

  9. Distributed Cache

  10. Java-Redis

  11. Java-Memcached

  12. Infinispan

  13. Logging

  14. Log Frameworks

  1. Log Management System
  1. Real-Time Communication

  2. Socket.IO

  3. atmosphere

  4. webbit

  5. API Clients

  6. REST

  1. GraphQL

  2. Good to Know

  1. Testing

  2. Unit, Behavior, Integration, Load Testing

  3. JUnit

  4. CitrusFramework

  5. Gatling

  6. Tsung

  7. Mockito

  8. Truth

  9. Assertj

  10. cucumber-jvm

  11. cukes

  12. hoverfly-java

  13. rest-assured

  14. jbehave

  15. Mockserver

  16. E2E Testing

  1. Task Scheduling
  1. MicroServices

  2. Message-Broker

  1. Message-Bus
  1. Frameworks
  1. RPC
  1. Java-Patterns

Wrap Up

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

Contribution

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