Programador ou Desenvolvedor?
A diferença entre um programador e um desenvolvedor de software é muito grande, mas quase sempre ignorada.
Presa à um paradigma completamente equivocado, a “indústria” do software busca imitar a indústria “convencional”, baseada no trabalho manual, seguindo muitas das idéias de Taylor e Adam Smith.
Essas idéias e princÃpios funcionam muito bem no chamado trabalho manual, que, em geral, atinge sua máxima eficiência quando organizado na forma de linha de montagem, com alta especialização e divisão de tarefas. Mais uma vez: desenvolvimento de software não funciona como linha de montagem.
O software possui fatores inerentes que não são encontrados em produtos manufaturáveis. Como exemplo, podemos citar a complexidade: o software é formado por uma grande quantidade de elementos distintos, enquanto produtos manufaturáveis possuem muitos elementos repetidos ou semelhantes em sua composição.
É um fato: desenvolvimento de software é trabalho sobre conhecimento, não trabalho manual. A expressão “fábrica de software” chega a me dar arrepios, é uma afronta a quem trabalha com desenvolvimento.
O que muitos gerentes e diretores tentam fazer com o processo de desenvolvimento de software é torná-lo uma linha de montagem, como a de carros ou produtos eletrônicos. Aqui chegamos ao assunto principal deste artigo: o trabalhador.
As empresas tratam o trabalhador da indústria do software como uma máquina: sua função é receber uma especificação “mastigada” e apenas traduzÃ-la para uma linguagem de programação. Resumindo, um operário. Isto é um grande erro. Se há algum trabalho manual (de “chão de fábrica”) no desenvolvimento de software, este é o trabalho realizado por IDEs, editores, compiladores e ferramentas automatizadoras em geral.
O trabalhador acima descrito é o tÃpico programador (ou, ainda pior, codificador). Ele não precisa pensar, apenas traduzir. E, pior do que o tratamento das empresas, é o que os próprios profissionais fazem consigo mesmos: a maioria aceita isso e acaba agindo como uma máquina codificadora por toda a carreira.
O desenvolvedor de software é um profissional muito mais completo: ele pensa. É um profissional altamente qualificado, com conhecimento multi-disciplinar, isto é, não apenas em informática, mas também em comunicação, gerência, negócios. Ele não precisa ser um mestre nessas outras áreas, mas deve conhecer, no mÃnimo, os princÃpios básicos de cada uma. Além disso, não fica esperando que alguém pague um treinamento: está sempre buscando melhorar. Não pelo aumento de salário ou pelo cargo com nome mais bonito, mas sim pela satisfação de realizar um trabalho melhor.
Quase todo o trabalho do desenvolvedor de software é trabalho de design. Trata-se de uma atividade criativa (a maioria das pessoas acredita que criativo é apenas o trabalho com resultado visual). Numa analogia à fabricação de carros, o desenvolvedor é o profissional que faz o projeto do carro, não o operário (ou robô) que apenas faz a montagem (o “compilador” do projeto de carro).
Aà nos deparamos com outro problema: a falta de estÃmulo. É muito comum que pessoas com talento e gosto por desenvolvimento de software mudem de área, geralmente devido aos baixos salários. Quando um desenvolvedor começa a ficar bom no que faz, torna-se gerente, vendedor, coordenador, enfim, qualquer outra coisa que pague melhor.
Acredito que as empresas devem investir em posições de alta responsabilidade também no desenvolvimento. Estou falando de profissionais com funções de liderança e gerência (incluindo salários e benefÃcios equivalentes a gerentes ou coordenadores) mas que ainda “botem a mão na massa”.
Em qualquer equipe é extremamente produtivo ter um profissional assim como referência, pois isso dá muito mais segurança aos profissionais que trabalham com ele. O que mais vemos por aà são equipes de desenvolvimento “órfãs”: quando algum desenvolvedor começa a se destacar, é retirado da equipe e muda de carreira. Os prejuÃzos são grandes mas, como são “invisÃveis”, os empregadores simplesmente ignoram.
É bom lembrar que a questão “programador versus desenvolvedor” não é apenas culpa dos empregadores. Como mencionei anteriormente, os profissionais também possuem grande parcela dessa culpa. Após 7 anos trabalhando com desenvolvimento de software, creio que, para cada cinquenta programadores, existe um desenvolvedor de software (isto é totalmente baseado em observações pessoais).
E você, é um programador ou um desenvolvedor se software?
Mais recursos:
- Está fazendo a sua parte? (por Carlos Brando)
- Evolução pela concorrência (por Fábio Akita)
9 Comentários