Níveis de carreira de um(a) Front-End Engineer

Front-End Engineer Básico

Requisitos para Front-End Engineer Básico:

  • HTML (codificar uma estrutura básica)
  • CSS ("codar" um layout, conseguir copiar algum site ou componente simples é um bom indicador do seu nível de conhecimento)
  • Lógica de Programação (Aprender e entender como funcionam os algorítmos, variáveis, tipos de dados, estruturas de controle, de decisão e repetição, operadores aritméticos e etc)
  • JavaScript (inserir um script em uma tela, utilizar libs, criar pequenas coisas)
  • Tooling (você vai precisar de algo como o Webpack, GulpJS, NPM Scripts)
  • Gerenciamento de dependências (NPM e Yarn)
  • O básico de Responsive (aprenda a fazer um layout funcionar em múltiplos dispositivos)
  • Git (e saber que Git e GitHub não são a mesma coisa!)

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 um(a) Front-End Engineer Intermediário!

Front-End Engineer Intermediário

Requisitos para Front-End Engineer Intermediário:

  • HTML (entender sobre Semântica e Acessibilidade)
  • Escalabilidade
  • Manutenibilidade
  • Padrões de Projetos aplicado ao JavaScript e ao CSS (básico, pelo menos)
  • Conhece/trabalha com algum Framework CSS e JS
  • Pré processadores CSS
  • Sabe criar testes unitários
  • Entende alguns paradigmas de programação (Ex.: OOP e/ou Funcional)
  • Atende aos múltiplos navegadores e suas diferenças
  • Criar um ambiente de desenvolvimento ou um Boilerplate para iniciar seus projetos facilmente
  • Domina suas ferramentas de trabalho (Editor, S.O., etc)
  • Performance (tanto do JavaScript, quanto do CSS, sim do CSS)
  • 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 Avançado ou chegando lá.

Front-End Engineer Avançado

Requisitos para Front-End Engineer Avançado:

  • Domina os Paradigmas de Programação e boas práticas com JavaScript
  • Entende os problemas e limitações do JavaScript, CSS e HTML
  • Consegue criar aplicações 100% com JavaScript e deployar
  • Consegue conversar de igual para igual com um Dev Back-End
  • Domina os Padrões de Projetos
  • Domina pré-processadores e metodologias CSS (como BEM, SMACSS, Atomic ou outras) e boas práticas
  • Domina Performance no Front-End
  • Entende a importância da Integração Contínua
  • Domina testes unitários
  • Domina os fluxos de trabalho com Git
  • Você entende os custos ($$$) do Front-End (Arquitetura, o que problemas na interface podem gerar negativamente para uma empresa, etc)
  • Domina o ambiente do navegador (Render, Painting e etc).
  • Entende sobre o protocolo HTTP e o que o cerca ( Segurança, three-way handshake do TCP, como funciona uma requisição)