O senhor pode realmente alugar um codificador?

Sou fã de Dan Appleman há quase tanto tempo quanto sou programador profissional. Ele é um dos meus heróis. Infelizmente, Dan só blogs raramente, por isso fiquei animado ao ver uma série de atualizações recentes em seu blog. Uma das entradas faz uma pergunta que sempre me perguntei: o senhor pode realmente alugar um programador?

Nos últimos um ou dois anos, fiquei de olho em vários sites de consultoria on-line – o Elance, guru.com, RentACoder, oDesk. Na verdade, usei o RentACoder uma vez (como comprador em um projeto muito pequeno) e fiquei satisfeito com os resultados, embora eu suspeite que tenha passado mais tempo escrevendo as especificações e gerenciando os programadores do que se tivesse feito o trabalho sozinho.

Estou surpreso com o fato de Dan começar com uma visão tão positiva desses serviços, porque ouvi quase que universalmente coisas negativas sobre eles. Como programadores profissionais, acho que somos todos naturalmente inclinados a ver esses tipos de sites de contratos de baixo custo como canibalizadores e barateadores do nosso ofício. Isso é mais ou menos análogo ao movimento No-Spec para designers.

O mais estranho é que, apesar da perspectiva ensolarada, o artigo que Dan escreveu sobre esse tópico parece ser bastante cauteloso:

  • O senhor estará competindo com pessoas de todo o mundo. Na verdade, o senhor ficará surpreso com o preço baixo que as pessoas de algumas partes do mundo oferecerão. Isso porque alguns dólares por hora podem funcionar bem em um país onde o salário médio é de algumas centenas de dólares por mês.
  • Muitos dos projetos postados são irrealistas. Por exemplo, pessoas que pedem um clone do ebay por menos de US$ 500. O que acaba acontecendo nesses casos é que, geralmente, alguém acaba sendo enganado (o cliente ou o consultor que fez um lance abaixo do esperado ou não cumpriu o prometido).
  • Muitos projetos não dão certo. Eles são cancelados. Ou o consultor que fez a proposta para o trabalho nunca o entregou, ou apresentou resultados ruins. Ou o cliente tem expectativas irracionais ou não sabe realmente o que quer.

Talvez seja apenas meu preconceito natural falando, mas esses sites me parecem terrivelmente impraticáveis.

Simplesmente separar as propostas de projetos do DailyWTF das coisas que o senhor poderia realmente entregar – com taxas de programação offshore ultracompetitivas, nada menos que isso – exigiria a paciência de um santo e a resistência de um atleta olímpico. Documentos de especificação já são difíceis de escrever quando todos os envolvidos são colegas de trabalho sentados na mesma sala. Não consigo nem imaginar a dificuldade que seria para o concordar com o que o senhor está construindo quando os participantes estão a milhares de quilômetros de distância e nunca se encontraram. Mas então Pensei que o Mechanical Turk da Amazon fosse um fracassoe parece que ele está tendo um nível moderado de sucesso.

Dan tem um pequeno gráfico comparando os serviços desses sites de freelancer/consultoria on-line. É muito fácil considerar esses sites como uma afronta à engenharia de software. Acho que eles são mais ou menos como sites de namoro — eles podem ser uma forma de encontrar um relacionamento com o cliente, mas eu desconfiaria muito de qualquer desenvolvedor profissional que não conseguisse encontrar um relacionamento estável e de longo prazo com um cliente.

Se não fosse por isso, deveríamos analisá-los para fins de pesquisa, como uma linha de base. Certamente o senhor pode demonstrar mais valor para o seu empregador do que os programadores anônimos e aleatórios do Elance, guru.com, RentACoderou oDesk. E eu certamente espero que os projetos em que o senhor está trabalhando sejam mais sensatos e gratificantes (nos dois sentidos da palavra) do que o material que aparece nesses sites.