DEV Community

Discussion on: How would you define a Full Stack Developer and what role do they play in the company?

Collapse
 
_patrickgod profile image
Patrick God

The problem I've had with interviewing for what's been advertised as a "full stack developer" position is that interviewers tend to expect that you are a specialist at everything. That's not the case. Nobody can be that.

This!

In my experience, a full-stack developer is expected to know everything about the front-end AND the back-end in web development, for instance. When this was possible in the past, nowadays it just does not make sense with all these big web applications that are usually built.

Specialize and focus on one part (again, in web development for instance) and you're much better off.

Collapse
 
jfrankcarr profile image
Frank Carr

Not everything is a big web application, especially in the corporate IT world. There are a lot of legacy apps that need to be ported and many smaller, more narrowly focused, applications that are needed as well. As I mentioned, this is where a full stack developer can find a good fit, provided the management isn't awful and the expectations are realistic.

For example, if somebody hands an Angular specialist or a DBA a legacy, monolithically designed, ASP.NET application (or, even worse, a VB6 desktop app) and asks them to modernize it, they'll probably have trouble pulling it off. A well rounded full stack developer would be able to analyze it and break it into actionable items, even if they didn't necessarily do all the work themselves.

Is it a good career move to position yourself as a full stack developer today? Probably not, especially if you want to work in the cool tech company space rather than the corporate IT space. But, then again, what do you do when your preferred language/framework/database goes out of style?

Thread Thread
 
_patrickgod profile image
Patrick God

It's always a good idea to have knowledge of all sides of an application to a certain degree. Of course, the "full-stack" developer is a good fit to modernize or fix any legacy application.

But as you already mentioned, nowadays it might be better to focus on a particular field. Looking beyond the horizon is a good idea, but again, just to a certain degree, I think. There are already so many technologies that want to distract you, better dive deep into the technology you like most.

And regarding your preferred language going out of style: This can happen to any technology. As a software developer, you should always have the skills to learn another language/framework/whatever. Again, let's have a look at web development. So many different languages and tools out there. But if you write your code in C# or Java (just an example!) should not matter. Switching technologies might take you some weeks. But then you know how it works.