Desenvolvedor Full-stack e o Perfil T-Shaped

A Valve é uma das maiores empresas de games do mercado. Eles nem se denominam uma empresa de games, mas de entretenimento, software e plataforma:

We’re an entertainment company. A software company. A platform company.

A cultura da Valve é uma das mais interessantes que existem. Pra começar, não existe hierarquia: ninguém é chefe de ninguém. As mesas são totalmente móveis (sim, elas tem rodinhas) e o funcionário escolhe o projeto no qual vai trabalhar, definindo e priorizando as suas tarefas. Se você quiser ler mais sobre a cultura da Valve, recomendo que leia o livro que eles fizeram para novos funcionários. Nesse livro eles explicam que há um tipo de profissional que eles valorizam muito: o profissional “T-shaped”.

As pessoas T-shaped são profissionais que conhecem diversos assuntos de forma bem geral, não chegando a ser um profundo especialista (a parte de cima do T), mas também são experts em um campo de conhecimento específico (a parte vertical do T).

A Valve diz que esse tipo de pessoa é muito importante para o sucesso da empresa. O motivo é simples: um expert que conhece apenas sobre um assunto, pode ter dificuldades para colaborar com o projeto como um todo. Já se a pessoa é alguém generalista que só conhece um pouco de tudo, então ela não acrescenta valor como indivíduo para o projeto. Logo, todos precisam ter os dois perfis, ampliando as possibilidade de colaboração para o produto e principalmente para o grupo como um todo.

Se fôssemos aplicar isso para desenvolvimento web, o que chega mais próximo desse tipo de profissional é o dev full-stack. O mercado é bem confuso quando tenta definir o que é um dev full-stack. Algumas empresas definem que um desenvolvedor full-stack é um back-end que entende de também de operações. Outros lugares definem o full-stack como sendo um back-end que também sabe front-end. As duas estão certas e erradas ao mesmo tempo. Veja: um profissional full-stack é aquele que entende razoavelmente bem todo o stack de desenvolvimento utilizado para fazer o projeto funcionar. Exemplo: imagine um site desenvolvido com HTML, CSS, JS, PHP com Wordpress como CMS e MySQL como banco, rodando em um servidor Ubuntu 14 com NGINX e Jenkins como CI. Se você consegue colocar um projeto com este stack de desenvolvimento funcionando em produção, sozinho, você pode se chamar de full-stack. E é claro que os stacks de desenvolvimento mudam de projeto para projeto, de empresa pra empresa. É aí que entra a experiência de cada profissional. É muito difícil achar um cara que saiba programar todas as principais linguagens back-end, que saiba configurar e manter muito bem servidores web e que domine todos os sistemas de CI existentes além de todas as outras coisas. Esses caras são moscas brancas.

Se você quiser saber um pouco mais sobre essa história de dev full-stack, rolou uma thread interessante no twitter esses dias. Conheci pelo Lucas Mazza esse podcast sensacional. Nesse episódio específico, ele fala sobre o que é exatamente um desenvolvedor full-stack. Vale a “ouvida”.


Originally published at diegoeis.com on November 21, 2015.

Show your support

Clapping shows how much you appreciated Diego Eis’s story.