O mito do pau pra toda obra em tecnologia

Nas últimas semanas, fiz uma provocação grosseira no Twitter e não consegui respostas satisfatórias: qual seria a diferença entre webmaster e full stack web developer? A complexidade do trabalho com o mercado digital, do planejamento à publicação na Web, foi incrementada absurdamente com a profissionalização do mercado e foi uma resposta às falhas grosseiras como a bolha dotcom. Por que então estamos adotando uma visão tão generalista quanto a da década de 1990?

Quando li o texto de Laurence Gellert tive a sensação de que o termo foi mal traduzido e contextualizado nos times de desenvolvimento brasileiros (ou não: Facebook aparenta ser uma empresa com uma cultura muito equivocada). Afinal, nossa visão sobre generalistas e especialistas é muito diferente da dos norte-americanos, por exemplo. A experiência da formação universitária lá é construída pelo aluno durante curso. No Brasil, estamos presos a currículos altamente especializados e herméticos. A flexibilidade de currículos universitários no exterior permite acompanhar melhor a tendência volátil do mercado de trabalho. Se a especialização foi valorizada na segunda metade do século XX, a generalização e a interdisciplinaridade são diferenciais na tal era do conhecimento.

Neste momento, vemos as universidades brasileiras buscando esta interdisciplinaridade e vejo um retorno ainda pouco útil. Ao invés de uma visão ampla de negócio que o mercado exige, os alunos dos cursos de tecnologia estão ocupando suas grades com Direitos Humanos e Qualidade de Vida (oi?). Do que adianta alterar cursos para introduzir disciplinas novas (multidisciplinaridade) se as grades não são construídas para favorecer a construção do conhecimento entre elas (interdisciplinaridade, transdisciplinaridade)?

Um resultado provável disso, ou algo que não foi solucionado ainda, é a eterna busca pelo acúmulo de técnicas (techné) ao invés de práticas (práxis). Ao buscar uma vaga para times de tecnologia, é fácil encontrar uma lista gigante de requisitos que vão do domínio do Photoshop ao realização de deploy de aplicações. Não é só irreal como opressivo. As graduações não preparam este tipo de generalista e nem deveria. Quantas vezes ouvi relatos de jovens passando o fim de semana debruçados sobre tutoriais para aprender uma nova técnica enquanto não conseguem relacionar o porquê daquela técnica ser boa para o negócio. E se somente a técnica é valorizada no mercado, por que não trocar uma graduação por um curso da técnica mais quente no desenvolvimento de aplicações do ano?

O Scrum, por exemplo, não ajuda nesta questão. Os ciclos rápidos de desenvolvimento são bons para manter uma alta eficiência do time e sabemos bem que o custo disso é um corte na participação na estratégia da empresa. A alienação é tal que há desenvolvedores que agradecem quando recebem as tarefas prontas e mastigadas bastando definir complexidade.

Apesar das origens do Kanban nas fábricas da Toyota, o agile não era sobre transformar pessoas em engrenagens e sim formar times autogerenciáveis com seres pensantes e ativos. Os métodos ágeis não combinam com alienação! A motivação básica de cada um no time deveria ser entender como o produto funciona do princípio ao fim. No entanto, como fazer isso se o profissional de TI só entra em contato com o mundo fora da célula no planning e no review através dos olhos do product owner?

A cultura interdisciplinar ou transdisciplinar é algo que devemos construir nas próximas gerações de profissionais do mercado digital. É uma característica cultural intrínseca à formação de cada um de nós. Generalizando absurdamente, é como se fosse escrito em cada um de nós em uma linguagem de programação baixo nível e tal característica não se muda com dinâmicas de grupo e muito menos com o acúmulo de técnicas aprendidas.

No entanto, podemos começar conhecendo melhor cada um do time. Uma matriz de competências, por exemplo, é uma ferramenta muito mais eficaz e é de implementação rápida. Incentivar a diversidade dentro do time também é uma ótima forma de aumentar a criatividade e facilitar soluções mais integradas com a estratégia de negócio do que com as técnicas utilizadas (ou quem nunca sugeriu uma tarefa porque é fácil em fazer na linguagem da moda XPTO?).

Existem paliativos para reduzir a alienação de desenvolvedores do processo de trabalho e cada time pode ter uma ideia para compartilhar com a comunidade. Mas é essencial relembrar que o que é bom para o Facebook pode não ser bom para a sua empresa.

Outros olhares sobre o tal full stack developer:

Tags: , , ,