Especialização back-end e front-end ainda faz sentido?

Publicado em . 3 min leitura.
foto do grand caynon

Sempre tivemos esse tipo de divisão no mundo do desenvolvimento, vamos pensar se isso ainda faz sentido nos dias de hoje?


DISCLAIMER

Não falo contra a especialização de forma geral, nem estou ditando a "morte do front/back-end". Quero apenas desmitificar uma visão normalizada de que existe uma linha muito clara que separa o back do front.

Não sou o primeiro a trazer esse assunto à tona, nesse post o autor alega que a divisão é um anti-pattern:

Agile teams, in particular, require open minds and the willingness to wear different hats to be effective.

Não concordo apenas com a generalização, cada caso precisa ser analisado de forma contextual, porém muitas vezes toma-se por verdade absoluta que todos os sistemas devem ser divididos entre back / front, isso começa nos desenvolvedores e cresce pra "times de back" e "times de front", isso é sim, pode ser considerado algo bastante prejudicial, pois limita a capacidade de inovação dentro dos times por falta de comunicação e interação.

Blind Girls

Numa necessidade de se auto determinar, muitos se identificam como full stack e só, para não precisar mais pensar no assunto nem limitar seu ramo de atuação e aprendizado escolhendo apenas um caminho.

48.3% dos desenvolvedores se identificaram como full stack em 2019

Fonte: State of JS 2019

Olhando para o desenvolvimento de produtos, sistemas ricos e complexos que resolvem problemas desafiadores podem ser criados quando nos livramos do estigma de que back cuida do banco e da performance e que front cuida da pele. Times multidisciplinares, com especialistas de todas as áreas tendem a construir soluções mais eficientes e com maior qualidade final, desde que estejam abertos a colaboração e ao aprendizado.

Backenders devem entender que gaps de performance não começam quando o endpoint está cheio de requisições que precisam ser otimizadas, mas que a performance tem de ser levada em consideração na ideação do produto, na validação dos protótipos e na escolha de arquitetura do front.

Frontenders devem entender que a participação do backend é de suma importância para viabilidade da solução, uma vez que a presença de um especialista antecipa problemas que por vezes mudam e moldam a solução no front.

Mas voltemos ao assunto principal, ainda faz sentido essa separação?

O mundo de TI é muito amplo para se encaixar a divisão back-end / front-end como um formato que demanda as duas especializações. Hoje temos cientista de dados, gestores de banco de dados, devops, ux/ui designers, fullstack developers, desenvolvedores mobile, e por aí vai. Enquanto empresas seguirem inovando e criando produtos, novas funções aparecem, para dar "nome" ao que cada indivíduo desenvolve nesses produtos criados.

Cada vez mais, vemos que essa divisão simplista entre quem cuida do servidor, e quem cuida do cliente, cai em irrelevância, pois os problemas estão ficando mais complexos, levando a mais especializações, que muitas vezes misturam noções de tudo, não apenas dessas "caixas" que criamos para o backend e frontend.

Então não, o que vamos seguir vendo é uma simbiose das duas funções, em novas especializações focadas em funcionalidade, pois é uma consequência natural da evolução do conhecimento, sem regras escritas na pedra.