Carreira frontend | frontend engineer
Níveis de carreira de frontend software engineer permalink
Agora que você sabe quais suas responsabilidades como pessoa desenvolvedora, chegou a hora de focar nos requisitos técnicos para se tornar frontend!
Frontend Engineer Júnior permalink
- HTML (codificar uma estrutura básica, entender sobre semântica e acessibilidade)
- CSS ("codar" um layout, reset CSS, normalize CSS, organização de código CSS, conseguir copiar algum site ou componente simples é um bom indicador do seu nível de conhecimento)
- Lógica de programação (não vem querer mexer mais a fundo em JavaScript antes de aprender lógica, hein!)
- JavaScript (criar pequenos scripts/rotinas, inserir um script em uma tela, utilizar libs prontas, criar pequenas coisas)
- Tooling (terminal, bibliotecas JS/CSS, template engines HTML, algum framework JavaScript, NPM, Babel, algum module bundler como o webpack)
- Gerenciamento de dependências (NPM)
- Responsive CSS (aprenda a fazer um layout funcionar em múltiplos dispositivos)
- Versionamento de código (Git e GitHub)
Não corra durante os estudos, pratique muito tudo o que você aprender até ter coragem de falar que sabe aquilo!
Caso você já domine essas coisas, talvez você já seja Frontend Engineer nível pleno!
Frontend Engineer Pleno permalink
Nesse nível você já domina os requisitos técnicos de junior e atua com isso há um tempo. Necessitando, agora, de coisas mais avançadas tecnicamente, como:
- Escalabilidade
- Manutenibilidade
- Padrões de Projetos aplicado ao JavaScript e ao CSS
- Conhece bem algum Framework CSS e JS (como o React ou Angular)
- Domina algum/alguns paradigmas de programação (OOP, Funcional, etc)
- Atende aos múltiplos navegadores e suas diferenças (cross browser)
- Sabe criar um ambiente de desenvolvimento ou um boilerplate para iniciar seus projetos frontend
- Domina suas ferramentas de trabalho (editor, S.O., etc)
- Performance Web e de aplicações client side (JavaScript e CSS de alta performance)
- SEO (estruturação do HTML, resolver a listinha do PageSpeed, Schema.org)
Se você já domina tudo isso, então você deve estar no nível sênior ou chegando lá. Talvez esteja faltando somente compartilhar o seu conhecimento para mostrar para sua liderança o quanto você já sabe ou puxar projetos do zero sem supervisão/ficar responsável por algum projeto.
Frontend Engineer Sênior permalink
Nesse nível você já domina os requisitos técnicos de pleno e agora está indo para coisas como:
- Dominar os paradigmas de programação e boas práticas de desenvolvimento/engenharia de software
- Pode ou não saber mais de uma linguagem de programação
- Consegue criar aplicações 100% JavaScript de altíssima qualidade
- Consegue conversar de igual para igual com uma pessoa backend, mobile, SRE ou outras que cuidam do software que você trabalha
- Dominar padrões de projetos
- Dominar metodologias de desenvolvimento CSS (como BEM, SMACSS, Atomic ou outras) e boas práticas
- Integração contínua e deploy contínuo
- Domina mais de um fluxo de trabalho com Git/versionamento de código
- Sabe criar módulos/bibliotecas/frameworks
- Sabe ou pelo menos conhece TDD
- Você entende os custos ($$$) do Frontend (arquitetura, o que problemas na interface podem gerar negativamente para uma empresa, como garantir a qualidade de software client side, etc)
- Sabe acompanhar erros de software (criar bons relatórios em ferramentas como o Sentry, por exemplo)
- Sabe fazer e controlar testes A/B
- Docker, Kubernetes, AWS (ou algum outro provedor), TerraForm e algo a mais sobre infra, será um plus