“Front Enders” x “Desenvolvedores Criativos”

em fev 18, 2014:por

Redação Next Ecommerce

O Nextecommerce é um canal para compartilhar idéias sobre as tendências e novidades que encontramos e produzimos no mercado.
Views32
dev
Texto por Benjamin Farrel

 

O que é um desenvolvedor front-end?

“Na arquitetura de softwares, podem existir diversas camadas entre o hardware e o consumidor final. Cada uma delas, pode se dizer, que possuem um front-end e um back-end. o Front funciona como uma abstração do back, simplificando-o e entregando uma interface amigável para o usuário.”

“Para a maioria dos subsistemas de computadores, um gerenciador de arquivos gráfico é o front-end do sistema do computador – o front-end encara o usuário e o back-end abre os programas do sistema operacional.”

Front-end é qualquer coisa que o usuário enxerga, é a camada de software que um humano precisa interagir para utilizar um sistema seja ele de hardware ou de software.

Então, por definição, um desenvolvedor front-end precisa ser alguém que faça scripts, programe, codifique, ou desenvolva uma interface de usuário, que é um baita escopo de trabalho. Contudo, no quesito web esse escopo se resume à HTML, CSS e Javascript. Posso estar errado ou certo, mas a questão é que estamos falando de uma utilização muito específica, embora popular, do HTML.

O Bureaux da web é uma subcategoria de pequenos sites que possuem um design altamente atrativo, e se utilizam dos mais atuais e fantásticos códigos de HTML5. Esses desenvolvedores estão focando em designs de pixel perfection e muitas vezes possuem widgets em jQuery maravilhosos. Muito dinheiro está regando esse segmento atualmente, uma vez que o Flash está perdendo espaço.

Nesse caso estou generalizando bastante os front-enders, mas pensemos nas seguintes versões de sites:

  • Qualquer site de notícias – Uma bagunça. Não duvido que as pessoas simplesmente copiam e colam o código e rezam para funcionar.
  • Jogos – O conhecimento é muito específico nessa área. Será que um desenvolvedor de games se preocupa com folha de estilos e tal? Absolutamente não. Colisões, físicas, teoria, roteiro? Absolutamente Sim.
  • Vídeos – A preocupação principal aqui é em relação ao conteúdo, a tag de vídeo, especificações, redes de publicidade, métricas, etc. O dono do pedaço é o javascript, não há muita preocupação com CSS e HTML
  • Aplicativos empresariais – Aqui falamos de um nível de abstração elevadíssimo. A linguagem mais utilizada aqui é o Java com o webkit do google embutido.

Muitas dessas habilidades se sobrepõe ao desenvolvimento front-end? Claro, mas nós estamos falando sobre definições aqui. Os desenvolvedores são incríveis e adaptáveis, então está fora de pauta generalizá-los, então vou generalizar o termo “desenvolvedor front-end”. Eu acho que a “linha de pensamento base” para esses programadores está se inclinando para os “bureaux da web” e aqueles que sabem somente HTML, CSS e JS.. no máximo um Ruby.

 

Os outros front-ends

 

Existem toneladas de outras coisas a serem consideradas no front-end. Entre eles podemos citar: Flash, Corona, Android, iOS, OSX, Windows, Jogos 3D, e a lista continua. Mesmo dentro do segmento HTML/CSS/JS existem os front ends mencionados, como games, vídeos e aplicativos empresariais.

Como chamar esses desenvolvedores? Bom, muitos dizem: “Sou desenvolvedor Android”, “Sou especialista em C#”, “Desenvolvo Corona”. Acho que esse é um escopo um tanto quanto estreito demais. Definitivamente me queimei dizendo ser um desenvolvedor de Flash, quando o “Flashageddon” caiu em Novembro. Eu nunca quero cometer esse erro novamente, definir minha identidade profissional com uma tecnologia específica. A tecnologia muda, evolui e cai em desgraça; a não ser que você pretenda “redesenvolver” sua marca a cada alguns anos, talvez seja sábio utilizar-se de um termo mais amplo para especificar seu trabalho.

Eu achava que o termo front-end era bem mais amplo do que realmente é. Eu achei que poderia me identificar com ele, afinal eu gosto de brincar com elementos e fazer usuários felizes. Esses front-ends estão se definindo com uma única tecnologia, três na verdade, claro que hoje está com tudo, e está por aí faz um tempo, mas e daqui 15 ou 20 anos? Novas tecnologia com certeza aparecerão e o HTML, CSS podem seguir os caminhos do grande Flash.

O Desenvolvedor Criativo

Eu, de vez em quando, ouço o podcast do Creative Coding. Ambos hosters se identificam com o termo “programadores criativos” – eu sinto que eles empobreceram um pouco o termo por motivos didáticos – mas a impressão que eles me passam desse conceito é que esses “programadores” meio que copiam e colam códigos e os manipulam um pouco, via erros e tentativas até que ele atenda suas expectativas. Tem também aqueles que se julgam “tecnólogos criativos”. A impressão que esses me passam é que eles são brilhantes, mas não codificam necessariamente.

Eu trabalho com um monte de pessoas que são chamadas de “engenheiros de software”. Esse termo invoca um tom de capacidade, mas eu particularmente não gosto desses projetos gigantes, onde temos que pegar dados, manipulá-los e realocá-los, prefiro que sejam mais divertidos. Eu gosto de me colocar na frente dos usuários, criar coisas bacanas que as pessoas consigam ver, consigam interagir e dizer “uau!”.

Então me apropriei da parte “criativo”, uma vez que gosto de fazer aplicativos criativos, e coloquei um pouco da parte de construções de soluções de software, que por si só já trazem mais confiança ao usuário. Por isso “desenvolvedores criativos” e não “programadores criativos”, mas o que são os desenvolvedores criativos?

Base de trabalho dos Desenvolvedores Criativos

Desenvolvedores front-end estão em falta

Você provavelmente é um desenvolvedor competente, porque é isso que tá rolando no mercado agora. Pessoalmente, eu não sei em que universo eu pensaria que pré-processadores de CSS seriam úteis para meu dia-dia, mas qualquer tecnologia que você utilize provavelmente consiga suprir suas demandas.

Pegue um Linux

A maior realização que eu tive ano passada foi: Quem usa Windows está em desvantagem. Claro que não é impossível utilizá-lo, mas facilite para você – linux em dual boot – Mas se você quiser sofrer de verdade, beleza, compre um Mac, a única utilidade do OSX é para abrir o Photoshop e o Illustrator.

Faça mobile

Você precisa trabalhar com mobile. o Phonegap está facilitando o processo de entrada no segmento por ser bem útil, mas aprenda um pouco de desenvolvimento nativo, Java e C# tem suas peculiaridades, mas eles não são nenhum bicho de sete cabeças.

O servidor pode ser criativo

Eu tive bastante resistência sobre a tecnologia server-side. Afinal, eu preciso de algumas coisas bonitas na tela para manter minha atenção. Contudo eu estava errado com essa resistência, e sem motivo. Eu me aventurei um pouco com php somente para cumprir escopo, mas não é nem um pouquinho legal. Já um Node.js é outra coisa, animal! As pessoas estão super empolgadas com ele. Se você não é um guru da programação server-side tudo no Node.js é novo, então não há muito experts por aí, somente um monte de aventureiros brincando e fazendo as coisas funcionar. Existem também tecnologias similares bem bacanas, como Python e Ruby.

Falando em Python, aprenda-o! Ou pelo menos o Ruby, embora eu esteja seriamente desapontado com os desenvolvedores Ruby se gabando sobre seu “talento natural de programação”. Eu espero que esses sejam uma pequena e barulhenta minoria, embora irritante.

Por que o servidor pode ser criativo? Colaboração! Jogos em multiplayer! Codificação em tempo real de vídeos! O ambiente também é muito mais maduro do que o por parte do cliente atualmente.

Aprenda C++
Qual a utilidade do C++? Tudo. Lembre-se que o server side é bem mais rápido do que o client-side, você conseguirá rodar o client com C++. O Chrome está pagando a conta, para que você rode o C++ em seu browser. Se você usa Flash, o Alchemy é uma boa. C++ funcionará em seu Android ou iOS, em qualquer lugar. Uma boa base de C++ te permitirá fazer algumas coisas intuitivas para o processador e para o usuário ao mesmo tempo.

Usuários não são tudo

Eu tinha essa ideia entalada na minha cabeça, se eu não conseguisse colocar tudo na web para que minha legião de fãs adorassem meu trabalho, de nada valia. Adivinhem: não existe legião de fãs nenhuma.

Esse modo de pensar me impediu de fazer um monte de coisas bacanas com um monte de tecnologias bacanas. Por que usar OpenFrameworks se eu posso rodar na Web? Brinque que as coisas, você se divertirá e terá boas ideias, caso faça alguma coisa interessante, ponha no youtube que seus fãs aparecerão por lá, e não numa demo funcional de seu código.

Fale MUITO. Faça metade.

Existem muitas coisas legais para aprender. Algumas listadas acima fazem parte de uma lista de to-do para mim. Estou entrando agora no desenvolvimento nativo para Android, iOS, Node.js, Python. Quero muito aprender C++, Open Framework, Arduino. Espero que eu tenha tempo e a oportunidade de explorar essas tecnologias, talvez não consiga, mas tudo bem, tente pelo menos fazer metade.

 

Por Benjamin Farrel

Deixe um comentário

O que achou do conteúdo? Compartilhe sua opinião:

Gostou do nosso conteúdo?

Deixe seu e-mail aqui e receba as novidades do mercado

eNext Dashboard

eNext Dashboard

SLI Systems

SLI Systems

Calendário

 
JUL 25