Categorias

Newsletter

  • Coding CSS Empreendedorismo HTML UX/UI Design

    Afinal, designers devem saber programar?

    Será que designers devem saber programar? Programar é mesmo tão difícil? Muda algo na carreira? Veja respostas e opiniões a estas perguntas.


    Designers precisam saber programar? Criatividade e lógica se misturam? Com certeza, estas não são perguntas novas. Se você é designer (e principalmente se não programa), já deve ter parado para se perguntar se isto influenciaria positivamente em sua carreira.

    Eu vou falar de minha experiência, pois comecei como programador. Lá pelos meus 10 anos de idade, me fascinava a possibilidade de criar um arquivo .exe, então eu criava editores de texto criptografados, processadores de imagem a la Microsoft Paint e já fiz até mesmo um vírus tosco que rodava o comando calc.exe infinitamente, travando o computador com milhares de calculadoras abertas (imagine isto na era dos megahertz em computadores com 128 MB de RAM).

    Não sei se eu gostava por ter uma mente lógica ou vice-versa, mas o fato é que quando comecei a trabalhar com web (início dos anos 2000), as funções não eram ainda muito distintas, ao menos no Brasil, e saber programar era crucial. Comecei na era da transição entre sites feitos com tabelas e webstandards, em que tableless era a palavra do momento, e conhecer isto deu à minha recém fundada empresa-fundo-de-quintal certa notoriedade na comunidade e em alguns sites especializados no assunto. E eu fazia de tudo: criava layouts, fazia front-end, fazia back-end. Na época do Flash então, você nem tinha a opção de fazer uma coisa só: fazia motion, fazia design, programava ActionScript, integrava com XML, as atribuições iam longe.

    Acabei focando mais na área de criação, e com o passar do tempo assumi exclusivamente a função de designer, principalmente quando minha empresa ganhou corpo e eu já lidava com uma equipe. Eventualmente, eu precisava programar, mas meu papel era de Diretor de Criação, e o design passou a ocupar 90% da minha rotina.

    Bem, muitos erros, muitos acertos e muitos anos depois, hoje tenho algumas opiniões baseadas nestas experiências, e gostaria de explorar alguns pontos.

    Front-end não é, necessariamente, programação

    Calma, deixe-me explicar!

    Front-end é código? Sim!
    Mas é programação? Somente a partir de certo ponto.

    HTML / CSS não envolve lógica de programação, tanto que o M de HTML significa Markup, que quer dizer Demarcação. Nada mais é do que uma estrutura, em código, dos elementos da página, como em um quebra cabeça, mas não envolve a necessidade de um profundo pensamento matemático. É um processo, de certa forma, próximo ao processo de diagramação, mas feito com código.

    De uma forma simplória, costumo comparar um projeto a um esqueleto humano, em que o HTML é o esqueleto, CSS é a pele, Javascript são os músculos e Backend é o cérebro. Tudo interligado, formando um corpo perfeito, mas atuando de formas distintas, sendo desenvolvidos, cada qual, por seus processos químicos e biológicos específicos.

    Mas por que falei que só se trata de programar a partir de certo ponto?

    Porque temos nosso querido Javascript, que também está dentro do escopo de front-end, e quando falamos nele, já começamos a lidar com lógica de programação. Se sua intenção é poder dizer que é um desenvolvedor front-end, minha opinião é que saber Javascript não é opcional (mas isto é assunto para outro artigo).

    Ainda em relação a programar em front-end, existem os pré-processadores de HTML (Haml, Jade, etc.) e de CSS (SCSS, LESS, etc.), que são linguagens que visam facilitar e agilizar o desenvolvimento do código utilizando utilizando conceitos de programação (como lógica, modulação, entre outros). O código, como o nome diz, é então pré-processado, gerando o HTML e CSS puro (também chamados de vanilla).

    Mas falando de designers, conhecer o vanilla HTML e CSS é o suficiente para trazer grandes diferenciais à sua carreira (assim como ter, ao menos, noções de back-end), e por não envolver aspectos mais complexos do desenvolvimento, é algo fácil de se aprender.

    Para entender os exemplos, navegue entre as abas “HTML”, “CSS” e “Result”.

     


    Exemplo de vanilla HTML / CSS:

    [codepen_embed height=”268″ theme_id=”4521″ slug_hash=”antxL” default_tab=”result” user=”hellomarcoliver”]See the Pen Responsive Text and Vertical Rhythm by Marc-Oliver Gern (@hellomarcoliver) on CodePen.[/codepen_embed]

     

    Exemplo usando pré-processadores de CSS:

    [codepen_embed height=”268″ theme_id=”0″ slug_hash=”zvZEBd” default_tab=”result” user=”giana”]See the Pen Halloween CSS Bleeding Header by Giana (@giana) on CodePen.[/codepen_embed]

     

    Exemplo usando Javascript:

    [codepen_embed height=”268″ theme_id=”0″ slug_hash=”avJXpV” default_tab=”result” user=”tvweinstock”]See the Pen French Words by Tobi Weinstock (@tvweinstock) on CodePen.[/codepen_embed]


     

    Front-end não é difícil

    Sou da opinião de que difícil é tocar violão com as duas mãos, fazer percussão e cantar ao mesmo tempo – difícil e magnífico. A propósito, veja:

    Mas, partindo do princípio de que HTML não é uma linguagem de programação, você pode esquecer esta premissa de que é algo difícil e começar a estudar agora mesmo.

    Programar abre portas

    Um dos motivos para encerrar as atividades de minha agência (que Deus a tenha!), foi o fato de eu ter iniciado relações internacionais que se mostravam mais atrativas que os negócios locais. Por causa destes contatos, hoje trabalho quase que exclusivamente com clientes estrangeiros (trabalho para uma agência estrangeira e 99% do meu network é de fora do Brasil).

    A oportunidade que surgiu, na época, era de um faz tudo, principalmente front-end. E eu sabia fazer de tudo, inclusive back-end. Nesse tempo acabei me envolvendo mais ainda com o “lado negro da força”, passando até mesmo a configurar servidores Linux.

    Enfim, eu fiquei de 2011 a 2015 nesta empresa e hoje estou de volta, 100% focado em design como Diretor de Arte Digital, e saber programar foi um grande diferencial no processo de seleção da empresa em que trabalho atualmente. Inclusive, criar protótipos funcionais é parte da minha rotina.

    Muito bem, então preciso saber programar?

    Eu diria que não. Realmente, você não precisa saber. Mas posso afirmar que cada vez mais as oportunidades de trabalho na área de design colocam o desenvolvimento, ou no mínimo, noções de front-end, como requisito ou diferencial.

    E este, na minha opinião, seria ainda o motivo mais medíocre para se aprender, pois são inúmeras as vantagens de poder tomar suas decisões sabendo as limitações de seus dispositivos, saber como as coisas vão se formar na hora do desenvolvimento, ver o sentido de ser detalhista pixel a pixel quando se sabe que é assim que o desenvolvedor vai precisar escrever o código, criar protótipos, etc.

    Concluindo, longe de mim dizer que é mandatório saber programar. Conheço muitos designers, dos bons, que não o sabem.

    Porém, em alguns deles vejo pontos que, como desenvolvedor, considero deficientes, em detalhes que podem até mesmo influenciar na produtividade do projeto – o dev que nunca pegou um layout terrível e praticamente impossível de ser reproduzido, que atire a primeira pedra … os as mãos para o céu.

    Você não precisa ser um designer expert em desenvolvimento front-end para ter este diferencial em seu currículo e na qualidade de seus projetos, e a Internet está repleta de recursos para você começar a trilhar este caminho, que pode ser mais tranquilo do que você imagina.

    Pense nisto!

    Ah, lembrei de uma coisa! Meu amigo Filipe Fernandes há um tempo escreveu um artigo falando sobre os benefícios de crianças aprenderem a programar, aqui no Choco mesmo. Fica a dica de leitura: http://chocoladesign.com/crianca-deve-aprender-a-programar

    </fim>

    FIQUE ATUALIZADO !

    Insira aqui o seu email para receber gratuitamente as atualizações do blog!

    I will never give away, trade or sell your email address. You can unsubscribe at any time.


    • Neto Oliveira

      Excelente post, tb acho interessante o designer ter conhecimento pelo menos em HTML e CSS, isso iria diminuir bem o número de layouts que recebo onde é preciso fazer “gambiarra” para que o HTML fique igual ao layout, principalmente quando o site é responsivo.

    • Elenízio Oliveira

      Excelente artigo, Jônatas! Dicas muito esclarecedoras! Valeu!

    • Ricardo Cavalli Schmitt

      Excelente explicação.
      Vale lembrar que algumas empresas insistem em contratar um único profissional que de conta de todas essas funções. Exploração está aí, infelizmente.

      • Peter

        Olá Ricardo.
        Claro que existem pessoas que sabem todas essas funções, mas não sabem nenhuma delas profundamente. Uma coisa é dizer que sabe fazer as opções A, B e C. Outra coisa é dizer que é especializado em A, mas que tem conhecimentos básicos de B e C.

      • Olá Peter e Ricardo, e obrigado pelos comentários e colaboração!

        Concordo com dizem ser melhor um profissional tem de ser “especialista em uma área, com conhecimentos em B e C”, mas não necessariamente estes conhecimentos devem ser básicos ou esta pessoa está sendo explorada. Entendo sua preocupação em não colocar como se uma pessoa pudesse ser o “webdesigner” dos anos 90.

        Minha intenção com o texto é de mostrar as possibilidades para interessados neste tipos de oportunidades, que são inúmeras e muitas vezes bem remuneradas.

        Um exemplo prático: eu mesmo conheço 3 pessoas que aplicaram para vaga de UX Designer no Booking.com, tiveram viagem paga para Amsterdam para conhecer o processo da empresa e estão com proposta de re-alocação. Saber front-end é um diferencial da vaga (não lembro agora se era requisito). É uma oportunidade que nem todos estão buscando, mas os que estão, têm de se adequar.

        Eu mesmo me dei bem dentro deste perfil de vaga, e mesmo não trabalhando diretamente com código mais, não me arrependo do que conheço, pois me abriu muitas portas. Tenho conhecimentos avançados de dev (principalmente front) e trabalho como designer para clientes Fortune 500.

        Não estou dizendo que esta é a forma correta descrever as funções e tudo mais, mas não devemos ignorar as oportunidades que temos aí pelo mundo a fora, pois muitas são boas e não são estas vagas de “webdesigner faz tudo” que vemos por aí.

    • fulanodigital

      Ótimo artigo Jônatas. Oportunidades existem para todos. Dependendo muito mais do perfil da pessoa e da empresa em que ele trabalha, né? Vai ter o cara que faz tudo por trabalhar em um empresa ruim e o que “faz tudo” porque é competente e está muito bem empregado, ou é freela, etc.