Designers precisam mesmo saber programar?

Aerochimps
6 min readApr 16, 2015

Procura-se: UX/UI Designer experiente que saiba programar, domine a língua portuguesa, tenha fluência em pelo menos três idiomas, pinte paredes, produza posts para mídias sociais, digite com os pés, escreva em árabe e atenda ao telefone enquanto tira dúvidas do usuário no suporte online.

Você, num dia normal de trabalho

Parece piada, mas não é muito difícil encontrar anúncios de vagas que peçam, pelo menos, três dessas habilidades. E nem é tão raro esbarrar por aí com profissionais que fazem tudo isso e ainda consertam os computadores da família nas horas vagas.

O mito do profissional multitarefa parece já ter nascido com a profissão de UI Designer — afinal, eles costumam unir o interesse em organização visual e tecnologia ao fascínio pelo comportamento do usuário. Se você é a pessoa que, além de projetar as telas, faz o frontend, sabe bem do que estamos falando.

Mas… a necessidade de saber programar faz parte desse mito ou é a mais pura realidade? Todo designer deve saber escrever código de marcação (HTLM e CSS)?

Decidimos contribuir para essa discussão com o nosso ponto de vista sobre o assunto. Aproveitamos o embalo para responder algumas das dúvidas que levantamos acima, sanar outros questionamentos e plantar novas pulguinhas atrás da sua orelha.

Apenas para facilitar a compreensão (e desviar da discussão sobre “escrever código de marcação é ou não é programar”), chamaremos esse processo de implementação. Então, quando falarmos em “implementar” ou “implementação”, estaremos nos referindo em passar a tela para o código.

Designers devem saber programar?

Sugiro começarmos dando leveza ao assunto e tirando o peso da nossas costas. Afinal, “dever” é uma palavra muito forte, que fica melhor associada a tarefas vitais, como comer, beber água e ir ao banheiro.

Mas, voltando ao tema do dia: apesar de não ser obrigatório implementar, principalmente se você trabalha com uma equipe multidisciplinar que contempla todas as camadas de desenvolvimento, conhecer os códigos de implementação ainda é essencial.

Ninguém está propondo que você seja o melhor desenvolvedor do mundo, até porque os desenvolvedores frontend ficariam #xatidados se você roubasse o emprego deles. Mas ter esse conhecimento te dá as noções necessárias do código para que você consiga construir uma interface simples de manter, que seja consistente e escalável.

Se você precisa resolver um bug urgente, por exemplo, projetar uma interação que vai demandar um esforço do time de 30 dias e mudar boa parte do sistema não vai adiantar de nada. Será um atraso desnecessário e custoso para o projeto. Mas a coisa muda de figura se você participou da construção do código ou consegue entender como ele está escrito. Percebe a relevância do conhecimento?

Tudo bem. Muitas vezes, as coisas precisam ser refeitas. Até porque o código não é uma esfinge e nem uma construção milenar tombada: ele é mutável e pode ser alterado quando for necessário. Mas ter uma noção do todo te permite tomar decisões muito mais acertadas para o projeto, além de facilitar a comunicação entre o time e evitar que os desenvolvedores precisem tomar remédio para dor de cabeça toda vez que você concluir uma interação.

Qual o limite do conhecimento?

Bom mesmo é o conhecimento sem fronteiras. Quanto mais você sabe, mais você se empodera, se melhora e se supera — tanto pessoalmente como profissionalmente. Conhecimento nunca é demais.

Porém, por mais conhecimento que se tenha sobre códigos e programação, não se pode nunca esquecer de “puxar a sardinha” para o lado do usuário. Se o esforço do time é grande e o benefício ao usuário reflete esse empenho, possivelmente a solução mais engenhosa seja a melhor escolha. É importante saber balancear essas situações e utilizar o domínio sobre o código como um aliado.

Às vezes, os UI Designers são também os desenvolvedores frontend do projeto. O problema dessa dupla função é quando o profissional tem um conhecimento de código limitado e tenta adaptar o design de acordo com seus limites. Não demora muito para que ele se encontre em um dilema mais ou menos assim: eu acredito que a solução X é melhor do que a Y, mas só sei implementar a Y. Logo, escolho a solução que mais conheço.

Parênteses: Lembra do nosso combinado de não usar a palavra “deve” para atividades que não são fundamentais para a nossa vida? Com licença poética, vamos encher a boca para dizer que esse tipo de situação deve ser evitada a qualquer custo. Sim, porque fazer esse tipo de coisa é colocar em risco o seu trabalho e a qualidade do projeto. Ponto, parágrafo.

Ter um time completo formado por especialistas de cada área e organizado de maneira que todos se conversem e se participem é, sem dúvidas, a melhor forma de trabalhar.

"E se eu não conheço linguagens de programação, já posso desistir de ser UI Designer e ir vender bala no semáforo?"

Nada de medidas drásticas. Aprender é sempre possível e recomendável. A internet democratizou todo tipo de ensino e facilitou o aprendizado de todas as áreas do conhecimento. Se você quer entender código, existem iniciativas mão-na-roda, como a Codeacademy e várias outras para te ajudar.

Mas, se a sua atuação é mais focada na área de pesquisas, testes de usabilidade e A/B, não conhecer linguagens de programação não vai afetar tanto assim o seu trabalho. No entanto, atuar com projetos de interfaces e não ter nenhum conhecimento sobre códigos de marcação reduz sua eficiência e autonomia.

É verdade que existem muitos times que segmentam a parte de design do código. A gente não gosta de trabalhar assim. O mais legal de fazer parte de um time de desenvolvimento é participar ativamente dele e ter conhecimento para argumentar, conversar e crescer junto.

Do que adianta ficar viajando na interação mais inovadora dos planetas se ela nem é possível de ser implementada nas condições do projeto? O design é tão responsável pelo sucesso do projeto quanto o desenvolvimento. Por isso, ter uma noção do que acontece além dos pixels é um diferencial e tanto.

Afinal, o time ganha ou perde sempre junto.

Dicas de leitura

Como falamos no início do texto, essa é a nossa opinião sobre o assunto. E você, o que acha? Concorda, discorda ou muito pelo contrário?

Para engrossar ainda mais esse caldo, separamos alguns conteúdos interessantes para você mergulhar de cabeça no assunto:

  • Este texto, em inglês, que defende que os designers não devem codificar. Para servir como um contraponto da nossa opinião e dar mais suplemento de informação;
  • O texto “Designers Code Differently”, também inglês, que defende que designers só devem saber programar o que for necessário para o design e;
  • Este artigo sobre as 3 razões para aprender programação desde criança.

Gostou do texto? Que tal recomendá-lo? Você também pode seguir a gente no Facebook e no Twitter e ficar por dentro das nossas atualizações semanais. (:

--

--

Aerochimps

Desenvolvemos aplicativos web e mobile. Conversamos sobre aplicativos bacanas, novidades no mundo da tecnologia e ux. http://aerochimps.com/