Partilhar via


Pratique o Egoless Architecting - Você não é sua Arquitetura

Olá pessoal, tudo certo?

Recentemente li um artigo do autor Ted Neward, da revista CODE, que gostei muito! No artigo, Ted comenta sobre algumas recomendações para o novo desenvolvedor, depois de alguns anos longe do mundo do código.

Imagine-se entrando no mercado de desenvolvimento hoje, após 3, 5 ou 7 anos distante. O que você deve focar primeiro para retomar suas atividades?

Existem diversas boas dicas de assuntos que devem ser vistos, como Testing, Dynamic Languages, Metodologias Ágeis, Programação em Pares, SCRUM, Orientação a Serviços, entre outras. Nos últimos anos, vimos realmente uma mudança de paradigma em todos esses tópicos, o que mudou o comportamento de muitos desenvolvedores do mercado, independente da plataforma alvo (seja Microsoft, Java ou outra).

Por exemplo, em um projeto recente no qual participei, fiquei impressionado com a qualidade dos projetos de teste que a equipe de desenvolvimento criou. Não interessava se a empresa colocava o teste como regra a ser seguida, percebi uma certa “naturalidade” em todos os desenvolvedores participantes. Hoje, algumas empresas exigem até que o desenvolvedor justifique por que não fazer baterias de testes para um certo projeto. Tempos atrás, o teste era algo visto como caro e mesmo “chato” para muitos desenvolvedores.

Mas o que achei genial no artigo foi o comentário sobre Egoless Programming. O que um novo desenvolvedor deve aprender antes de entrar no mercado? Ele deve praticar o Egoless Programming!

O termo foi definido por Jerry Weinberg em seu livro “The Psychology of Computer Programming”.

The Psychology of Computer Programming
Ref.: https://www.amazon.com/exec/obidos/ASIN/0932633420/codinghorror-20

Pessoalmente, antes de entrar para a Microsoft, participei de diversos projetos como desenvolvedor e em alguns deles, o egoless programming era uma orientação, seja pelo conhecimento do gestor ou pela integração da equipe. O que era importante era o código, não o codificador! O que precisava ser dito sobre o código era dito, sem ofender o codificador!

E essas eram regras presentes nos 10 mandamentos do egoless programming, que vemos a seguir:

1. Entenda e aceite que você irá cometer erros.

2. Você não é seu código.

3. Não importa o quanto seja bom seu "karate", alguém sempre irá saber mais do que você.

4. Não reescreva código sem consultar outras pessoas.

5. Trate as pessoas que sabem menos do que você com respeito, deferência e paciência.

6. A única constante no mundo é a mudança.

7. A única verdadeira autoridade fundamenta-se no conhecimento, não na posição.

8. Lute pelo que você acredita, mas graciosamente aceite a derrota.

9. Não seja "o cara na sala".

10. Critique o código ao invés da pessoa. Seja gentil com o codificador, não com o código.

Se você não conhecia essas regras, acredite: elas devem ser praticadas por todo desenvolvedor que pretende trabalhar bem em equipe e com colaboração, características muito valorizadas hoje em dia pelo mercado.

Aproveitando o post, gostaria de propor uma nova prática: a “Egoless Architecting”. (nada muito original, certo?)

Mas creio que os mesmos princípios do egoless programming são válidos para o egoless architecting, seja para arquitetos de TI, soluções, software, infraestrutura ou corporativos.

Assim, segue aqui os 10 novos mandamentos do Egoless Architecting”:

1. Entenda e aceite que você irá cometer erros.

2. Você não é sua arquitetura.

3. Não importa o quanto seja bom seu "karate", alguém sempre irá saber mais do que você.

4. Não refaça sua arquitetura sem consultar outras pessoas.

5. Trate as pessoas que sabem menos do que você com respeito, deferência e paciência.

6. A única constante no mundo é a mudança.

7. A única verdadeira autoridade fundamenta-se no conhecimento, não na posição.

8. Lute pelo que você acredita, mas graciosamente aceite a derrota.

9. Não seja "o cara na sala".

10. Critique a arquitetura ao invés do arquiteto. Seja gentil com o arquiteto, não com a arquitetura.  

Brincadeiras a parte, o que você acha? Pratique você também o Egoless Architecting e seja feliz! Smile
e leia Jerry Weinberg.

Por enquanto é só! Até o próximo post :)

Waldemir.

Comments

  • Anonymous
    May 20, 2011
    Legal o Post, mas na minha opnião a sua nova prática foi muito mal colocada, você sugere os mesmos tópicos que o autor! Se esforça-se você conseguiria colocar alguns pontos a mais, e não simplesmente "Copy and Past" do autor original!

  • Anonymous
    May 21, 2011
    Olá Marcus, tudo certo? Obrigado pelo comentário e feedback! A ideia não era criar uma completa nova filosofia, longe disso! Por isso fiz a obrigatória referência ao autor, que recomendo como leitura, muito boa! Foi mais uma brincadeira para lembrar que egoless approach (uma abordagem sem ego, sem vaidade) é importante em todos os momentos da vida, não somente no desenvolvimento e programação, mas também na definição de uma arquitetura, na direção do carro no trânsito, na escrita de um blog, de um post, etc. Mas valeu pelo feedback! Vou me esforçar mais na próxima! Um Abraço! Waldemir.