Criança em frente a uma lousa

O que um bom desenvolvedor Front-End precisa saber?

Não tive formação como programador, sempre fui focado no HTML e CSS, apesar de claro, saber fazer integração e trabalhar no ambiente Back-End, além de me virar com JQuery.

Existe um projeto bem bacana no Github chamado Pequeno Guia para Empresas que Procuram Bons Desenvolvedores Front-end e Desenvolvedores Front-end que Procuram Boas Empresas e é nele que me inspiro para escrever essa postagem.

Preciso ser um designer?

Você não precisa ser um diretor de arte, mas precisa (e muito) ter ótimas noções de diagramação, ser detalhista-perfeccionista e principalmente que trabalhe muito próximo dos designers, para definir detalhes que trariam perda de performance ou seriam muito demorados para desenvolver.

O diretor de arte é seu aliado, ajude ele a entender como funciona o HTML e o CSS, explique o quanto layouts bem definidos e com tudo padronizado melhora a velocidade de produção e o resultado final.

Com o tempo ele vai perceber que um bom layout não é um "print" do PSD, mas o que trás uma experiência interessante para o usuário final.

E vá além! Se estiver em um projeto robusto, converse com o diretor de arte antes, talvez não seja necessário ele criar todas as telas, você já tem os elementos, em alguns momentos basta brincar de quebra-cabeça e "montar" os blocos, isso deixa o código mais consistente e o desenvolvimento mais ágil.

Preciso saber programar?

Desde o começo me interessei por Back-End, cheguei inclusive a iniciar uma faculdade de Sistemas de Informação, tranquei no segundo semestre, quando defini que minha área de atuação seria Front-End e tudo ligado a isso.

Considero muito importante os desenvolvedores Front ou Back-End ter um bom entendimento da outra área e saber fazer coisas básicas ou intermediárias, isso gera uma qualidade final de trabalho e principalmente agilidade no desenvolvimento.

Você não precisa saber programar, não é isso. Mas você precisa entender o que o desenvolvedor Back-End fez. Precisa saber analisar o código que ele usou e como trabalhar em cima disso. Afinal de contas, seria muito desgastante um processo na qual você alterasse apenas o HTML e o Back-Ender precisasse integrar toda vez ao sistema.

Ao mesmo passo que o desenvolver Back-End também não precisa saber construir um layout do zero. Mas precisa saber o mínimo de HTML e CSS, incluindo a semântica do código e utilização das classes. Quando não é dessa forma, o layout vai ficar quebrado e com o código sujo a cada implementação (boa parte já deve ter se deparado com isso).

O que é fundamental?

É fundamental que você saiba HTML e CSS avançado, e consiga fazer coisas "impossíveis" usando apenas essa combinação. Precisa ter uma boa lógica para abrir o PSD e entender cada elemento como um componente que pode ser reutilizado. E não é só pratica, tem que saber MUITA teoria, pois é o que separa um profissional pensante, daquele que apenas desenvolve.

Sobre javascript, é o seguinte... depende. É importante que entenda o básico, compreenda o quanto ele afeta a performance, que saiba estilizar plugins e usar JQuery (ou outro framework). Mas EU não considero fundamental que saiba javascript avançado, normalmente ele acaba ficando com os Back-Enders. Mas isso varia muito de empresa para empresa, e do tipo de cargo que você ocupa.

Vale um update sobre JavaScript...

Hoje vejo como essencial uma boa compreensão do JavaScript, seja "puro", seja usando bibliotecas. Mas ainda sustento minha opinião que "depende".Isso porque vai depender do seu perfil profissional e principalmente do cargo que você ocupa (ou tipo de freelas que você pega).

O JavaScript ganhou um poder incrível nos últimos anos, conseguimos literalmente criar um site completo usando apenas JavaScript e suas infinitas bibliotecas.

Por isso, é cada vez mais comum desenvolvedores Back-End "migrarem" para o Front-End e usarem apenas JavaScript para montar suas aplicações. Isso é fantástico!

E tem o mais importante...

Conversar!

Você faz a ponte entre a direção de arte e a programação, portanto você PRECISA conversar e integrar todas as áreas. Tenha um bom relacionamento com todos, procure soluções para facilitar o trabalho das áreas envolvidas.

O Bernard de Luna fez um post sensacional em seu site: VOCÊ DEVIA ESTUDAR MENOS CÓDIGO E MAIS METEOROLOGIA, e é isso, TODAS as áreas envolvidas são importantes e você precisa entender que não é apenas um desenvolvedor e sim um Designer “DE PRODUTO”.

Só podemos ser espetaculares no que fazemos se realmente gostarmos da nossa atividade. Com isso a evolução na carreira tende a ser natural.

A gente passa 8 horas por dia trabalhando (e muitas outras indo até a empresa), já imaginaram como seria fazer isso durante sei lá... uns 30 anos da sua vida sem sentir prazer algum? Sentindo até tédio ou desgosto? Desse jeito é impossível ser um profissional relevante.

Trabalhamos em uma profissão que contribui diretamente para as pessoas, cada site ou aplicação que construímos pode impactar positivamente em seu dia a dia, ou até mudar a vida delas! Já pensou que incrível um deficiente visual conseguir acessar o site que desenvolvemos sem nenhuma dificuldade? Ou alguém passando mal ter fácil acesso ao endereço de um hospital?

Nosso trabalho é desafiante e empolgante.

É isso amigos, espero que esse texto contribua de alguma forma. É nóis.