Raio frontendizador

06 perguntas e respostas para quem quer começar no desenvolvimento front-end.

Imagem de exibição para "06 perguntas e respostas para quem quer começar no desenvolvimento front-end."

Recentemente recebí o contato de um usuário no linkedin. Esse usuário tem 29 anos é estudante de engenharia mecânica e ainda não trabalha com desenvolvimento mas gostaria de começar e por isso me fez algumas perguntas sobre a área de front-end na qual ele deseja trabalhar. Como achei que a discussão sobre as perguntas poderia interessar mais alguém criei fiz esse post com o conteúdo da conversa.

Perguntas e respostas sobre front-end para quem está iniciando

1 - Estou muito velho pra iniciar nessa área de Front End?

Você não está velho para iniciar na área. Indícios disso: 1) alguns dos melhores profissionais de desenvolvimento que conheço tem por volta de 35 anos; 2) O melhor desenvolvedor javascript que conheço tem 30 e poucos anos; 3) Nunca ví pessoas mais velhas sofrendo preconceito no ambiente de trabalho; 4) Sua idade (que é quase a minha) não está distante da média de empresas em que trabalhei - que chuto deve ser uns 26 anos;

2 - Há algum problema devido eu ser estudante de engenharia mecânica (5° ano)?

Não sei responder com precisão. A empresa onde trabalho hoje aceita como desenvolvedores pessoas sem graduação ou com graduação fora da área de software. A empresa em que trabalhei anteriormente só contratava graduados sem se importar com o ramo da graduação. Outro desenvolvedor front que trabalha comigo começou a graduação apenas depois de já estar trabalhando com a gente e por vontade própria. Conclusão: Não acho que a maioria das empresas vão te barrar por não ser graduado em tecnologia. Pode ser que você sinta por si só a necessidade de aprender coisas que faculdades da área ensinam ou não.

3 - Essa profissão pra iniciar é difícil? Pra achar o 1° emprego como eu devo proceder (dicas)?

A profissão de desenvolvedor front-end não me parece difícil para quem está começando e pode ser até mais fácil no começo do que outras profissões parecidas como desenvolvedor android, ios, back-end ou devops. Motivo: o desenvolvedor front-end precisa de poucos recursos para praticar! Uma conta no github.com ou no codepen.io já te oferecem gratuitamente o espaço que você precisa para estudar, copiar e publicar seus projetos com html, javascript e css. A área é farta de material para estudo, farta mesmo. Minha impressão é de que a área de desenvolvimento front-end é a que mais lança novos recursos. Torna-se até um problema conseguir selecionar o que estudar, o que no médio prazo pode aumentar a complexidade de gerenciar sua carreira mas também pode servir de estímulo. Evite ser o cara que acha que front-end é simples demais. Também evite ser o cara que diz que não pode mostrar o próprio trabalho embora possua projetos pessoais.

Dicas para achar um emprego na área (não especificamente o primeiro) :

  • 1) ter trabalho para mostrar é mais importante do que ter diploma, quer dizer, uma empresa mais moderna vai gostar mais de ver sua atividade no github do que seu título superior;
  • 2) sempre diga que pode participar de processos seletivos a menos que a vaga seja péssima pois todo processo seletivo pode servir de treino;
  • 3) ao pensar em projetos pessoais evite ser megalomaníaco e se envolver em projetos que pretendem fazer muita coisa, investir em projetos menores oferece uma oportunidade de ter contato com mais tecnologias, mais ideias e mais pessoas mais rápido - não considere um projeto como bobo. Esse projeto Pure CSS Parallel Park, por exemplo, foi levado em conta na minha última contratação: código dele no codepen:

4 - Na sua visão qual o mínimo aceitável de conhecimento que eu tenho q ter pra tentar arrumar emprego nessa área?

O mínimo está aqui, acredito:

  • Ter noção de html o suficiente para saber quando usar uma <span> quando usar uma <div> e quando usar uma <section>;
  • Ter noção de css o suficiente para saber a diferença entre elementos de bloco, elementos de linha e inline-block;
  • Ter noção de javascript o suficiente para adicionar uma biblioteca de terceiro na página;
  • Ter uma noção de gerenciador de dependência que te possibilita adicionar um código de terceiro no seu projeto sem dar ctrl+c ctrl+v dele (usando npm, por exemplo);
  • Ser capaz de publicar um projeto de front-end online;
  • Ter uma noção de css que te permita escrever todo o estilo da sua aplicação sem pré-processadores se necessário

Depois disso pode partir para essa parte:

  • Ter uma noção suficiente de minificação de arquivos que te permita minificar seu css e javascript;
  • Ter uma noção de algum pré-processador de css, como o SASS ou Stylus que te permita escrever todo o estilo da sua aplicação com o pré-processador escolhido;
  • Ter uma noção básica SEO suficiente para saber quando utilizar um <h1> ou <h3> ou um <p>;
  • Ser capaz de ler uma especificação de tarefa de trabalho e apontar se ela está boa ou ruim para você começar a trabalhar nela;
  • Ser capaz de começar um projeto no github (ou site parecido)

5 - Quando vc iniciou achou difícil?

Eu aprendí o começo muito gradualmente entre 2008 e 2013, quando peguei para valer em 2014 eu achei algumas coisas difíceis. Exemplo: eu usava só css puro e tive que migrar para o SASS; depois tive que me especializar num framework javascript chamado angular na empresa em que estou. São coisas difíceis mas importantes. Mais importante ainda e talvez mais difícil é: aprender a pensar no software como uma rede bem organizada de componentes; e pensar no produto antes de começar a escrever o código.

6 - Tem algum conselho/dica para eu aprender mais rápido possível?

Cada pessoa tem um ritmo e uma forma de aprendizado diferente. Mesmo assim acho válido para qualquer pessoa a ideia do “devagar e sempre”, estar disponível para aprender sempre é mais importante que aprender rápido demais e corre-se menos o risco de aprender de forma pouco estruturada. As coisas mais importantes de aprender são aquelas que mudam menos como as noções sobre componentização.

Aproveito para mencionar uma iniciativa chamada Training Center.

Aqui tem o medium do Training Center com posts de profissionais da web Aqui tem o github do projeto de mentoria do Training Center onde você pode se cadastrar e encontrar profissionais da área.

Conclusão

Espero que as informações possam ser úteis para quem estiver começando com desenvolvimento front-end. As minhas respostas dizem respeito apenas a minha experiência pessoal. Não tenho intenção de parecer uma autoridade no assunto mas de fornecer um ponto de vista que pode ser debatido e compartilhar o tipo de informação que gostaria que fosse compartilhado comigo em todas as fases da minha carreira.