Com o mundo avançando cada vez mais rápido, o conjunto de profissões tornou-se algo sazonal: enquanto morrem profissões cujo trabalho é automatizado (front-end não é uma delas), nascem outras para lidar com problemas e soluções que, até pouco tempo atrás, não existiam. É perfeitamente normal que alguém de fora da nossa área não entenda o suficiente sobre ela para saber o que fazemos apenas ouvindo a palavra "front-end".
Sobre esteriótipos e generalizações
A decisão do título desse artigo foi algo complexo. Inicialmente, a minha idéia era Como explicar o front-end para minha mãe?, porém esse texto da* *Christina sobre uma expressão similar em inglês (So easy that a mom can do, que no meu ver é bem ofensiva) me levou a refletir e a tirar algumas conclusões:
Não compreender do que se trata uma profissão não é um problema exclusivo da minha mãe, e nem relativo somente a mães ou mulheres. Nesse caso, qualquer pessoa que não tenha um conhecimento moderado sobre como a WEB funciona pode ter problemas para compreender nosso papel no mercado.
No meu caso específico, minha mãe tem mais conhecimento de informática e WEB que meu pai, então nem mesmo considerando somente o meu caso o primeiro título faria sentido.
É importante frisar que, mesmo após essa reflexão, o título ainda não é verdade absoluta: conheço programadores e programadoras que são pais e mães, e cujos filhos atuam em outras áreas e provavelmente não entendem de peculiaridades do front-end. Infinitos cenários são possíveis, e com esse texto na verdade eu pretendo ajudar na explicação sobre a nossa área direcionada a qualquer pessoa que tenha dificuldade com a nomenclatura inicial.
O estado da arte do tópico
Pessoalmente, eu acho comum esbarrar com textos na WEB que propõem explicações "leves" de temas "pesados". Um conjunto das meus favoritos é a série interativa "Explain like I'm 5" promovida pelo site The DEV community. Apesar de haver artigos em outras séries, essa foca mais em assuntos específicos como React, Docker, Unit Tests, CPU Threads e outros. Não encontrei um que falasse sobre a profissão de desenvolvedor front-end em si.
Um tópico no fórum do Front-end Brasil abordou exatamente esse assunto, com certas divergências entre opiniões. A meu ver foi uma discussão muito boa que morreu prematuramente.
Isso foi tudo que encontrei sobre o assunto.
O que é front-end?
Bom, o primeiro passo na preparação para explicar para alguém é explicar para si mesmo. Então, algumas definições do que é desenvolvimento front-end e o papel do seu profissional:
In simplest terms, the frontend is any code that runs in the browser. — Kevin McGillivray
O desenvolvedor front-end é responsável por “dar vida” à interface. Trabalha com a parte da aplicação que interage diretamente com o usuário. (…). Na parte de estudo, este profissional foca em HTML, CSS e JavaScript. — Daniel Viana
Em ciência da computação, front-end e back-end são termos generalizados que se referem às etapas inicial e final de um processo. O front-end é responsável por coletar a entrada do usuário em várias formas e processá-la para adequá-la a uma especificação em que o back-end possa utilizar. — Wikipédia
Podemos dizer que o* front-end developer* dá vida ao trabalho de um WEB* designer*, e sua missão é projetar, construir e otimizar interfaces de projetos WEB(…). Dentre suas muitas responsabilidades, além da parceria com o time de design e os back-end developers, o profissional deverá: Trabalhar junto à equipe de design para criar a melhor experiência possível; Desenvolver código limpo e bem documentado; Seguir os WEB standards; *Se preocupar com a *performance no client-side; Aplicar técnicas de SEO; Dar suporte à todos os navegadores e dispositivos que o cliente necessitar. — André Ailton dos Reis
Perceba que nenhuma dessas definições, nem mesmo a primeira (que é a mais simples) é auto-contida em relação a termos relacionados a tecnologia. Se a pessoa não tem muito conhecimento sobre o assunto, ela seguiria com "o que é navegador(browser)?".
Qualquer definição, de qualquer cargo, objeto, etc, precisa de conceitos pré-existentes para fornecer uma explicação completa (definição de contexto). Como o desenvolvimento front-end é algo especifico dentro do vasto campo da T.I., que em geral não é conhecido em detalhes pelas pessoas, os conceitos pré-requisitos muitas vezes não fazem parte da bagagem que a pessoa trás de conhecimento, e isso é absolutamente normal.
Níveis que determinam níveis
Você precisa ter uma minima noção do quanto a pessoa sabe de informática para escolher o conteúdo da sua explicação. Para alguém totalmente leigo, até algo simples como "programador" pode não fazer sentido algum.
Obter esse "nível" pré-existente pode ser complexo como uma relação pré-existente (eu suponho o nível de informática dos meus pais pela longa convivência que temos) ou simples como a análise das perguntas (se eu respondo que mexo com sites, e a pessoa me pergunta se sou programador, ou web-designer, eu suponho que ela tem certo conhecimento e posso me aprofundar mais nas respostas seguintes).
Sendo assim, eu utilizaria as seguintes respostas, em níveis crescentes:
Trabalho com (sistemas de) computador
Trabalho com T.I. / Faço sites
Sou programador
Sou desenvolvedor
Sou desenvolvedor de software para WEB
Sou desenvolvedor front-end
É isso?
Não existe verdade absoluta. Talvez minha percepção de níveis esteja errada, com respostas em níveis trocados, ou seja simplesmente loucura minha e eu dei sorte até agora. Mas eu ainda espero que ela te ajude :)
Se você chegou até aqui, muito obrigado! E sinta-se a vontade para compartilhar suas opiniões sobre o assunto! Esse com certeza é um tópico que pode receber um método mais eficiente como resposta.
Top comments (0)