It’s very important to assess your skills in various areas of IT and understand a nesessary Java Developer Skillset.
I tried to categorize the required skills for a Senior Java developer and show my personal experience in it.
Each element contains the a to my Github. You can explore my code in the links.
Core Java |
Spring Framework |
ORM/JDBC |
Testing tools |
Design Patterns |
|
OOP | Spring Boot | Hibernate | JUnit | Stategy | Facade |
Collections | Spring MVC | MyBatis | Mockito | Observer | Template method |
Generics | Spring Security | TestNG | Decorator | Iterator | |
Streams | SimpleFactory | Composite | |||
Multithreading | Abstract factory | State machine | |||
Singleton | Remote proxy | ||||
Command | Virtual proxy | ||||
Adapter | Dynamic proxy | ||||
Microservices |
SQL and Databases |
Web services |
Build tools |
DevOps Tools |
Clouds |
Spring Cloud | PostgreSQL | RestFul | Maven | Kubernetes | Amazon AWS |
Old school: | MongoDB | RSocket | Gradle | Jenkins | Microsoft Azure |
Spring Cloud Config Server | Redis | WebFlux | Docker | Google Cloud | |
Simple microservice | ElasticSearch | ArgoCD Workflows | Oracle Cloud | ||
Feign REST client | DynamoDB | ||||
Client-side load balancing with Ribbon | AuroraDB | ||||
Eureka Naming Server | |||||
Zuul API Gateway | |||||
Distibuted tracing with Zipkin + RabbitMQ | |||||
Spring Cloud Bus | |||||
Fault tolerance with Hystrix |