The current use of “fullstack engineer” is a popular buzzword these days around most development and/or product circles.
But what is it? What does it mean?
Currently, a fullstack developer is a role that entails utilizing a broad set of skillsets of web development which are often referred to as “stacks”:
The “database” stack is a focus around managing data and queries to database products such as SQL Server, Oracle, PostgresQL and MongoDB.
The “devops” stack is a focus on the deployment, maintenance and monitoring of the backend / frontend application components on a cloud environment such as Azure or AWS with the help of Kubernetes or Docker.
In other words, a full stack developer is a generalist by necessity.
While the “full stack” handle might be edgy and hip, when you break things down, then you’ll come to the conclusion that this type of role is a generalist by necessity.
One can be very proficient in their chosen set of stack libraries / frameworks, but it’s also quite difficult to always line up your favorite stack with a stack that’s in use by a company.
There are many combinations of stacks out there that were put together by product developers who may have been facing infrastructure, security or “political” constraints when putting the full stack application together.
Being proficient in one entire “full stack” is probably more helpful to you then only being proficient in half a stack.
While an obvious observation, it’s worth reminding that it’s not so important to choose the “right” full stack, so much as just learning a combination of your favorites to build a good foundation for yourself.
From this bedrock of skills, you can start to grow and focus on areas that either interest you, or that will get you more work.