O que é Full-Stack Developer?
Novos tempos, novos termos
Em tempos recentes temos ouvido muito o termo Full-Stack Web Developer, e também profissionais que se intitulam Full Stack. Mas quem realmente é Full Stack Web Developer? E por que é necessário cuidado ao utilizar este termo?
Developer - A definição
Developer significa obviamente desenvolvedor, e é aplicado a qualquer programador de computador que produz um programa, seja ele montado, compilado, pseudo compilado ou interpretado.
O Excel é um programa de computador compilado, uma página de internet que processa algo em uma linguagem de programação é também um programa de computador, porém, interpretado.
Web Designer e Web Master
No início do desenvolvimento Web, os dois termos conhecidos e aceitos à época eram:
- Web Designer
- Web Master
Você conhecia a área de criação, layout e código HTML, você era Web Designer.
Você conhecia uma linguagem de programação, PHP, Asp clássico 3.0 -(comecei nessa época). E banco de dados. Você era um Web Master.
Evidentemente conhecendo HTML.
A Web era horrível, sites eram feios, sites bonitinhos só posteriormente em Flash, quando comecei 92% dos sites tinham pelo menos uma página com o gif animado em construção.
É sério, era horrível em termos visuais, mas era divertido.
HTML5, Navegadores, JavaScript, tudo mudou o Mercado mudou!
Com a evolução dos Navegadores principalmente depois do advento do Firefox e em Seguida Chrome, e a criação e posterior popularização do HTML5 e CSS3 desde 2010, e ainda mais importante, com a evolução da linguagem JavaScript Web Designer deu lugar a uma infinidade de especialidades.
- UX
- UI
- Semântica
- SEO
- Mobile First
- CSS3
Hoje são requisitos em qualquer projeto não importa a dimensão, dizer que alguém que domina a parte frontal do projeto é apenas Web Designer, é quase(quase não com certeza), é uma ofensa.
É como chamar um especialista e dizer que ele continua no passado, e não só no passado distante, mas no ultra. Ultrapassado.
Front-End e Back-End
Quem domina as tecnologias necessárias para a criação de um projeto web, seja um site ou aplicativo, e dentro desse pacote temos:
- HTML5
- CSS3
- JavaScript
- UX / UI
Conceitos como Mobile First, RWD, como utilizar pré-processadores CSS, automação e controle de dependência. Versionamento
São chamados de Front-End Developers, mesmo entre os desenvolvedores front-end existem aqueles que são especialistas em HTML5 Semântica e CSS3. Mas conhecem o básico de Js, e existem outros desenvolvedores também Front-end que são especialistas em JavaScript acompanhando inclusive as novidades no ES6. Esse é o grande barato do Front-End, são profissionais multi-disciplinados que se completam atuando em equipe.
Já o Back-End developer, é um profissional que domina as linguagens de programação no lado servidor, por exemplo:
- Python
- PHP
- .Net
- Linguagem SQL - Banco de Dados
Um adendo, embora o JavaScript também possa rodar no lado do servidor com Node.JS ele é comumente utilizado por profissionais Front-end.
O Back-End pode e deve conhecer bem Banco de Dados, em algumas empresas de grande porte, o DBA é um profissional exclusivo para o Banco de Dados, e seria o melhor dos mundos se em toda empresa fosse assim, mas muitos Desenvolvedores Back-End também se especializam em Banco de Dados para agilizar sua programação e seguir as melhores práticas de segurança ao manipular os dados.
Full-Stack Web Developer
Este já é um termo utilizado há alguns anos, porém se tornou popular mais recentemente, com a popularização dos termos Front-End e Back-End.
Full-Stack Developer, é um Front-End Developer que também é um Back-End Developer, e que também é um Leão Branco. Como assim? Embora todo Leão tem um gene que poderia fazer com que ele fosse um Leão Branco, são raros os que nascem assim. Um excelente Full Stack Developer é raro.
Num primeiro momento, parece óbvio que um desenvolvedor Back-End que depois se torna um Front-End se tornará um Full-Stack Developer. Mas olhando com mais seriedade, será que é simples assim? Vamos analisar alguns fatos.
Muitos são os desenvolvedores que começaram com PHP, ASP, Action Script e hoje programam exclusivamente em JavaScript, acredite, muitos são esses desenvolvedores. Estes não são Full-Stack Web Developer, Por que não?
Porque assim como o Front-End o Back-End também evoluiu, esqueça o processo simples de FTP para uma hospedagem, hoje um Back-End de verdade deve dominar escalabilidade, versionamento, MVC, as várias formas de armazenamento, não apenas bancos em SQL.
Será que é realmente possível um desenvolvedor que acompanha o progresso dos dois mundos, não se perder na atualização de cada um ou ficar superficial em uma ou nas duas áreas? Embora não seja necessário ser o melhor Front-End e o melhor Back-End, a verdade é que se concentrar em uma das áreas é muito melhor.
Em grandes empresas, dificilmente você terá o mesmo profissional responsável pelas duas áreas. Mas em Startups, pequenas e até em médias empresas, é comum o Full-Stack Developer, ou seja o Front-End que também é Back-End.
Sabemos que existe uma polêmica neste termo. Muitos Developers que são especialistas na sua área, não aceitam que esse termo seja designado a alguém que atue nas duas áreas, apenas porque, as conhece, mas sim, a profissionais que domine muito bem as duas áreas.
Será que é realmente importante ser um Full-Stack Web Developer
Então mais importante do que definir se você é ou não Full-Stack, é se perguntar, por que eu quero este nome? Para me esconder atrás dele? Ganhar mais em sentido financeiro? E conclua se perguntando, estou disposto a assumir a cobrança que se exige de um termo tão pesado, e continuar acompanhando a velocidade do desenvolvimento do mercado nos dois segmentos, Front-End e Back-End?
Nos últimos tempos é crescente a quantidade de profissionais de Front-End que estão cada vez mais se especializando na última tecnologia lançada, sem analisar ao certo se determinada tecnologia está madura o suficiente para se investir nela. Na verdade um profissional que se dedica a conhecer sempre o Alpha de cada tecnologia, nunca tem tempo para produzir um produto até o final.
Muitas vezes é melhor se dedicar a um projeto significativo em uma tecnologia que você domine, do que ficar tentando aprender de tudo um pouco, todo o tempo.
Melhor do que ser Full-Stack Web Developer. É ser um bom Front-End ou um bom Back-End que resolva problemas. Por que no final, tudo se resume a isso.
Conheça os livros do Maujor®
Ir para a página de entrada nos sites dos livros.