Devigners: a relação de devs e designers.
Se achou que "Devigner" seria a junção de Dev + Designer, parabéns você acertou 😜. Gosto do trocadilho pois resume bem a mensagem desse post, que nada mais é do que levantar alguns pontos sobre a relação desses dois profissionais.
Se você é desenvolvedor, designer, analista de sistema ou qualquer profissão que atua na área de tecnologia, deve saber que um time de desenvolvimento de software deve ter um perfil multidisciplinar. Ou seja, existem vários profissionais de áreas diferentes que trabalham juntos em prol de um objetivo. Neste cenário, temos os desenvolvedores (devs) que são profissionais responsáveis pela codificação, arquitetura e funcionamento do sistema (dentre outras coisas) e os designers que são "seres" que utilizam da empatia para compreender as pessoas e projetar soluções para seus problemas. Neste processo também existem outros profissionais envolvidos, como gerentes de produto e testers, porém hoje irei enfatizar a relação de devs e designers por conta da minha experiência de vida e por conseguinte ter mais autonomia pra isso.
Minha história com desenvolvimento e design começou em 2009 quando aceitei o desafio de fazer duas faculdades. No período diurno estudei Ciência da Computação e no noturno Design, uma experiência cansativa mas que valeu a pena pela oportunidade de conhecer os dois lados da moeda. Em 2014, após formado em ambas as áreas me tornei professor e pude ter contato com alunos de ambos os cursos, neste momento em que troquei de posição, pude observar de uma outra perspectiva a formação de cada profissional. Por fim, em 2017 adentro o mercado como designer de produto atuando como uma "ponte" entre o time de desenvolvimento e o time de design. Estar em contato com pessoas de áreas diferentes e se comunicando cotidianamente com todos me rendeu várias histórias, e hoje gostaria de compartilhar alguns aprendizados com vocês, então vamos lá.
Com base na minha jornada, separei quatro ingredientes que podem ajudar na relação técnica e pessoal entre devs e designers, são eles:
1 - Entender minimamente a área do outro
A ideia que o designer deve saber programar persiste no pensamento de muitos profissionais, mas a ideia de que um desenvolvedor deve saber utilizar técnicas de Design Thinking ou estudar teoria da cor já não é tão popular assim, por que?
Eu penso da seguinte forma, nas vertentes do design existe a área digital, que engloba a web, interfaces e sistemas. Neste contexto o designer acaba aprendendo linguagens de formatação como Html, CSS e começa a riscar algumas linhas de Javascript. Pelo fato de um dos ramos do design trazer essa parte de codificação, é mais natural que o profissional se envolva com a área e se aproxime de ser um front-end developer. Mas a discussão aqui é um pouco mais profunda, vamos além, um designer deve saber programar?
Não deve, se sabe melhor pra ele pois é um conhecimento precioso, mas não é uma obrigação. Porém é importante entender minimamente a área de desenvolvimento, pois algumas tecnologias impactam nas decisões de design e ninguém quer sair por aí inventando coisas impossíveis de se fazer. Se um designer é capaz de entender as particularidades de uma linguagem de programação ou a tecnologia utilizada pelo seu time, isso com certeza irá influenciar suas decisões e o mais importante de tudo, dará o poder de mensurar os esforços de ambas as partes. Já perdi a conta de quantas vezes vi o desenvolvedor respirar fundo pois teria que criar mais um componente customizado sem necessidade alguma.
Por outro lado, um dev também precisa entender o trabalho dos designers e principalmente enterrar o pensamento de que somos fazedores de telas bonitinhas. Uma tela é um artefato advindo de pesquisas e cada detalhe deve (ou pelo menos deveria) ser justificado. Entender o processo de design mesmo que superficialmente, faz a diferença para o desenvolvedor, pois embasa seus argumentos com relação a usabilidade e design de interação, fomentando assim boas discursões e um ambiente co-criativo. Lembrem-se que não é porque você não trabalha com cores e imagens que você não é uma pessoa criativa, pelo contrário, desenvolvedores utilizam da criatividade a todo momento para resolver problemas complexos através de algoritmos, que tal ajudar os designers com essa criatividade toda.
O Design é muito importante para ser discutido apenas por designers.
Para finalizar, ter o conhecimento de ambas as áreas além de fazer de você um profissional mais completo, também contribui para gerar um ambiente de aprendizado compartilhado, fornece sinergia entre o time, estimula a parceria e faz com que cada profissional possa entender e respeitar o trabalho do outro.
2 - Comunicar para se adaptar
É importante deixar claro que antes de profissionais somos seres humanos, e como pessoas, nós temos nossas qualidades e defeitos que nos tornam únicos. Através desse pensamento, é fácil concluir que um determinado modelo de trabalho pode funcionar com o desenvolvedor A, e já com o desenvolvedor B pode ser um fracasso.
Com 7 anos de experiência na área, percebi que alguns designers e desenvolvedores tentam impor seu método de trabalho partindo do princípio que sua abordagem funcionou em seu projeto anterior, então "obviamente" também irá funcionar agora. E é aí que as coisas começam a dar errado e precisam ser repensadas. Existem algumas variáveis como comportamento, hábito e modos operandi que contribuem para que esses modelos não sejam engessados e alertam para a flexibilidade, afinal de contas estamos trabalhando com pessoas e elas sempre serão diferentes uma das outras.
É neste momento que a comunicação se torna um fator essencial para que o processo do time seja estabelecido e aquela abordagem que deu certo anteriormente seja adaptada para o contexto atual.
Se eu fosse escrever guidelines específicas sobre como colaborar com desenvolvedores, essas guidelines teriam que ser re-escritas a cada poucas semanas. Fabrício Teixeira, 2020.
Alguns desenvolvedores preferem ter o designer trabalhando literalmente ao seu lado validando a interface, já outros preferem receber um documento de spec pelo slack e ficar produzindo com um phone de ouvido. Enfim, muitos são os casos e vai de cada profissional entender essas nuances humanas observando seu colega e principalmente se comunicando com ele. Esse hábito irá fazer com que ambas as partes estabeleçam um modelo de trabalho que seja satisfatório para todos. As primeiras sprints podem não apresentar uma boa performance, o que é natural visto que ainda estão no processo de adaptação, o importante é estar sempre em contato com o time para que o processo seja transparente para todos. Com o tempo, a forma ideal de trabalho vai se estabelecendo naturalmente e a equipe estará adaptada aquele novo formato.
Essa adaptação também é importante para fortalecer a relação pessoal e profissional com os colegas, como vocês estarão construindo uma estrada operacional juntos, e isso requer muita troca e contato, é o momento oportuno para conhecer os porquês de determinados comportamentos e estreitar laços. Quem faz o ambiente de trabalho são as pessoas, comunique-se com elas.
3 - Flui melhor com a tal da humildade
O mito do designer pop-star, o cara do ego inflado, que não aceita opinião e que demora pra entregar uma tela. As crônicas dos desenvolvedores que não conseguem codificar uma tela da forma como foi projetada, são introspectivos demais e o pior, não tem noção de espaçamentos entrelinhas.
Quem nunca ouviu um designer reclamar de um dev ou vice-versa atire a primeira pedra. Eu mesmo já reclamei, e digo mais, já estive dos dois lados da história, ja discuti com desenvolvedores por causa de tonalidades de cinza nos textos e tive longas discussões com designers tentando engessar o trabalho deles com o objetivo de tornar a codificação mais trivial, esquecendo completamente o usuário. Quem estava certo não sei, mas a única certeza era que eu estava errado. No fim das contas, tudo era questão de humildade…
Quem fala mal, fala pelo prazer de ser acomodado. André Fernandes, 2019.
Após ter abraçado minha carreira como designer e ter tido experiência trabalhando com desenvolvedores, pude me envolver mais com os problemas deles, como eu já tinha um conhecimento de programação era mais fácil pra mim poder acompanhar a parte técnica, mas ainda assim era importante entender as ideias e frustrações deles para compreender suas visões de mundo e para que no final ambos pudéssemos chegar em um comum acordo e o time pudesse sair ganhando.
Com o tempo, pude perceber que todas aquelas reclamações e lamúrias eram frutos de imaturidade, estrelismo e falta de experiência. No momento em que me coloquei no lugar deles, pude entender melhor o que estava acontecendo e principalmente perceber que as coisas não giram ao meu redor. Hoje como designer, tento acompanhar de perto (e as vezes me meto) o trabalho dos desenvolvedores e fico super feliz quando os mesmos me questionam de maneira inteligente, isso mostra que eles reconhecem o valor do design.
O time para atingir uma boa performance tem que trabalhar como time, juntos, não há mais espaço para essa briguinha de egos, os tempos mudaram e o presente precisa de humildade. O conceito de humildade é tão forte na relação, que no momento em que você tenta entender os problemas do colega, o mesmo também tentará compreender os seus, é a lei do retorno. E quando os acordos ficam estabelecidos vai ser muito mais comum o desenvolvedor comprar as ideias mirabolantes dos designers e os designers repensarem soluções através de questionamentos e discussões do time.
4 - Respeito é o âmago
Respeito é premissa pra qualquer ser humano, e na relação profissional não é diferente. E ok, na maioria das vezes existe o respeito sim, mas tem algumas atitudes que é bom tomarmos cuidado, desde a faculdade eu me deparo com situações do tipo:
"Ta bom de parar de fazer deseninho e começar a trabalhar"
Dependendo da situação, isso pode demonstrar desrespeito ao trabalho do profissional. E é claro que existem situações e situações, uma coisa é algum amigo tirar uma piada conosco numa mesa de bar, e outra coisa é no ambiente de trabalho. Ninguém gosta de se sentir rebaixado e ver um colega de profissão insinuar que seu trabalho não é importante, esse tipo de atitude é desrespeitosa e acende a ignorância por não compreender o trabalho do colega.
Não é só com designers que isso acontece, desenvolvedores também passam por isso, mas confesso que nessa estrada bilateral presenciei mais situações com designers. Talvez exista alguma relação por nossos entregáveis muitas vezes estarem relacionados a estética e fatores um pouco subjetivos, o que pode dar margem para esse tipo de comentário, que de qualquer forma não se justifica.
Outro ponto é com relação à críticas, toda pessoa tem seu ego, seja ele inflado ou não, nós temos um. Portanto, todo o trabalho que produzimos tem DNA nosso. Logo, antes de sair criticando as cores usadas ou a falta de velocidade do sistema é bom saber ouvir as justificativas de quem trabalhou construindo aquele artefato, as vezes não foi por mal e as vezes nem sequer somos culpados, como já bem dito nessa publicação, comunicação é a alma da relação e as críticas são parte necessária do amadurecimento da equipe, mas criticar por criticar pode ser também desrespeitoso com o trabalho do profissional, tudo tem um meio termo, um jeito respeitoso de dizer.
Conclusão
No final, esse papo foi sobre humildade, respeito, empatia e adaptação. Características que vem de casa e que levamos para o ambiente de trabalho, para nossas relações e enfim para tudo. Espero que essa reflexão possa ajudar você que é designer, desenvolvedor ou mesmo um "devigner" e está tendo problemas com o colega. Fica frio que isso faz parte do processo, atritos são essenciais para o nosso amadurecimento profissional e pessoal, mar calmo nunca fez bom marinheiro.
Obrigado por ter lido até aqui 💙