/bons-front-enders

Um guia de como contratar bons desenvolvedores front-end e como front-enders podem achar bons lugares para trabalhar.

Pequeno Guia para Empresas que Procuram Bons Desenvolvedores Front-end e Desenvolvedores Front-end que Procuram Boas Empresas

Este guia não pretende ser um tomo imutável nem a fonte da verdade absoluta sobre o assunto. Só queremos ajudar o mercado brasileiro de desenvolvimento web a crescer e se tornar melhor para empresas e profissionais. Se você tem alguma sugestão ou modificação não se furte em forkar o projeto e criar um pull request. ;)

Como eu posso contribuir?

  • Primeiramente você precisa ter uma conta no GitHub. É de graça!;
  • Depois, estando logado no GitHub, você vai clicar no arquivo README.md na lista aqui em cima;
  • Clique no botão "Fork and edit this file" e edite o arquivo via web (ele usa a sintaxe Markdown, que é bem simples.);
  • Depois que acabar, escreva uma mensagem na caixa "Commit message" explicando em poucas palavras o que você modificou, e clique no botão "Propose file changes";
  • Depois você pode dar um título e escrever um texto sobre sua proposta de alteração. Finalmente clique no botão verde escrito "Send pull request";
  • Pronto! Agora só esperar o leobetosouza ler e aprovar suas mudanças.

O que empresas e profissionais devem saber sobre o desenvolvimento front-end?

Desenvolvimento front-end, como o próprio nome diz, trabalha no front, isto é na camada cliente. De um modo mais simplista, ele implementa/faz aquilo que o usuário vê quando acessa uma página na internet. HTML, CSS, JavaScript (linguagem de programação usada no front-end) executam no cliente (browser/navegador no computador do usuário), não no servidor (que é o computador remoto onde o site está hospedado e é onde acontece grande parte das ações que o usuário não vê quando acessa uma página).

Um desenvolvedor front-end não precisa saber programar em PHP, .NET ou outra linguagem server-side, pois estas executam no servidor. Mas é muito importante que ele saiba muito bem HTML e CSS. Um iniciante deve saber pelo menos um pouco de JavaScript e suas bibliotecas (principalmente das de manipulação do DOM). Um desenvolvedor front-end completo, deve dominar muito bem JavaScript.

Quais habilidades comuns espera-se que um desenvolvedor front-end tenha?

Espera-se que um desenvolvedor front-end saiba muito bem HTML e CSS. Entenda muito bem de web semântica e tenha noções de SEO (Search Engine Optimization).

É esperado que dado um layout a ele (um arquivo do Adobe Photoshop ou Fireworks, ou outro software similar), ele consiga codifica-lo como uma página web, seguindo as boas práticas de codificação, tanto de HTML quanto de CSS.

É esperado também que ele saiba JavaScript e suas particularidades e o uso de ao menos uma de suas bibliotecas de manipulação do DOM (a mais popular hoje é o [jQuery] (http://jquery.com/)).

O que não é tão comum? Quais são bons diferencias?

Um desenvolvedor front-end deve entender de design?

Como o desenvolvedor front-end é o elo entre o designer e o desenvolvedor back-end, é interessante que ele esteja familiarizado com softwares como Photoshop para que possa editar algo (como criar um sprite, por exemplo), além da noção de espaçamentos e diagramação dos elementos.

Um desenvolvedor front-end deve conhecer de programação no back-end?

Muitas das vezes, ele é o responsável pela integração do front-end (HTML) com o back-end (PHP, ASP, JSP ou qualquer linguagem que esteja sendo utilizada), então noções simples são desejáveis. Saber o que é um array, um for, um if, é necessário. A maioria conhece essas sintaxes, pois no JavaScript existem estes comandos.

HTML é linguagem de programação? Existe um programador HTML?

Definitivamente: NÃO!

HTML (HyperText Markup Language), como o próprio nome diz, é uma linguagem de marcação de texto. Existem várias linguagens de programação para web. A principal pra um desenvolvedor front-end é JavaScript.

Como uma empresa pode identificar um bom profissional de front-end?

Junior? Pleno? Sênior? O que é isso? O que eu quero?

Quais habilidades eu preciso procurar em um desenvolvedor front-end para a minha empresa?

O que um desenvolvedor front-end "junior" deve saber?

O que um desenvolvedor front-end "sênior" pode saber? Ele tem que saber tudo?

Qual é a média salarial de um desenvolvedor front-end?

Como um profissional pode identificar uma boa empresa para trabalhar?

Só o salário é o mais importante? Quais são os diferenciais de uma boa empresa?

Não. Investimentos na qualificação do profissional, benefícios, oportunidade de crescimento, entre outros fatores profissionais e pessoais.

Como eu sei se o salário que estão me oferecendo é justo?

Fazendo pesquisas informais com colegas de profissão e em comunidades.

Qual valor devo apontar como pretensão salarial? De quanto (em média) deve ser o meu salário?

Procure saber ou tente estimar o valor de cada projeto para os quais você contribui aos longos dos meses. Pense no quanto você contribuiu, nas horas trabalhadas, na qualidade e dificuldade do seu serviço. Estime um valor do seu serviço para cada projeto e faça uma média. Retire pelo menos metade desse valor para a empresa, que precisa lucrar em sobre o seu trabalho e cobrir custos. Assim você chegará a um valor para uma negociação justa.

Quando faço trabalhos de freelancer, quanto eu devo cobrar?

O meio mais correto de se definir quanto cobrar por um freela, é estipulando um valor por hora trabalhada. Para obter um valor/hora, pegue o valor do seu salário (ou quanto deveria ser), divida por 22 (média dos dias trabalhados no mês) e divida o resultado por 8 (média de horas trabalhadas por dia).

Ex: um salário de R$ 4.000,00

4000 / 22 = R$ 181,80 por dia 181,80 / 8 = R$ 22,70 por hora

Essa fórmula é útil tanto para front-end quanto para back-end. Aliás, qualquer profissional que trabalhe por conta própria, pode aplicar esta forma de cálculo.