I've got two years of experience as Java developer, I'm aware of my junior skill level and I want to improve.

I mainly work in the back-end with Spring Boot and so far I'm completely aware that I need to learn two things:

1) Data Structures
2) Design Patterns

What other things should I learn in order to be mid level and/or get a certification?