While starting new projects, many entrepreneurs face the dilemma to hire generalists or specialists. However, the choice is not limited to: small project — go Full-Stack developers team, large project — go front-end/backend development team. Here we describe what talents each project may need.
Since there is a lot of controversy around the term «Full-Stack developer», we firstly define it from our experience. A Full-Stack web developer — is not a person who knows and does everything. Generally, Full-Stack developers have initial specialization and experience with various tech stacks, employing 1-2 instruments for each layer of development. Full Stack developers might not give the best design ideas, but they could definitely put a better picture and present a more comprehensive perspective of a client’s ideas.
Full-Stackers are valuable because they see and understand the big picture, used to learning and adapting fast to new tasks and circumstances. Ideally, all programmers should understand all tech layers of the application — to develop higher quality products.
Specialized developers hold expertise over only a single discipline – either the front-end or the backend technology. Skilled deeply in particular tech stack, narrow specialists are able to offer more creative solutions.
Use cases: Full-Stack
Early-stage startups
Startups on the stage often choose Full-Stack developers since they are able to develop faster, more organized, and flexible, learning new things on the way and adapting to updates. And sure, it is cheaper and faster to hire one person instead of 3-4.
The statistics confirm these words about the high demand for Ful-Stack programmers from early-stage startups.

Maintenance of the existing product
It is a good idea to hire a Full-Stack developer when the application is deployed and it only needs maintenance, optimization, or small tweaks. Since the programmers understand the bigger picture they can help with the whole design structure and provide quality input on any level.
Manager roles
Full-Stack developers are better for Chief Technical Officer, Team Lead, Project manager, Architecture roles. They are able to make decisions keeping in mind all the facets of software product development.
Moreover, large companies are inclined to choose PMs with Full-Stack experience. They are valuable for applying their general knowledge in all tasks.
Simple projects
These projects may be ordered by any size of the company. The distinguishing feature for such software projects is that they comprise a small number of tasks, clear functionality, and simple implementation.
Use cases: specialized developers
Project priority to either to front-end or backend
Your business may have only one core part which is most useful to the business operations, be it front-end, back-end, or database management. For example, you need a unique front-end design for your website, wherein the back-end isn’t really a priority.
Specialized developers might be the top choice since they provide the highest amount of skills for the required job.
Complex projects
As there’s a need to accurately follow the documentation process along with implementing suitable tools and technologies. Additionally, such projects need a lot of employees for more competent solutions.
Wrapping up
Full-Stack developers are not a substitution for front-end and backend developers. They are just for the other types of software development projects. A Full-Stackers’ distinctive feature is to treat tasks with general technical knowledge. A specialized developer’s task is to make their part of work on the highest level of quality and creativity.
Finally, pay attention to the programmer’s skills, not their titles. Candidates calling themselves frontend or backend developers might have enough knowledge to fill your Full-Stack job.