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 diferenciais?
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.
Antes de decidir trabalhar em uma nova empresa, tenha em mente que o salário não deve ter fator determinante e inclusive é interessante observar se ele não está incompatível com seus conhecimentos atuais.
Isso porque ao ganhar um salário muito maior do que o seu nível oferece, pode acarretar em uma série de fatores negativos, como: pressão acima da média, estagnação profissional, queda brusca de padrão de vida caso saia da empresa (talvez não consiga o mesmo salário em outra).
Portanto, faça sempre um equilíbrio entre salário e oportunidade de aprendizado. Conhecimento é o principal meio que fará você ter novas oportunidades. Não escolha trabalhar em uma empresa apenas pelo salário. Analise qual será sua função, se oferece um ambiente agradável, o que é necessário saber para desenvolver seu trabalho e quais novos conhecimentos e desafios você terá.
Mais vale ganhar x aprendendo muito e crescendo no mercado, do que ganhar 2x fazendo um trabalho maçante, que não será útil em nenhuma outra empresa e nem te faz desenvolver como profissional Front End.
Lembre-se, não tenha pressa, dinheiro será sempre uma consequência.
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.