Sempre pensei que os desenvolvedores de software fossem semelhantes aos Pegas, pássaros famosos por roubar itens brilhantes para decorar seus complexos ninhos. Assim como as pegas, os desenvolvedores de software são criaturas excepcionalmente inteligentes e curiosas, quase por definição. Mas somos facilmente distraídos por novos brinquedos e brinquedos brilhantes.
Não encontro mais o livro de Scott Hanselman Lista definitiva de ferramentas para desenvolvedores inspiradora. Em vez disso, é cansativo. O ritmo das mudanças no mundo do software é implacável. Somos tão inundados com o Brilhante e o Novo que os próprios conceitos começam a se desintegrar, as palavras são repetidas várias vezes até se transformarem em um fluxo sem sentido de vogais e consoantes. “Brilhante” e “novo” tornam-se mundanos, até mesmo comuns. Não é mais exclusivo que algo seja novo, não é mais interessante quando algo é brilhante. Eventualmente, o senhor se cansa da interminável procissão de coisas novas e brilhantes.
Não estou sozinho. Jeremy Zawodny também observa o brilho cada vez menor das coisas novas e brilhantes:
Há mais de um ano, cancelei minha inscrição no Blog do Steve porque ele tinha o hábito de escrever sem fôlego sobre as novidades mais recentes e brilhantes, muitas vezes várias vezes ao dia. Vejo muitas pessoas que conheço serem apanhadas pela propaganda sem fôlego e esquecendo-se de pensar se a última novidade brilhante realmente importa no grande esquema das coisas.
Dave Slusher concorda:
[Robert Scoble] diz que recebe muitos e-mails e que isso é ineficaz para que os comunicados de imprensa cheguem até ele. Ele sugere que o que o senhor deve fazer agora é deixar uma mensagem no mural do Facebook dele. Querido Deus e/ou Bob. Durante o tempo em que acompanhei Scoble, devo ter visto algo parecido com isso uma dúzia de vezes. Não envie um e-mail, envie-me um Twitter. Não envie pelo Twitter, me dê um Pwnce. Jaiku me. Deixe uma mensagem no mural, envie um SMS, ligue para mim, envie um e-mail para mim, não envie um e-mail para mim, não ligue para mim. Já chega! Nem estou tentando entrar em contato com ele, e acho que essa migração constante de uma plataforma para outra é um monte de merda que me cansa. Eu me senti da mesma forma quando abandonei o TechCrunch, há mais de um ano. Fiquei muito cansado de ouvir sobre outra maneira ligeiramente diferente de fazer o que já estávamos fazendo e por que essa pequena diferença valia a pena largar tudo e mudar. Renuncio oficialmente à busca pelo mais novo e mais brilhante.
Não se trata apenas do fluxo interminável de notícias sobre tecnologia. É também o impulso e a atração de um mil guerras religiosas de software que nos desgastam continuamente, como pedras errantes em um riacho que flui rapidamente. Aposto que o processo descrito por David Megginson soa muito familiar:
1. Os desenvolvedores de elite (gurus) percebem que há muita gente sem valor usando sua linguagem de programação atual e começam a procurar algo que os diferencie melhor de seus colegas medíocres.
2. Os desenvolvedores de elite pegam sua lista de compras de aborrecimentos atuais e procuram uma linguagem nova e pouco conhecida que aparentemente tem menos aborrecimentos.
3. Os desenvolvedores de elite começam a impulsionar o desenvolvimento da nova linguagem, contribuindo com código, escrevendo bibliotecas etc. e, em seguida, divulgam a nova linguagem. Os desenvolvedores de sub-elite (sênior) seguem os desenvolvedores de elite para a nova linguagem, criando um mercado para livros, treinamento, etc., e também acelerando o desenvolvimento e o teste da linguagem.
4. Os desenvolvedores da subelite, que têm grande influência (os desenvolvedores da elite tendem a trabalhar isoladamente em projetos de pesquisa e não em equipes de desenvolvimento de produção), começam a pressionar pela nova linguagem no local de trabalho.
5. A grande massa de desenvolvedores comuns percebe que precisa começar a comprar livros e fazer cursos para aprender uma nova linguagem.
6. Os desenvolvedores de elite percebem que há muita gente sem valor usando sua linguagem de programação atual e começam a procurar algo que os diferencie melhor de seus colegas medíocres.
Espero que o senhor esteja sentado, porque tenho más notícias para o senhor. Aquela coisa de Ruby on Rails em que o senhor estava tão interessado? Isso é portanto, no ano passado. Nós seguimos em frente.
Se o senhor considerar que, estatisticamente, a grande maioria dos programadores ainda não experimentou uma linguagem dinâmica de qualquer e muito menos Ruby, o absurdo aqui é sublime. Alguns recursos de linguagem dinâmica estão chegando aos bastiões do Java e do .NET, mas lentamente e com níveis variados de sucesso. Esses supostos líderes de pensamento deixaram uma cidade fantasma virtual diante dos senhores. qualquer outra pessoa tenha tido a chance de chegar.
Tornei-me programador porque adoro computadores e para adorar computadores, o senhor deve amar a mudança. E eu gosto. Mas acho que o senhor o desenvolvedor magpie às vezes adora mudanças em detrimento de sua própria arte. Andy Hunt e Dave Thomas, o Programadores Pragmáticos que foram uma grande parte da última mudança radical em Ruby, disseram isso muito bem em uma coluna do IEEE de 2004 (pdf).
Os usuários não se importam se o senhor usa J2EE, Cobol ou um par de pedras mágicas. Eles querem que a autorização do cartão de crédito seja processada corretamente e que os relatórios de inventário sejam impressos. O senhor os ajuda a descobrir o que eles realmente precisam e, juntos, imaginam um sistema.
Em vez de se deixar levar pela difícil corrida até a vanguarda da tecnologia mais recente, Pete se concentrou na criação de um sistema [in COBOL] que funciona para ele e seus clientes. É simples, talvez quase primitivo de acordo com nossos padrões elevados. Mas é fácil de usar, fácil de entender e rápido de implantar. A estrutura de Pete usa uma mistura de tecnologias: um pouco de modelagem, um pouco de geração de código, alguns componentes reutilizáveis e assim por diante. Ele aplica o princípio pragmático fundamental e usa o que funciona, não o que é apenas novo ou está na moda.
Nós fracassamos (como setor) quando tentamos criar uma estrutura de aplicativos que canta e dança para acabar com todas as estruturas de aplicativos. Talvez isso se deva ao fato de não haver uma grande teoria unificada esperando para surgir. Uma das marcas registradas do pós-modernismo – que alguns acreditam ser uma característica distintiva de nossa época – é que não há uma “grande narrativa”, nenhuma história abrangente para nos guiar. Em vez disso, há muitas pequenas histórias.
Não se sinta inadequado se o senhor não estiver forrando seu ninho com as coisas mais brilhantes e novas possíveis. Quem se importa com a tecnologia que o senhor usa?desde que seja funcionee o senhor e seus usuários estão satisfeitos com ele?
Essa é a beleza das coisas novas: sempre há uma nova coisa surgindo. Não deixe que a busca por coisas novas e brilhantes acidentalmente se torne seu objetivo. Evite se tornar um desenvolvedor de “pega-pega”. Seja seletivo em sua busca por coisas novas e brilhantes, e o senhor poderá se tornar um desenvolvedor melhor por isso.