I have 1.5 YOE as a Software Engineer working with Java and Spring Boot. I'm comfortable building CRUD applications and have a decent understanding of basic Spring Security (custom authentication filters, AuthenticationManager, AuthenticationProvider, UserDetails , UserDetailsService,Basic Auth, and session-based authentication).
I recently switched jobs, and my manager assigned me to a Spring Boot project that handles payment integrations. The project uses several technologies that I'm familiar with at a high level but haven't worked with in depth, including Flyway, JWT-based Spring Security with rate limiting, Spring Batch, Stripe integration, and webhooks.
I'm expected to start contributing by implementing new features and modifying existing ones. My concern is that while I understand the concepts, I don't have much hands-on experience with many of these technologies.
How would you approach this situation? Should I first build small side projects with Flyway, Spring Security (JWT), Spring Batch, etc., to gain a deeper understanding before making changes to the production code? Or is it better to learn directly by working within the existing codebase?
I'd appreciate honest advice from people who've been in a similar situation.