Fullstack vs. backend and frontend developers

Fullstack vs. backend and frontend developers
Trying to make a bootstrapped company a profitable one is not easy. You not only have to adjust and pivot your strategy and your business model but you also have to deal with limited resources. That is why one of the most valuable resources of a startup is the ability to be flexible. If we translate the need of flexibility to the development team we find out why small companies should only hire fullstack developers.

Trying to make a bootstrapped company a profitable one is not easy. You not only have to adjust and pivot your strategy and your business model but you also have to deal with limited resources.

That is why one of the most valuable resources of a startup is the ability to be flexible. If we translate the need of flexibility to the development team we find out why small companies should only hire fullstack developers.

Be flexible, adapt, pivot...

Small companies (say less than 25 developers) should only hire full-stack developers. People with the skills and expertise capable of helping the company no matter what the needs are. Big teams need more rules and a strict process so it's desirable to have clear roles and responsibilities. Frontend, backend and mobile teams are needed. Each with clear objectives and goals.

In a former post I wrote about the costs of onboarding. When you hire someone it takes some time until that person is productive. The same thing happens when people change teams (although not as acute as onboarding someone new).

Time is a valuable resource for a startup or a small company, therefore we want to maximise how we spend it.

A team of fullstack developers helps the company optimise its resources. Our application response times are increasing? Move some people to the backend and improve them. Our interface has usability issues? Move them to frontend and solve them.

If there is a strict separation of roles moving someone from frontend to backend can cost almost the same as onboarding a new person. That makes us inefficient.

Fullstack developers tend to be more "creative" when it comes to solving problems. They are used to wearing different hats. They tend to be more keen to step out of their comfort zone than backend/frontend developers.

Look 'ma I'm growing

What was a big advantage for a small company becomes now a burden when your team of developers grows.

When your company starts to grow having everybody capable of doing everything is simply not possible. Big teams cannot scale as one team. We need to separate people and give them a clear definition of their roles and responsibilities. It's the only way we can grow.

It makes total sense to have teams of people focused on one specific area like backend, frontend, ios, android...

The key to succeed is to know how to transition from an agile team to an efficient team.

Summary

A small company should not try to mimic the structure of a big company and vice versa. You need to know your company, its strengths and weaknesses and create the best development team possible.