Identifying Developer Types
When you work in an industry for a while, insider terms start to become commonplace. The problem is that it makes the barrier to entry higher for those coming in fresh. The phrase full-stack developer is one of those insider terms. It makes more sense, though, when you see it in comparison to the other developer phrases: front-end developer and back-end developer. So let’s look at all three.
A front-end developer is a person who specializes in developing user interfaces. They may be more design-oriented or they might not. A developer who takes a design from a designer and implements it in a user interface is still a front-end developer. The key is the concentration on UI work but that does not mean they don’t do coding. Just the opposite. A true front-end developer (emphasis on developer) is a person who writes code around the user interface (validation, business logic sometimes, etc.)
A back-end developer is a person who specializes in the processing of data using code. They might writes services, business logic layers, data access layers, etc. They are more likely to be the developers that know SQL well and interact with it. Again, that does not mean they don’t write code, it just means that the code they write is more likely to talk to the database.
Now, let’s look at a full-stack developer. A full-stack developer can do all of these tasks. They can create the UI, they can write the business logic layer, they can write the data access, and they are probably good at working with a database as well. They can do it all. That does not mean they have to or that their role requires it necessarily. Some companies hire full stack developers simply because they need the flexibility on their staff.
So, what is best? Well, that depends on your skillset and what you enjoy. It would seem like a full-stack developer has the advantage because they can do anything but another word for them is usually generalist. They can do anything but they don’t really specialize in anything. In contrast, a front-end or back-end developer specializes in one area of development. Maybe you are really good at design as well as coding. A front-end developer position might be better for you. Maybe you really like database work and you are horrible at design. A back-end role might be better for you.
The key, though, is to always expand your knowledge. Be better at what you do and push yourself to expand beyond what you know as well. The more you do this, the more valuable you will be to your current and future employers.