One of the hardest things for me is to define my level of knowledge in something. Nowadays I consider myself a Front-end developer because is the area I know the most and I'm most interested at. However, I'm also able to work on back-end side (Not the same knowledge, but it's sufficient most of the time).
I feel like being Fullstack is like being good at Back-end and Front-end, while specializing in one of those areas, means diving deep into them, while having shallow knowledge of the other. Also, it looks like that "deep" understanding isn't needed most of the time, so probably a Fullstack would be good enough in 95% of the cases.
This got me thinking: is it better, career wise, to be a Fullstack developer? Or is specialization the way to go?
Top comments (12)
Just be a 'developer' - don't pigeonhole yourself. Do whatever interests you
I share the same opinion π Study what interests you most π No matter the position, at the end of the day you are a developer π
Yup, you are you - not your job title
That's good advice
Career wise it's better to be a "Software Engineer" and be flexible about what tech you're working on.
There are studies done based purely around job titles and the term "Software Engineer" usually makes more than similar titles such as "developer" or "software developer".
Being a "web developer" is vastly more specific and can actually pigeon hole you into a specific domain of work. Sure it might actually pay more than a generic term of "Software Engineer", but unless you are against anything but web development having a more generic title might help in terms of career flexibility.
Finally, focusing on the technical aspects of your job is fine as well, but most developers/coders are some form of software engineer, which engineers solutions to problems using software. It's that distinction that usually takes you from "doing cool stuff" to "doing cool stuff that solves some problem", along with everything that comes with solving problems.
I personally go by the title of Software Engineer, and usually denote what I'm focusing on at the time. Even though I'm mostly doing front-end engineer work, I like to be part of the overall process of the software as a whole, as the front-end is just where the code goes, but the problem and overall solution is what ultimately matters.
For any code you write, 80% of the job will need 20% of the knowledge so you can get a long way with the basics in most cases.
As for general Vs specifics the best advice I had was to be a generalist in an emerging field and a specialist in a mature market.
If you are doing AI/ML/Edge computing I would say generalise. If you are doing ERP then do Salesforce integration for offshore green energy billing. That's 5 levels of specialism. There won't be many customers but those that are there will pay a big premium because you know exactly how to solve the problems.
Pareto principle!
In my opinion you should have an understanding of both frontend and backend. Think about future proofing yourself because your competition is already learning how to be a developer that can work across multiple tech stacks.
I am in the beginning of my career contracted as a full stack dev and I think it helped me realize that I really do like doing both of them but I definitely favor back end projects. I donβt think you should restrict yourself to a certain role and learn what you like. I like being able to say I know enough about multiple languages to be hired and know Iβve got a couple of good projects out there.
If you have an university degree you can call yourself a Engineer, otherwise Developer is fine.
Fullstack is a term that people abuse of it. To be GOOD at Front End you need some knowledge in Back End and viceversa. Everyone is a Fullstack nowadays but only a few knows their side properly, so I prefer focus on one and master their needs i.e. JS, CSS, a11y, Crossbrowsing, UI, etc. and have enough knowledge of BE to give instructions to other team how you want the payloads.
Being 'fullstack' will give you more opportunities in the sort term but focus on one will give you more recognition in the long run.
If you are not constantly adding new deep knowledge about things you already have learned, youβll stagnate. This is really bad. If you are not constantly adding new areas of expertise, you are pigeonholing yourself. This is also really bad.
TLDR: Both? Both. Both is good.
Specialization is for insects, Go for Full stack