Skip to content

Instantly share code, notes, and snippets.

@ldaniel
Created May 16, 2012 12:18
  • Star 7 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save ldaniel/2709913 to your computer and use it in GitHub Desktop.
Crítica à comunidade .NET

Aviso importante

"Às vezes, um charuto é apenas um charuto."

Não almejamos mais seguidores no Twitter, leitores para o blog ou amigos no Facebook. Somos, assumidamente (e com discreto orgulho), pessoas pouco sociáveis. Sim, esta crítica é, nesse caso, apenas uma crítica.

@leandronet e @mantov

Crítica à comunidade .NET

E já se vão mais de 12 anos que a plataforma “dotnet” (.NET) foi exposta aos desenvolvedores e mais de 30 anos do começo da difusão da tecnologia de informação pelo Brasil. Mesmo com notório progresso, este texto não vai ter como fim elogios aos responsáveis. As pessoas boas e suas grandes ações estão aí, são reconhecidas, devem ser imitadas e seguidas. Mesmo a escolha do enredo sendo para soar alto a ouvidos quase moucos, ele se dirige muito mais a nós mesmos do que a qualquer outro, até mesmo porque os que deveriam se sentir atingidos não serão, seja pela índole característica, seja pelo seu débil auto-discernimento.

Seria extremamente pretensioso especular a respeito do que inspira novos aprendizes de tecnologia, então é mais sensato pautar a dialética no que motivou a nossa geração. Nossa paixão sempre foi clara: dinheiro e mulheres. Mas não buscamos a área de tecnologia para quaisquer destes fins, até mesmo porque a profissão não era tão promissora, ou ao menos nossa imaginação não chegou nem próximo desta farta realidade, seja tecnológica, de acesso à informação, financeira etc. Não dava para reclamar, mas monetariamente havia opções significativamente melhores.

Buscávamos nesta incursão ao novo mundo digital o conhecimento de tudo e acima de tudo! A partir do momento que o descobrimos e conseguimos interação de alguma forma, o desejo era o domínio essencial das coisas: do bit, do pixel, do menor fonema, da menor frequência. Não queríamos reinventar a roda, mas ter em mente o que seu criador possuía para reescrever paradigmas. Para chegar aos ombros de gigantes, impreterivelmente teríamos que passar por seus calcanhares e era isso que fazíamos, com muita experimentação, muita pesquisa, muita leitura, muito entusiasmo.

Adorávamos um atalho, mas o proveito só ocorria após trilhar vários e vários caminhos. Pelo conhecimento, pelo próprio ego. Quem é dessa geração sabe o prazer incomensurável de resolver um bug “no peito e na raça”. Hoje isto não é mais necessário na maioria das situações, pois há documentação vasta e profunda sem que necessite muita busca para inúmeras situações. Este é o atalho. É muito bom sabê-lo, porém, quando a procura da solução mais rápida se apoia na lei do menor esforço, os piores profissionais da nossa área encontram morada eterna.

Quantas vezes encontramos perguntas boçais, mal formuladas em um português sofrível, com a nítida ausência de releitura da frase pelo autor, sobre assuntos que o “Estou com sorte” do Google resolveria? E, ao contrário do que muitos apregoam, não é mais fácil que simplesmente pesquisar. A preguiça não reside aí. Ela habita na falta de iniciativa, na ausência da vontade onipotente de saber. Acima dos problemas, das pressões que recebemos de mil hierarquias as quais estamos subordinados, do mercado, de qualquer necessidade, devemos nos submeter a procedimentos, rotinas e processos para que a ciência de solucionar não passe por uma arte intuitiva ou mendicância intelectual. É esse tipo de atitude que alguém quer se pautar como profissional? Pessoas que não conseguem sustento próprio, seja por qual motivo for, tornando a desistência de tentar o seu único meio de sobrevivência?

Se a perniciosidade desta atitude é tão notória, por que este tipo de profissional permanece ativo e ademais, se prolifera tão exponencialmente? Porque funciona. Entre em um fórum de arquitetura, por exemplo, você encontrará perguntas e respostas sobre Windows, banco de dados, do mais básico ao mais avançado. Perverte-se a essência e a boa ideia em prol de quórum. Simplesmente quórum. E entre milhares de membros, quase não há participantes, até mesmo por estarem aquém em termos de conhecimento e os que estariam aptos a responder, desanimam de se misturar a esta orgia de ignóbeis. Há um ditado bem sábio que diz: “Nunca discuta com um idiota! Ele te rebaixa ao nível dele e te vence pela experiência”. O lugar onde a discussão não é bem fomentada vira arena.

Seguir a doutrina de aumentar mercado em detrimento da qualidade do produto se mostrou tão eficaz quanto autodepreciativa. É uma obra de curta duração, cujos subprodutos são falsos messias. O ego tem uma função motivadora espetacular, mas é primordial confrontá-lo consigo mesmo e não com as outras pessoas. Quando a competição passa do âmbito interno pra o externo, você para de melhorar onde precisa e começa melhorar onde aparece. Não é a melhor filosofia para se buscar sabedoria, mas é uma forma perfeita para os dependentes químicos de afago e adulação. E a ansiedade por aprovação, essa paúra de não levantarem a placa de aplausos, são combatidas em extremismos, hostilidade com divergência de opiniões etc. E esta quase libertinagem tem um soldo efêmero: reconhecimento de mentes tão privadas de informação, em um número que não lotaria uma reunião de condomínio.

Outra prostituição derivada deste comportamento são os criadores de polêmicas de proveta. Em algum momento pessoas usam seus contrapesos da genialidade para fazerem caricaturas do profeta Maomé, chutar imagens sacras em cadeia nacional, ou redigirem textos radicais onde reinam arrogância, destempero e falta de parcimônia. Tudo com o mesmo objetivo: chamar atenção pela controvérsia, muito mais que pelo conteúdo, pela solução. O mais lastimável é que geralmente estas são muito talentosas e cujo conhecimento muitas vezes beira o abissal. Todavia a falta de moderação, de maturidade (e não estamos falando de jovens) e bom senso desacreditam e poluem todo esforço dedicado ao conhecimento e às comunidades. Líderes deste tipo de comunidade precisam infinitamente mais de credibilidade que profundidade técnica. E bradando devaneios e crises narcisistas não é um bom caminho para angariar bons séquitos. Parece que estas pessoas buscam - perdão o clichê - a denominação de melhor dos piores, para não correr o risco de ser o pior dos melhores. Melhorar o título é melhor que evoluir seu status quo?

E como se não fosse bastante a própria degradação, isto se estende até aviltar a própria semântica. O que é legado, já se tornou velho ou carente de alguma sigla qualquer, TDD, MVC etc. Nuvem já é sinônimo de Internet. Nem a bala de prata mata mais apenas lobisomens, mas virou remédio de todos os males, o que o resto do mundo conhecia como Panaceia. Esta perversão de termos é vergonhosa para nós que nos consideramos estudiosos. Demonstra ignorância profunda e desrespeito com as demais áreas. Não é bonito passar por estúpido com ninguém, então é valoroso pensar um pouco mais e ser mais humilde quando estivermos perante termos que não estão rendidos ao nosso entendimento e experiência. E se temos conhecimento precisamos de postura coerente para difundi-lo. Por exemplo, não se defende uma metodologia ágil sendo rígido e altivo na argumentação, conceitos tão característicos ao comando e controle e tão opostos ao espírito cooperativo que faz até o seu nome. É como dizer “Todos devem ser livres, mesmo que não queiram”. Soa bem, mas não faz sentido.

Em outros momentos chegamos a perceber ingenuidade destas mesmas pessoas. Provavelmente já leram tantas e tantas frases de efeito e almejaram ver seus nomes associados a elas e ignoram que a força dessas palavras advém dos grandes homens e da herança de seu trabalho e não do amontoado de letras que as compõe. Cada vez que há uma tentativa vil de criar expressões demagógicas, somente soam como um epitáfio cômico da sua dignidade. Muitas e muitas vezes atacando ferozmente antigas metodologias ou tecnologias que fazem parte da pedra fundamental da nossa profissão hoje e das atuais metodologias e tecnologias. Tudo que existiu e persistiu teve seu propósito e muito provavelmente foi um passo que impreterivelmente daríamos para evoluir. É como o Homo Sapiens criticar o Homo Habilis. Qual é o ponto? Ver que um degrau está acima do outro por isto um é melhor que o outro? O último passo que alguém usa para chegar onde está não é melhor que seu primeiro, é apenas complementar. Agir como se as doutrinas que defendem fossem as que vieram para presenciar o fim dos dias, é inocência que beira a estupidez. Este fundamentalismo tecnológico é nocivo a discussão e a evolução muito mais que a falta de conhecimento, pois esta tem cura apenas no esforço. Só porque não estamos vendo as lacunas grosseiras do que aceitamos hoje como nosso pattern de trabalho, não quer dizer que elas não existam. Existem e um dia cada um que defendeu fervorosamente vai negá-la... e bem mais que 3 vezes.

Ainda há a infame Síndrome de Gandhi. Mahatma Gandhi, um ser humano notabilíssimo e indiscutivelmente alguém que mudou e muito a humanidade para melhor, cuja parte da história reza que buscou uma formação acadêmica mais alta para ultrapassar os limites que a sua casta lhe impunha e assim ser ouvido. Assim que alcançou este nível, abdicou de todos os títulos para se colocar igual a todos. Espetacular! A opção dele foi completamente adequada ao contexto e aos seus anseios, merecendo inquestionavelmente o nosso respeito e admiração. Agora, certos profissionais da nossa área, seguem parcialmente este modelo, idealizando um mundo onde quem exibe (que virou o “ostenta” dos nossos tempos) é ridicularizado. Se você tem um título, você mereceu tê-lo, batalhou de uma forma ou de outra para ter em mãos. Que isso agigante a sua assinatura de e-mail, seus cartões pessoais, seu currículo, não importa. É uma conquista pessoal que deve ter mérito para ele e este deve usar da forma que convier. A conquista alheia virou demérito? Ou cada um pode conquistar o que quiser desde que não exponha isso aos “menos afortunados”? Se você quiser esconder um ou vários títulos é algo que cada um tem o direito, mas não torna pior ou melhor, mais ou menos correto que rigorosamente ninguém. A afetação com quem exibe o que é, diz mais negativamente sobre quem se afeta do que quem se expõe, seja aquele com mais títulos ou não. Será que temos que pedir perdão pelas nossas conquistas?

Coroando a última resma deste currículo escatológico, está o mais mesquinho e mais provido da pior peçonha: Os sultões do conhecimento. Estes senhores, geralmente com uma retaguarda economicamente robusta, infiltram-se nas comunidades com fins financeiros exclusivos, vendendo seus produtos acima das soluções, criando distorções e conjunções de metodologias antagônicas com uma semiótica a la Schopenhauer, vendendo o gelo a 1500ºC como a mais refrescante inovação. Todos queremos ganhar dinheiro. Não há mal algum nisto – além do que já é inerente ao próprio capitalismo. Mas uma coisa é você vender uma Bic como se fosse uma Mont Blanc, outra é você vender balinhas Tic-tac como cura do câncer! O fim colaborativo morre quando estes deficientes de caráter conseguem se tornar formadores de opinião, atrasando a carreira de centenas, milhares de profissionais que baseiam seus estudos em premissas deformadas. Uma hora ou outra a verdade vem à tona, mas o tempo perdido e as soluções podres podem, além de tudo, prejudicar vários clientes que confiam nas nossas decisões e no nosso trabalho.

Estes problemas acontecem em todas as comunidades de tecnologia, abrangendo todas as plataformas, todas as linguagens e todas as metodologias. Não é um problema exclusivo da plataforma .NET, todavia é frustrante ver que há pouca inovação na mente de quem compõe as comunidades MS. O tempo que deveria ser a fogueira das vaidades para os técnicos, somente provou que maturidade quando não acontece com muita evolução torna-se desgaste. É parcialmente triste ver novas comunidades com 5 anos ou menos que demonstram mais união, participação e empenho. Passa a sensação de que se as pessoas da geração anterior estivessem começando hoje, não estariam tão instigadas a buscar conhecimento em soluções MS, justamente por enxergar nas suas comunidades menos características motivadoras, seja pela experimentação, pela profundidade ou pela curiosidade inteligente tão mais presente. Não que a empresa não ofereça isto, mas pelo brio enfraquecido de seus participantes.

A MS pode ser vista como uma mãe castradora, que nos limita muito a pensar e agir nos preceitos e orientação dela. Superprotetora e controladora, com a melhor das intenções, não nos deixa caminhar com as nossas pernas, mimando-nos ao máximo. É inegável que isto nos trás facilidades. É muito mais rápido e fácil você avançar em conhecimento com os produtos MS. Tudo tem mil referências, bibliografias e ferramentas voltadas mais para o mouse que para o teclado, mais para a IDE que para o console. A MS nos mima e gostamos disso. Para esta união ser perfeita é preciso ter rebeldia nas veias. E ela até nos encoraja a isso nas entrelinhas, pois ela quer crescer também e depende muito de nós para isso. Sem rebeldia, a IDE do .NET torna-se o lar dos acomodados, um bando de programadores de Wizards e consumidores ávidos de receitas de bolo a la MSDN. É inegável a atrofia de nossas habilidades de soluções “mouseless” e qualquer alternativa de console normalmente é preterida a uma “drag and drop”.

Já comunidade open source pode ser vista como uma mãe moderníssima, dessas que permite que você use drogas na sala e faça orgias no seu quarto. Ela te dá sustento e prega a doutrina que a sua vida é você quem faz com as suas escolhas e fornece apoio para qualquer caminho que você tome. Quando você cai, muitas vezes depende de ajuda de estranhos, mas pode cair onde quiser. Liberdade. Você não tem que pensar fora da caixa, você ESTÁ fora da caixa. Agora, por ela te prover tantas alternativas, muitas vezes você fica fadado a não escolher a mais adequada e conviver com uma amarga herança. Muita coisa é resolvida por experiência própria já que não há muitas vezes uma recomendação maior, mas 3 ou 4. Para resolver isso é muito simples. Discussões e mais discussões; estudos e mais estudos. Todo este fardo, entretanto, dá ao profissional uma mente inexoravelmente mais propensa a evitar paliativos e aplicar de fato soluções, pois esta postura faz parte da sua formação. Por enfrentarem problemas com um desamparo maior, a necessidade o faz desbravador nato e assim pode experimentar o que há de melhor e pior e, consequentemente, aprender acima do simples “funcionou”.

Não é só isto que restou para quem abraçou .NET como plataforma. Entretanto, o desserviço prestado por estes pseudo-líderes, por estes profissionais pouco ambiciosos intelectualmente, pela comunidade movida mais pelo dinheiro e pelo ego de alguns que para o crescimento dela mesma, é gigantesco e inegável. Enquanto nossos pares de tecnologia não adotarem a meritocracia como filosofia e métrica profissional ao invés de buscar enaltecimento por maioria de votos, estamos em franca e obscena decadência. Busque o conhecimento antes do reconhecimento! Colabore! Contribua! Dê a sua opinião, não esperando que ela seja a definitiva, mas que você aprenda um pouco mais com cada negativa! Pare de olhar debates e tome partido! Se você não sabe pergunte! Se alguém expõe falta de conhecimento, ensine somente o que você sabe! Se não quiser responder, escolha calar-se ao invés de hostilizar! Não desabafe, incremente! Busque! Experimente! Entenda o que há por baixo das tecnologias! O próprio conceito de comunidade reza que são pessoas com o mesmo interesse ou ideias comuns. Coopere pelo mesmo motivo que te faz não jogar lixo no chão! Não aja por ser filantropo, aja por ter amor próprio! Este é o bom egoísmo o qual devemos ostensivamente cultivar!

@elland
Copy link

elland commented May 17, 2012

@rlaranjo, sinceramente, pelo teu primeiro comentário, parecia que tu era mais um retardadinho que não sabe programar e tem preguiça de aprender as coisas. Essa coisa de ficar seguindo modinha, como TDD/BDD, NoSQL, etc, é uma idiotice e um buraco-negro de $ do cliente. A solução mais simples e barata sempre é a melhor.

@elland
Copy link

elland commented May 17, 2012

Daí só conheço Scrum (que acho muito ruim) e MVC (que acho foda pra caralho), mas sei nem como usa Windows que dirá .NET ;) Eu programo Obj-C, C, C++ (que odeio e evito), Ruby e Python, hoje em dia, nessa ordem.

@elland
Copy link

elland commented May 17, 2012

Nessa área não existe bala-de-prata. MVC é bom pra muita coisa, mas não pra tudo. E não resolve todos os problemas. Apenas é uma prática legal pra aplicações de médio/grande que se ajustem bem nele, como é o caso de serviços web (e mesmo assim nem todos), ou aplicativos iOS, por exemplo. Pra um programa de linha de comando? Dificilmente.

@ElemarJR
Copy link

rlaranjo,

Veja, buscamos a mesma coisa. Eu também quero entregar o que o meu cliente quer, no menor tempo, com o menor custo. Não há diferença.

Se uso BDD é porque entendo que isso me ajuda a entender mais cedo o que o cliente quer. Por isso, consigo diminuir o custo de desenvolvimento.
Se uso TDD é porque evito erros bobos no meu código. Além disso, no médio prazo, isso reduz o meu custo de manutenção.
Se uso metodologias ágeis é por que acredito que o cliente quer, realmente, software funcionando (e não documentação).

Se não gosto de ferramentas "drag and drop" é porque o código gerado, embora rápido, era terrível de manter. Algumas vezes uso, mas geralmente prefiro lançar mão de outros truques.

Afinal, no que pensamos, ou desenvolvemos diferente?!

@elland
Copy link

elland commented May 17, 2012

@giggio
Copy link

giggio commented May 18, 2012

Acho que temos experiências muito diferentes. Posso dizer que já participei de muitos projetos com TDD, BDD e agile e os resultados foram diferentes.
Mas pra que ficar falando, só, né? Bora matar a cobra e mostrar o pau:
Case downloader:
http://blog.lambda3.com.br/2012/01/case-levelup-gerenciador-de-downloads/
Case GVT:
http://www.agilebrazil.com/2011/pt/detalhes.php#264
Case Go2Doc:
http://www.baguete.com.br/noticias/30/04/2012/ceo-do-groupon-investe-em-site-de-consultas
Esses são só alguns da Lambda3, empresa que trabalho. Eu vivi e vivo esses cases, ninguém me contou, eles são minha realidade, trago pra vocês não de segunda mão, mas de primeira.
Além de vários outros de diversas outras empresas. Todos ágeis.
Podemos olhar a trilha de relatos de experiência do AgileBrazil 2011 pra mais alguns cases, de outras empresas:
http://www.agilebrazil.com/2011/pt/detalhes.php

Vamos mais além. Na Lambda3 não somos só ageis, somos totalmente democráticos:
http://www.youtube.com/watch?v=RFgjTYPV_DA
http://blog.lambda3.com.br/2012/02/dois-meses-na-lambda3-uma-boa-viagem/
http://blog.lambda3.com.br/2011/12/a-palavra-gerente/
http://blog.lambda3.com.br/2011/12/sim-sem-gerentes/

Falar que agile não funciona é puro desconhecimento da realidade. É ignorância de que o mundo é maior. É gostar de ficar preso na jaulinha. No fundo, parece que, de fato, ignorance is a bliss...

@ElemarJR
Copy link

rlaranjo e Elland

Vivemos experiências diferentes. Meu código foi ficando mais refinado porque amo programar (sou, essencialmente, "Programming, Motherfucker").

Sempre entreguei todos os meus projetos e, com o passar dos anos, fui entregando mais e melhor. Me orgulho por ter avançado na minha carreira e na minha capacidade de escrever bons códigos. Alguns deles, tento compartilhar no meu Blog.

Btw, ao que me parece, nenhum de vocês dois aceitaria trabalhar com uma pessoa como eu. O que me deixa um pouco frustrado.

Gosto de um bom debate, por isso, tentaria mostrar que seu código poderia ficar pronto ainda mais rápido e com custo ainda menor. Se, por outro lado, você conseguisse me mostrar o oposto .. adotaria sua cartilha sem problemas.

;)

@ElemarJR
Copy link

rlaranjo,

Não adoto nada que não teste antes. Meus "Learning Tests", no blog, seguem exatamente essa linha. A idéia é deixar que as pessoas conheçam uma biblioteca/framework antes de começar a usar em projetos sérios.

Sou compulsivo em ser um profissional melhor. Já deixei de "vender" projetos por entender que eles não eram, de fato, necessário. Meus valores pessoais exigem que eu tente entregar para o cliente soluções para os problemas dele. E, da minha parte, tento aprender o máximo para ter condições de sempre entregar mais valor.

Até hoje, tive a felicidade de ser reconhecido por isso. BTW, agilidade significa "abraçar a mudança". Não discuto com os clientes, apenas tento ter certeza de que ambos entendemos qual era o contexto ...

Queremos as mesmas coisas, de fato. Mas, ao que parece, você teve experiências ruins usando coisas que, para mim, funcionaram e funcionam muito bem.

@ElemarJR
Copy link

BTW, quem é rlaranjo?! Honestamente, não lembro de ter conversado com você antes. Entretanto, você parece ter muita intimidade com a comunidade... Nem eu sabia que o Giggio têm/tinha motoca.

que coisa, não?!

@ElemarJR
Copy link

rlaranjo (e todos que estão na discussão)

Vou estar em Sampa, para o DNAD no início do mês. Bora pro HH e, quem sabe, eu consigo entender melhor seu ponto de vista.

@sidneylimafilho
Copy link

sidneylimafilho commented May 18, 2012 via email

@giggio
Copy link

giggio commented May 18, 2012

Elemar, o Laranjo e eu trabalhamos junto um tempo atrás. Vira e mexe ainda almoçamos juntos (aliás, faz tempo, hem! Desentoca daquele fim de mundo e bora almoçar, Rodrigo!). Apesar das diferenças em programação, sempre nos demos bem, ele é um cara legal. :)
E com certeza vai ter HH depois do DNAD. Você vai, Laranjo?
E Laranjo, não foi você quem disse que agile não funciona, foi o Elland que disse: "BDD/TDD/Ágil = custa mais, demora mais, boa parte das vezes nunca fica pronto."
Aí eu aproveitei pra demonstrar, empiricamente, que isso não é verdade, já que contra fatos não há argumentos.

@henriquebastos
Copy link

@ElemarJR esta estrutura social que você descreve como "Comunidade" é tudo menos comunidade.

Pode ser o que se encontra por aí quando o propósito é estimular uma horda de consumidores de produtos tecnológicos. Nada diferente do marketing de um banco ou de uma fábrica de automóveis.

Comunidade é uma rede de pessoas que interagem e compartilham um mesmo conjunto de valores. Não é grupo, nem empresa, nem qualquer hierarquia estática e não-emergente. Comunidade está diretamente ligada com identidade e liberdade.

@ElemarJR
Copy link

Henrique,

Definição da Wikipedia:

Do ponto de vista da sociologia, uma comunidade é um conjunto de pessoas que se organizam sob o mesmo conjunto de normas, geralmente vivem no mesmo local, sob o mesmo governo ou compartilham do mesmo legado cultural e histórico. Os estudantes que vivem no mesmo dormitório podem formar uma comunidade, assim como as pessoas que vivem no mesmo bairro, aldeia ou cidade. Fichter, 1967 em suas Definições para uso didático[2] ressalta que uma palavra que é rodeada de significados múltiplos, requer uma cuidadosa definição técnica, ao que propõe: comunidade é um grupo territorial de indivíduos com relações recíprocas, que servem de meios comuns para lograr fins comuns.

A definição de 1-9-90, também não é minha. É estudo da sociologia.

Enfim..

@ElemarJR
Copy link

rlaranjo,

Cara, sejamos mais objetivos e menos acusativos. Onde você acha que minhas práticas não estão alinhadas com os seus objetivos. Além disso, por quê?

Assuma que sou seu cliente e que não quero só ouvir que estou errado. Diga no que estou errando. O que acha?!

@ElemarJR
Copy link

Certo rlaranjo,

Vi MUITOS projetos atrasarem. Vi brigas fervorosas, vi milhares de dólares sendo jogados fora em tempo de desenvolvimento. Vi programadores que passaram UM ANO SEM ESCREVER UMA LINHA DE CÓDIGO e "bilando" hora. E vi as enormes discussões sobre "o que é bom".

Infelizmente, por estar há tantos anos no mercado (acredito, eu), também já vi tudo isso que você descreveu. Mas, apenas para destacar: Boas práticas tem ênfase em PRÁTICAS. Não dou muita credibilidade para quem defende algo, mas não pratica. Bom para mim implica em reduzir custo de manutenção ou de criação (senão, dos dois). Logo..

Tá, vou parar de falar "moda". Vi então "novidades" irem e virem. Vivi a época do RUP, do PMBOK, do MSF, Waterfall, UML, do "vamos gastar mais tempo na análise". Vi tudo isso ir e vir, e os projetos continuavam falhando.

Também vi tudo isso. Minha experiência mostra que, no geral, o modelo é besteira. Acredito em times bons! Já vi times fazendo excelentes produtos com RUP, também já vi muita m*. EU PREFIRO trabalhar em cenários mais leves. Mais simples. Com menos documentos e mais código.

Vi muita gente defendendo com unhas e dentes suas idéias, gente agarrada em um navio afundando, mas ainda acreditando que aquilo era a solução e repetindo que o problema é o cliente que é burro.

Novamente, pessoas.

Conclusão: Hoje quando alguém fala "Olha que maravilhoso isso! É revolucionário!", minha primeira reação é duvidar...

A minha também. Mesmo quando essa pessoa sou eu mesmo :D

Vi muita gente sem experiência e com muito ego. "Seniors" com 21 anos de idade que não sabia o que era um "IF" a 2 anos atrás. E falando que o projeto falhou porque o cliente era burro porque não deixou ele usar isso ou aquilo. Mas eu falei com o mesmo cliente e em metade do tempo o "burro" estava me dando os parabéns pelo excelente trabalho.

Para mim, competência = conhecimento + habilidade + atitude. No exemplo que você mencionou, são pessoas com conhecimento (pode ocorrer), mas sem experiência (habilidade) e, obviamente, com a atitude errada. Logo, incompetentes. Prefiro não trabalhar com elas.

Eu, vivendo próximo a um cliente leigo, desenvolvendo sistemas "cadastrinho", mas muitas vezes com bancos de dados complexos e amarrações malucas, acabei dando mais valor a uma modelagem bem feita do que o tempo de processamento do meu código. Acabei aprendendo a valorizar a escrever menos código. Aprendi que bug é um negócio que acontece em código, então menos código é menos bug!!!

Novamente alinhados. Aliás, TDD e BDD me ajudam nisso. Veja, para mim, são meios para escrever menos código. Mais que isso, me ajudam a focar no que o cliente quer, e não nos padrões que eu quero.

Aprendi a ter menos preciosismo. Tá passando um número como string? Vai levar 2 semanas pra corrigir isso? Vai ficar assim mesmo! Deu problema? Não. Tem alguém reclamando? Não. Então estou tão errado de deixar isso passar?

Dívida técnica. Aceito elas e também deixo como estar. Entretanto, quando posso, tento arrumar as coisas. Minha experiência diz que o escopo sempre muda, por isso, prefiro deixar a casa em ordem para não ter problemas no futuro. Quando a mudança chega antes, tento arrumar o que está errado antes de seguir em frente.

Não me incomodo com as ofensas se essa conversa me ajudar a me tornar um profissional melhor.

Conflitos de ideias são diferentes de conflitos entre pessoas. Enquanto a ofensa for "sua ideia é ruim por ..", tudo bem. Quando é "sua ideia é ruim, por que é sua".. daí, acabou a discussão.

;)

@ElemarJR
Copy link

Tá vendo? A gente concorda em tudo. Foi como eu disse, eu acho que existe esse "racha" à toa. Enquanto o "povo das comunidades" acha que quem não segue determinadas regras é "porco", tem também os "malditos avessos às comunidades" que acham que o "povo das comunidades" é um bando de viajão que fica perdendo tempo e só atrasa projeto. Estamos brigando à toa e não estamos enxergando o verdadeiro inimigo.

Concordo integralmente com você. BTW, o verdadeiro inimigo é a baixa eficácia (por eficácia: qualidade de entrega, no menor tempo e com o menor custo possível). Certo?

Cara, eu fiquei muito triste quando fui para uma entrevista de emprego e, por eu ser SINCERO e dizer que não me envolvia muito com essas comunidades e não usava TDD no meu dia-a-dia, tive que escutar a seguinte frase: "Olha, você me desculpa, mas eu tenho desenvolvedores plenos de 22 anos aqui que são mais seniors do que você."...

Você contrata a empresa, da mesma forma que a empresa te contrata. Agradeça por ter se livrado dessa.

Eu, particularmente, penso que a única forma de conhecer um DEV é pareando com ele. Discurso é lindo, mas só preenche power point. Querendo parear comigo, é só dar fork dos meus projetos do Github. BTW, se você postar alguma coisa, adoraria parear com você também.

DISCLAIMER: Só posto projetos didáticos ou FOSS. Certo?!

Eu acho que o maior problema está em nós, que rotulamos erroneamente as pessoas. Eu vi maus profissionais repentindo as "novidades" e atrasando projeto, logo errei em achar que quem fala muito disso é mau profissional. Vocês toparam muito com neguim porco e preguiçoso que falava que "tudo isso é besteira e perda de tempo" e atrasando projeto, logo acham que qualquer um que questione qualquer coisa é um porco preguiçoso.

Certo outra vez.

Será que é tão difícil enxergar que estamos do mesmo lado? Eu gostaria de poder ir a uma palestra e discordar de alguma coisa sem que todo mundo ficasse me apontando o dedo e gritando "bruxa! bruxa! bruxa!". Lembrando que "discordar" não significa que eu esteja certo, apenas não me convenci de alguma coisa e quero conversar para chegar em uma conclusão. Mas infelizmente tem muita gente que se ofende se você não bate palmas pra tudo junto com elas...

Então! Se você for ao DNAD, e assistir minha palestra (ou em qualquer outro lugar onde eu estiver palestrando), garanto esta condição para você. Eu mesmo trago a discussão para as ideias, no lugar de pessoas, se for necessário.

@ElemarJR
Copy link

CP500?! Seu newbie ;)

@mvfaria
Copy link

mvfaria commented May 28, 2012

@leandronet e @mantov, sensacional! O texto é mto bom e extremamente pertinente.
Acredito que essa reflexão alcançou muita gente, inclusive eu. Confesso que participo menos do que posso, vou rever isso.

@rlaranjo e @ElemarJR, incrível a discussão, faz tempo que não vejo uma troca tão aberta e tão boa. Como uma comunidade deve ser de verdade. Legal!

Talvez eu esteja seguindo as pessoas erradas, porque existe sim pessoas abertas a debater, trocar e ajudar e vocês são a prova disso.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment