Você não é um engenheiro de software. Você não constrói arranha-céus. Você não constrói pontes.

Você cultiva jardins.

Você é um jardineiro de software.

Você tenta planejar seu jardim com tantos detalhes que você sabe onde cada folha será posicionada antes de plantar uma única semente? As pessoas esperam estimativas (ou elas são promessas em sua organização?) em quantas flores exatamente irão floresceu dentro de um ano? Você tem um bônus vinculado a isso? Coisas que seriam perfeitamente razoáveis para planejar um arranha-céu parecem um pouco ridículas quando você está falando de um jardim.

Você provavelmente tem uma boa ideia de como jardim deve estar dentro de uma semana. Você pode até ter uma vaga ideia da forma que você espera que ele esteja dentro de um ano. Mas você não tem a menor ideia de onde cada ramo, folha, caule e flor vão estar daqui um ano, e se você diz que sabe você está apenas chutando.

Se você estivesse construindo uma ponte ou aranha-céu e você me dissesse, antes de começar, que você sabe exatamente como ele vai ficar depois de pronto, eu poderia acreditar em você. Se você me dissesse que você sabe com uma precisão absurda quanto tempo ele vai demorar a ficar ‘pronto’, eu poderia acreditar de novo. É assim que engenheiros fazem. Diga-me a mesma coisa sobre seu jardim e eu irei dizer ‘bobagem’. Diga-me que você vai fazer ele crescer mais rápido contratando mais jardineiros e eu vou rir de você.

Então porque muitos jardins falham enquanto muitos aranhas-céu têm sucesso? Com poucas exceções, a técnica para construir aranhas-céus é similar estando você na Europa ou em Singapura. Jardins não funcionam desta forma. Cada jardim é diferente porque o ambiente em que está é diferente. Mesmo jardins que estão perto um do outro podem ter solos completamente diferentes. Por isso é que a empresa mais barata pode possivelmente construir a mesma ponte que a empresa mais cara, mas a sua empresa não pode cultivar jardins na proporção que o Google pode cultivar.

Lembra daquele tempo em que alguém na sua empresa não conseguiu usar a metodologia de jardinagem Agile, e ficou dizendo que aquilo era uma bosta de gado que não funciona? Bem, bosta de gado não cultiva jardins, ela apenas não será suficiente para salvar seu jardim. Seu jardim possivelmente morreu antes de ser plantado, uma vitima do clima da sua organização. Você estava tento cultivar uma floresta no deserto? Você simplesmente não pode plantar as mesmas plantas que o Facebook, Flick ou Twitter e esperar que elas criem raízes, independente da qualidade dos seus jardineiros ou do clima da sua organização.

Diferente de uma aranha-céu, no seu jardim crescerá ervas daninhas. Ele nunca estará ‘concluído’. Apenas porque você parou de gastar dinheiro com ele não quer dizer que esteja pronto. Se você parar de podar as ervas daninhas elas eventualmente o esconderão, e logo um replantio será mais fácil do que uma poda. O ambiente em volta do seu jardim também estará sempre mudando, e um jardim abandonado se tornará cada vez mais difícil de se manter vivo.

Em muitos países, um engenheiro precisa de uma licença para construir uma ponte. Jardineiros não precisam de um controle de qualidade do governo. Infelizmente, a qualidade dos seus jardineiros terá grande influência no sucesso dos seus jardins mais do que qualquer outro fator, então é melhor você saber separar o trigo do joio. Apenas um jardineiro experiente realmente sabe conhecer outro bom jardineiro quando vê um. Alguém que apenas gerenciou projetos de jardinagem não terá a menor ideia do que eles deveriam estar procurando (embora eles não saibam disso). Então se você não é um jardineiro, mas precisa recrutar bons jardineiros, procure um jardineiro experiente que você confia para avaliar seus candidatos. Você não pode aprender jardinagem numa sala de aula, então lembre-se de focar em jardins que seus candidatos cultivaram anteriormente, ao invés de quanto de teoria de jardinagem ele aprendeu na escola (o que provavelmente não será aplicável para o clima que você está cultivando de qualquer maneira).

A metáfora de engenharia teve seu tempo no sol, e talvez até tenha sido exata, mas hoje ela apenas serve para ajudar a pessoas não técnicas a ter uma expectativa irreal sobre o software que está sendo construído.

E sou um jardineiro de software.

Então você também é.

Do original: You are NOT a Software Engineer!