How to expand my Java knowledge (Java 8/11, 2 YOE)?
Posted by CtrlZMyLifeFr@reddit | learnprogramming | View on Reddit | 3 comments
Hi everyone,
I’m working as a Java Software Engineer (not graduated yet) for about 2 years, mainly using Java 8 and 11. The work in my current company feels slow-paced, and I want to expand my knowledge so I can:
- Gain enough technical depth to solve challenging issues at work that has been neglected by some seniors for over a decade.
- Prepare myself for better opportunities at other companies.
My experience so far is mostly backend for web applications (Java, Spring, Struts, JSP, etc.), but I’m not growing fast enough.
I’m looking for advice on what areas, tools, or resources I should focus on to level up my web backend skills. I prefer online reading resources, but videos are fine too. Any tips on how to structure a learning path would be really appreciated.
PS: I’m not asking about banking domain knowledge, I actually dislike the banking domain and want to grow in general web application development using Java backend technologies.
Thanks in advance!
temporarybunnehs@reddit
Some ideas aside from operational, soft skills, and arch. Don't forget cloud knowledge under operational and arch stuff.
There's probably more, but since you work for a bank, see if you can pick the architect's brain or staff / principal eng. If it was me, i'd love to talk about things i've designed or built.
Rain-And-Coffee@reddit
What areas are you weak in?
Have you mastered operations? deploying, monitoring (metrics), structured logs, CI/CD pipelines, docker, kubernetes, etc?
What about soft skills? Can you break down a complex problem into smaller one, in a way that someone else could work on them?
What do you know about architecture? Do you understand tradeoffs? When to use a message queue, when to use microservices, what types of databases to use? How to partition your data? How they scale? etc
A lot of this comes from just reading and getting more experience.
CtrlZMyLifeFr@reddit (OP)
I know my way around deploying, have done a bit of CI/CD for some pet projects, and I’m pretty solid with Docker. Haven’t touched Kubernetes at all.
For soft skills, I can break down complex problems so I can solve them myself, but I haven’t really had the chance to structure tasks for others.
Architecture-wise, I get the concepts behind microservices, but I haven’t worked on a large microservice system myself. I don’t really have experience with message queues or choosing between different types of databases either.
That said, your reply already gave me a good idea of where to start digging deeper. If you have any other pointers on what I should focus on learning next, I’d really appreciate it.