A alguns anos atrás escrevi um texto sobre o que é o frontend, também palestrei sobre o que é frontend, a carreira do frontend e os tipos de frontend que existem.
Como minha visão sobre o assunto mudou bastante, resolvi revisitar esses materiais e escrever um parecer atualizado sobre os tipos de frontend que podemos identificar.
Antes de começarmos, quero deixar claro que essa separação que eu faço no texto não é uma separação de mercado (pelo menos não ainda). Quando você é contratado como frontend, se espera que você execute todas as funções que eu cito abaixo.
Porém, existe uma movimentação, e conheço algumas vagas sim que são separadas de forma muito parecida com a minha descrição, mas isso é excessão e não regra.
Histórico do desenvolvimento web
Quando tudo isso aqui era mato, tinha o designer e o web master. Designer responsável pelo layout e o webmaster por todo o resto.
Esse resto era transformar o layout em HTML, CSS, fazer as animações e interações com Javascript/jQuery, além de usar PHP e mySQL – por exemplo – para o lado do servidor.
Aos poucos a complexidade foi aumentando e a divisão aumentou, com o frontend e o backend. O backend era a pessoa que fazia tudo funcionar, configurava o servidor, modelava o banco de dados. E o frontend?
O que é frontend?
Anos atrás, o frontend ficava no meio do processo de construção de uma aplicação web, mas acabava não sendo dono de nada. Quem desenhava a interface era o designer e quem fazia a parte de lógica da aplicação era o backend. Tanto que frontend nem era considerado programador na maioria das empresas.
Com a evolução da web, dos navegadores e dos dispositivos (computadores, celulares), os sistemas web começaram a ficar mais complexos e o frontend começou a dividir mais responsabilidades com o backend. Nessa época começaram a surgir vários frameworks para ajudar os backends a fazer requisições usando Javascript, usar o modelo MVC entre outras coisas.
Até que em um determinado momento surgiram as APIs.
A adoção das APIs web deixou bem claro o trabalho do frontend. O trabalho do frontend começa em materializar o layout em HTML e CSS, garantir a acessibilidade, o funcionamento da aplicação em navegadores diferentes, a exibição em dispositivos com tamanhos diferentes, além do desenvolvimento de lógica no próprio frontend principalmente para exibir ou para enviar informações para a API.
Separação das responsabilidades
Com o tempo, projetos grandes ficaram complexos demais para apenas um perfil de frontend conseguir resolver tudo. Assim começaram a surgir termos (discutíveis) para separar tipos de Frontend, mesmo que de forma não oficial.
Grandes empresas entregam tipos de projetos com complexidades e necessidades diferentes. Isso cria a necessidade de profissionais com perfis diferentes.
Frontend designer
O frontend designer, é um frontend que manda muito bem no visual. Inclusive ele é capaz de criar designs simples, ou evoluir layouts desenhados pelo time de design.
É um profissional que sabe da importância de um HTML semântico, que sabe que muitas coisas são possíveis com SVG, domina animações com CSS, design responsivo entre outros. Gosta de trocar ideia com os designers e tem um pensamento bastante voltado pra usabilidade e visualização da aplicação.
Frontend engineer
Já um frontend engineer é um profissional que não obrigatoriamente sabe muito sobre animações com CSS, pois onde ele mais faz diferença é trabalhando com Javascript seja com Angular, React, Vue.js, Ember.js, Node.js ou qualquer outro que você lembrar.
É um profissional que não é backend, mas consegue interagir bastante com o backend até dominando o básico de uma ou outra linguagem de backend.
Este tipo de frontend se preocupa bastante com a performance, segurança e escalabilidade do código.
Conclusões
Obviamente, cada empresa terá realidades diferentes, mas quando no mesmo time você tem 2 ou 3 frontends, você consegue perceber nitidamente esses perfis e é extremamente importante que leads e gestores entendam essas diferenças de perfis para que se aproveite da melhor forma possível as características de cada tipo de frontend.
Os melhores desenvolvedores frontend que eu conheço são desenvolvedores completos que conseguem criar layouts complexos e lidar com algoritmos também complexos no Javascript (seriam os Fullstack Frontends? hahaha).
Mas sabendo agora desses tipos de frontend, veja com qual você se parece mais e foque em se aperfeiçoar.
Não deixa de comentar caso você discorde, tenha alguma sugestão de tema ou qualquer outra coisa.