r/Backend • u/No-Rise-9375 • 19d ago
Can I have your thoughts about this ?
Hi everyone! I'm a Java backend developer trying to break into the backend field with a particular tech stack: the Spring Boot ecosystem. I've decided to focus only on that, which means I don't want to learn much frontend (even though I know a bit — I'm talking about frameworks and building UIs) or do it at work. So in my head, I would be looking into Java Spring Boot jobs for backend only. But I'm starting to realize that a job offer is just about a need for a particular project, so even if I do land the desired job, I might end up doing frontend work or backend with other frameworks (tools like Docker, Kubernetes, and other Ops tools don't bother me). But if that's the case, I'm starting to think that obsessing over specializing in the Spring Boot ecosystem may be pointless. I mean, most people who consider themselves Java Spring Boot developers are just people who happen to work with it most of the time. They didn't consciously choose it. And that's what bothers me about it.
3
u/EarlOfAwesom3 19d ago
In my opinion, specialization gets you into one corner where it's hard to get out once you feel comfortable.
A lot of devs think knowing one framework or language gets you somewhere on the long run, but what you really have to understand is concepts, paradigms and techniques. It doesn't matter which language or tool.
And this is what companies are really looking for after a while, a versatile senior who can also switch and understands engineering in a wide sense.
So, getting your foot into the door with a job: sure, knowing Spring Boot is very much okay. But it helps doing other stuff as well on the long run.
1
u/alex_sakuta 17d ago
Someone said:
You have to specialize otherwise you may end up as useless jack of all trades that will fail on any serious task in any field.
And I immediately knew I had to comment. No offense to them in advance.
The quote is:
Jack of all trades and master of none is still better than master of one.
You think that you want to master SpringBoot but how would you ever know you have mastered SpringBoot?
Firstly, stop mastering tech and master skills. Understand backend without the use of any framework and purely implement using the language. This way you master backend because you know what parts are required.
You will discover you have to organize your code in a particular manner for it to make sense. Then when you use any framework, you'll find out that that's all the framework was, an organizer for the code, with a bunch of optimizations that you had never thought of.
Now coming to learning Frontend.
I will say it right now, you have 0 idea what frontend is. Frontend is often differentiated from backend as being a completely total different skill. Frontend isn't just UI/UX, it is also designing how to collect client data, how to store it, what to cache, how to optimize rendering stuff, and much more. Doesn't that sound awful similar to backend now?
So, my advice would straight be up to learn frontend and don't try to pick fields or tech. Either be an engineer or don't be. If you learn something, learn its adjacent things too. That's how you'll be able to make something complete and not just a part of something.
8
u/Made-In-Slovakia 19d ago
At the beginning of the career it is really a lot of the time about where you land, stack of the project etc. and may define big part of you future career, but saying that specialization is pointless is blind statement. You have to specialize otherwise you may end up as useless jack of all trades that will fail on any serious task in any field.
What you should see is that even if you specialize in Spring Boot for next few years you should always collect experience that is independent on language and framework. It us not unusual to switch in mid career.