Skip to content
Roadmap to becoming a Java developer in 2019
Branch: master
Clone or download
Latest commit 2323acb Apr 23, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore - Init commit Apr 23, 2019
java-developer-roadmap.png - Updated Apr 23, 2019
java-developer-roadmap.xml - Updated Apr 23, 2019 - Updated Apr 23, 2019

Java Developer Roadmap

Roadmap to becoming a Java developer in 2019:

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

Give a Star! ⭐️

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




  1. Prerequisites

  2. 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
  3. CLI Tools

    1. args4j
    2. JCommander
    3. airline
  4. Web Frameworks + Routers

    1. Spring
    2. Play Framework
    3. Spark
    4. Jersey
    5. nanohttpd
  5. Databases

    1. Relational
      1. SQL Server
      2. PostgreSQL
      3. MariaDB
      4. MySQL
      5. Oracle
    2. Cloud Databases
    3. Search Engines
    4. NoSQL
  6. ORMs

    1. Hibernate
    2. Ebean
    3. BelleORM
  7. Caching

    1. Caffeine
    2. EHCache
    3. Cache2k
    4. Distributed Cache
      1. Java-Redis
      2. Java-Memcached
      3. Infinispan
  8. Logging

    1. Log Frameworks
    2. Log Management System
  9. Real-Time Communication

    1. Socket.IO
    2. atmosphere
    3. webbit
  10. API Clients

    1. REST
    2. GraphQL
  11. Good to Know

  12. Testing

    1. Unit, Behavior, Integration, Load Testing
      1. JUnit
      2. CitrusFramework
      3. Gatling
      4. Tsung
      5. Mockito
      6. Truth
      7. Assertj
      8. cucumber-jvm
      9. cukes
      10. hoverfly-java
      11. rest-assured
      12. jbehave
    2. E2E Testing
  13. Task Scheduling

  14. MicroServices

    1. Message-Broker
    2. Message-Bus
    3. Frameworks
    4. RPC
  15. 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


The roadmap is built using Project file can be found at java-developer-roadmap.xml file. To modify it, open, 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

  • Open a pull request with improvements
  • Discuss ideas in issues
  • Spread the word


License: CC BY-NC-SA 4.0

You can’t perform that action at this time.