https://github.com/concretesolutions/front-end-guide
https://github.com/concretesolutions/front-end-guide
Last synced: 6 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/concretesolutions/front-end-guide
- Owner: concretesolutions
- Created: 2017-10-18T13:12:15.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-01-18T11:59:16.000Z (over 8 years ago)
- Last Synced: 2025-01-24T08:31:15.065Z (over 1 year ago)
- Size: 4.88 KB
- Stars: 150
- Watchers: 20
- Forks: 24
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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](http://pt-br.learnlayout.com/), 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](https://webpack.github.io/), [GulpJS](http://gulpjs.com/), [NPM Scripts](https://docs.npmjs.com/misc/scripts))
* Gerenciamento de dependências ([NPM](https://npmjs.org/) e [Yarn](https://yarnpkg.com/pt-BR/))
* O básico de Responsive (aprenda a fazer um layout funcionar em múltiplos dispositivos)
* Git (e saber que [Git](https://git-scm.com/) e [GitHub](http://github.com/) 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](https://www.smashingmagazine.com/2012/11/writing-fast-memory-efficient-javascript/), quanto do CSS, [sim do CSS](https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Writing_efficient_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)