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.
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.
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/)).
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.
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.
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.
Não. Investimentos na qualificação do profissional, benefícios, oportunidade de crescimento, entre outros fatores profissionais e pessoais.
Fazendo pesquisas informais com colegas de profissão e em comunidades.
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.
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.