Skip to content
This repository has been archived by the owner on Apr 3, 2023. It is now read-only.

Quais as características esperadas para um desenvolvedor front-end experiente? #23

Open
teles opened this issue Mar 27, 2017 · 2 comments
Labels

Comments

@teles
Copy link
Owner

teles commented Mar 27, 2017

Escrever um texto para explicar que características acho que são pertinentes a um desenvolvedor front-end experiente, ou pelo menos, ao desenvolvedor que eu gostaria de ser.

Essa lista é resultado de uma pergunta de um amigo da área.

  • Criar uma SPA inteira: estilo, rotas, marcação html, gerar um build do projeto.
  • Organizar um projeto de front inteiro com divisão clara de componentes.
  • Versionar o código de maneira a mantê-lo estável;
  • Ajudar a equipe a resolver conflitos o quanto antes (de código e implementação);
  • Consumir endpoints e opinar sobre a melhor construção deles;
  • Estar disponível para dar bons feedbacks de design e usabilidade;
  • Saber de que features se pode abrir mão e como abrir mão delas;
  • Saber como utilizar código front-end de terceiros de maneira fácil de manter;
  • Noção de SEO que evite que ele cometa erros mais básicos que podem ter impacto negativo;
  • Ter uma noção média de teste unitário;
  • Ter uma noção básica de alguma ferramenta de integração contínua;
  • Evitar quebrar a branch de desenvolvimento;
  • Ter soluções de implementação que evitem travamento de deploy, como feature hiding;
  • Estar disposto a discussões saudáveis sobre mudar ou manter tecnologias como frameworks js, gerenciadores de tarefas, etc;
  • Não ser apaixonado por uma tecnologia de front mas também não mudar só por modismo;
  • Ter boa noção do processo de desenvolvimento e do ciclo de vida de uma issue;
  • Ter conhecimento suficiente nas tecnologias que mais trabalha para propor algumas boas práticas para o time;
  • Saber escrever uma issue de forma bem descrita, para macaco ler e entender;
  • Escrever componentes que possam ser plugados em outras aplicações;
  • Alguma noção de como empacotas código front end e entrega-lo via npm, bower ou algum cdn;
  • Também tem que ter alguma noção sobre a melhor maneira de entregar arquivos estáticos.
  • Alguma noção sobre cabeçalho de respostas HTTP;
@teles
Copy link
Owner Author

teles commented Mar 29, 2017

@woliveiras nessa seu palpite é muito bem vindo. Um amigo me perguntou o que ele tem que fazer para conseguir um trampo de front-end com um salário alto em SP.
Acima o que respondi para ele de bate e pronto. Imaginei fazer disso um post com o tema que está no título da issue.
Minha pergunta: acha que seria um post legal?

@woliveiras
Copy link

Acho que seria excelente!

Principalmente a parte:

que características acho que são pertinentes a um desenvolvedor front-end experiente, ou pelo menos, ao desenvolvedor que eu gostaria de ser

Por que isso afirma que você acha isso pertinente e tenta ser esse tipo de profissional e não é verdade absoluta.

Achei os pontos levantados muito bons, @teles.

Acho que a parte de não quebrar a brahcn dev pode ser meio confusa para algumas pessoas, pois não são todos que seguem branch dev no seu fluxo de versionamento de código. Mas acho que seria muito bom colocar isso se você explicar antes o que é essa branch dev. Se explicar antes vai ficar claro que o dev não deveria quebrar a branch de desenvolvimento independente do fluxo que segue. 😄

Acho importante mudar a parte de ter boas noções para saber testes unitários e também TDD. É o que garantiria um JavaScriptzinho maneiro.

Também seria interessante colocar que o dev precisa saber bem como utilizar algum dev tools, para assim conseguir encontrar bugs rapidamente.

Dependendo do ramo de atuação (empresa onde trabalha) do dev, também pode ser necessário manjar muito de performance JavaScript e CSS. Talvez esse dev precise escovar bits atrás de boa performance dos seus algoritmos. - Saber fazer um profile não é saber manter a performance, por exemplo.

Ter um conhecimento avançado em algoritmos também pode ser importante dependendo do ramo de atuação.

Acho importante que o dev também se mantenha atualizado com o que acontece no mercado e esteja de olho nas novas tecnologias. Se não tiver tempo para se manter atualizado, acho importante que siga as pessoas, blogs, podcasts ou qualquer fonte de conteúdo que compartilham coisas que podem o atualizar.

O dev deve tentar automatizar o máximo de coisas que ele faz ou ter essa vontade.

Não é um requisito, mas eu acho muito importante que os desenvolvedores participem de comunidades e projetos open source. As comunidades podem ajudar a manter sua atualização nas novas tecnologias e os projetos são excelentes locais para treinar seus conhecimentos.

Eu acho interessante que o dev também não tenha medo de expor o que pensa (mas precisa saber se comunicar para não arrumar confusão), pois se ele enxergar algo que parece errado no projeto, ele vai falar.

Na minha opinião que é só tudo isso que você citou + essas coisas que eu penso.

Eu ficaria feliz demais se esse post fosse escrito no Medium pra eu poder puxar para dentro do Training Center, o que você acha?

@teles teles added the question label Mar 3, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants