<-- home

O programador fantasma

Ele permanece quieto no escuro emergindo apenas brevemente durante suas horas de trabalho. Ele não tem face, não tem nome, sem histórico. Sua única arma é usa palavra. Ele é : Programador “O fantasma que faz código”

Este não é um trabalho de ficção, este fantasma anda entre nós, camuflando-se perfeitamente no ambiente até o dia que ele emerge, procurando um emprego em algum outro local. E quando ele faz, empregadores em potencial procuram por ele e … Ele não pode ser encontrado. Em nenhum local.

Sim, o “Fantasma que programa” é real e você pode ser um dele(s) sem perceber o que você está fazendo com sua carreira. Mas ainda não é tarde - você pode ainda emergir da escuridão das sombras mas isso precisa ser feito logo, é algo para não atrasar.  

Na internet, ninguém sabe se você é um cachorro (ou um programador)

O cartoon clássico deu luz ao fato que a internet nos possibilita a criação de nossa própria identidade; nosso poder de ser como ou o que desejamos. Um currículo não é tão diferente e esse é o ponto crucial onde quero chegar; contratar alguém baseando-se no currículo muitas vezes se trata de um tiro no escuro, não existe solidez nos dizeres do candidato este é, metaforicamente, um fantasma, sem histórico na web. Isso até pode ser algo esperado quando contratando alguém, digamos, um historiador da Batalha de Gettysburg mas de longe não é algo esperado quando contratando alguém na tecnológica e plugada indústria de software.

O que quero dizer é: um currículo vem naturalmente, é uma carta positiva de todas as coisas legais que um indivíduo fez através dos anos, incluindo sua vasta experiência em uma gama de tecnologias e versões. Mas a versão deles da carta tende, naturalmente, a ser embelezada para aumentar a mercabilidade ou porque eles são incompetentes inconscientes. Então, como um empregador em potencial consciente você procura por mais informações para substanciar a vasta gama de conhecimento que seu candidato promete trazer-lhe.

Você procura por seus perfis no Linkedin. Não existe ou é uma cópia do currículo e não reflete nenhuma participação em grupos, discussões, conexões ou qualquer espécie de engajamento com a comunidade de software.

Então você procura por perfis no Stack Overflow. Sem sorte lá, não existe nenhuma questão feita ou resposta dada. Eles não contribuíram para o conhecimento nem aparentam terem estado lá de qualquer maneira ativa.

Talvez eles têm estado no canal da Microsoft e são donos de um saudável perfil MSDN pela mesma razão? Dificilmente.

Que tal contas no Github ou alguma espécie de participação open-source? Não, nada lá também.

Talvez uma conta no Twitter ou uma página pública no Facebook para demonstrar o tipo de informação que eles acham relevante repassar ou que ao menos contenha algumas dicas humoradas à respeito do debate ponto e vírgula versus sem ponto e vírgula.

Poderia também haver uma conta no Disqus apontando suas opiniões à respeito de algum dos centenas de milhares pedaços úteis de material de desenvolvimento de software que a citada ferramenta provê. Sem chance.

Um blog? Esqueça isso.

Eu vou sair em uma perna aqui e dizer isso: se esse é você, isso pode estar matando as prospecções de sua carreira porque isso pinta uma imagem muito desconfortável. Deixe-me explicar o por quê.

Verdadeiros e efetivos desenvolvedores deixam uma trilha de migalhas

Scott Hanselman chama eles de Desenvolvedores Matéria Negra; eles fazem uma proporção significante do universo e você nunca os viu! Na sua usual afável maneira, Scoot aponta que esses caras estão provavelmente felizes fazendo o trabalho com seus ASP.NET 1.1 e correndo quando o relógio bate na hora de ir para casa, certamente para fazer alguma espécie de atividade não relacionada à programação.

Tudo bem sobre isso, mas essas não são pessoas com paixão pelo que fazem. Eles também estão longe de serem os mais produtivos (você pode imaginar, sem abstrações, sem CMS, sem MVC, sem ORM, etc.) e eles não introduzirão nenhum tipo de inovação ou contribuição, sendo para melhorar seu ambiente ou ser uma boa companhia.

Mas um dos maiores problemas com essa audiência é que eles estão trabalhando no vácuo. O que acontece quando eles são travados por algo? Todo mundo é barrado por algo e isso é uma ocorrência normal, a questão é, o que acontece quando você é travado? Aqueles que conseguem reconhecer estarem emperrados antes e procuram a comunidade por suporte tem uma significante melhor chance em, não apenas ter o problema resolvido antes, mas provavelmente resolver de uma melhor forma. Claro que essa busca muitas vezes deixa uma migalha no histórico do desenvolvedor em algum lugar como o Stack Overflow.

Reciprocamente, um desenvolvedor deve contribuir? Eu diria que é razoável assumir que 99% dos desenvolvedores já chegaram ao ponto de terem que buscar informações em comunidades online quando em face de algum problema, mas quantos pagam este favor? Essas comunidades funcionam porque uma razoável parcela de pessoas devotam sua experiência gratuitamente, o que dizer de alguém que não contribui enquanto se beneficia do trabalho dos outros? E não estou dizendo para você se tornar um Jon Skeet, mas convenhamos, quem sabe responder aquela pergunta estranha, fazer uma alteração ou deixar um comentário para melhorar o valor do conteúdo para os futuros desenvolvedores.

 Então, o que dizer destes desenvolvedores que não deixam rastros? Bem, primeiramente, eles certamente devem estar gastando seu tempo batendo suas cabeças contra as paredes tentando resolver os problemas que eles deveriam estar resolvendo. Quase sem questionamento, não estão utilizando as ferramentas à sua disposição efetivamente - trabalhando com menos eficiência do que deveriam. Podemos estender essa forma de pensar além do escopo das perguntas e respostas; essas pessoas estão, de alguma forma, buscando melhorar suas práticas de desenvolvimento? Estão seguindo as melhorias da indústria e trazendo-as para o escritório com elas?

“Os melhores programadores são mais de 28 vezes melhores que os piores programadores”

Esta frase é do livro Facts and Fallacies of Software Engineering e é extremamente importante para empregadores por que faz uma diferença massiva no valor do investimento. E não se engane à respeito disso, empregados são investimentos. Você lerá coisas similares no The Mythical Man-Month quando falando à respeito de um grupo de desenvolvedores experientes.

“Apenas nesse grupo, razões entre as melhores e piores performances balancearam-se entre 10:1 em medidas de produtividade e em um maravilhoso 5:1 em velocidade e tamanho de código!”

Imagine isso,  sendo possível aumentar cinco ou dez vezes o lucro no investimento do desenvolvedor apenas por que você escolheu o cara certo! Mas você não vai conseguir isso com o desenvolvedor que trabalha com seu pequeno “repertório”, a o menos trabalhando com tecnologias que evolvem rapidamente. Esta é uma proposição muito importante para empregadores, e também é o porquê de os profissinais engajados, que sabem como maximizar seus recursos à disposição são tão valiosos e aqueles que não, bem, nem tanto.

Muito já foi escrito sobre o processo de entrevista de programadores, Joel Spolsky tem uma peça excelente The Guerrilla Guide to Interviewing o qual é sempre um bom local para começar. Tudo isso é para remover os piores desenvolvedores - aqueles que são 10% ou 20% efetivos em relação à seus concorrentes -  e ficar com a nata. Técnicas de entrevista são ótimas, mas também tem aqueles que vão tentar enganá-los das mais diversas formas. Eu mesmo tenho recordações, de muitos anos atrás, ter memorizado tudo que eu podia de certos livros de programação para que eu pudesse repetir esse conhecimento - literalmente - nas entrevistas daquele dia.

Imagine agora ser possível alguém dizer “Veja, aqui estão meus repositórios públicos no GitHub”. Assumindo que há conteúdo suficiente para excluir o recortar e colar, adiciona-se muito à dinâmica de uma entrevista. Você pode até discutir práticas de programação no contexto de trabalho real! Se torna muito menos uma discussão filosófica e, particularmente quando há algum histórico no código, possibilita você ver coisas que não conseguiria discutindo ou até mesmo efetuando testes de programação.  

Diploma? Ótimo, mas o que você já fez efetivamente?

Se eu estivesse sendo operado eu iria querer ter a certeza de que meu cirurgião fosse devidamente qualificado. Quando eu  entro em um avião eu quero ter a certeza de que o piloto já foi tremendamente testado e muito recentemente. Mas quando eu contrato um desenvolvedor o aspecto mais importante é que o que ele realmente já fez e como eu posso verificar isso além de um currículo ou, no melhor dos casos, uma referência. Diplomas em Ciência da Computação lhe dão absolutamente nenhuma segurança que alguém é de fato um bom desenvolvedor e certificações meramente provam que alguém é capaz de passar em um curso.

Muitos irão argumentar que essas coisas abrem portas que de outra forma não seriam abertas. Claro que isso depende de quem está abrindo a porta e quanta ênfase é colocada na papelada versus um histórico verificável. Eu diria que em vista do ruir da ”velha guarda”  as responsabilidades de contratação recaem na geração da internet e o foco está começando a ficar mais prático, baseado em evidência. Nós não podíamos fazer isso uma década atrás. Nós podemos agora.

Não pense você que o que estou dizendo aqui é que é para você desistir de cursar uma graduação ou ganhar certificações, elas podem lhe ajudar a desenvolver suas habilidades as quais lhe possibilitarão fazer alguma coisa posteriormente.

Há muito existe o enigma entre aqueles nos estados iniciais de suas carreiras de como se tornar empregável sem um histórico na área. Educação era a única coisa que eles podiam disponibilizar como segurança de que não eram completamente incompetentes. Esse há tempos não é mais o caso - hoje nós temos todos os canais mencionados anteriormente e convenhamos; se você sai de três anos de educação em programação sem um perfil no Stack Overflow ou uma conta no Github ou qualquer outra espécie de pegada na web sobre assuntos tecnológicos, o que você esteve fazendo?!

Mas nem tudo está perdido…

Nada disso talvez lhe importe. Você talvez nunca se encontre em uma posição em que, procurando por um trabalho tenha de competir com aqueles que não são fantasmas. Talvez.  

Agora, com certeza nada disso significa que o Fantasma Que Programa é empregável, longe disso; mas quando eles são colocados ao lado de alguém que no papel é igual exceto que tem um histórico rico e verificável de engajamento e contribuições em comunidade, aí não há competição. O que significa que o fantasma não tem nada mais do que suas palavras para fundamentar suas premissas e, por mais convincente que possa parecer, muitas vezes não é suficiente.

Mas a boa notícia  é que se você quer emergir das sombras é muito fácil começar e coisas grandes podem acontecer em um curto período de tempo. Tome por exemplo Iris Classon; dê uma olhada no que ela conseguiu em 18 meses. Não são 18 meses de um programador experiente tentando ganhar uns parabéns, são 18 meses partindo de nenhuma experiência com programação para milhares de seguidores, engajamento em múltiplas palestras e participação em alguns bem conceituados programas. Isso é muitas vezes mais potencial para um empregador do que um belo currículo cheio de qualificações jamais será.

Finalmente, a inexistência de um perfil público não faz alguém um mal programador. Por outro lado, um rico histórico de engajamento com a comunidade, fazendo perguntas, demonstrando entusiasmo e ativamente participando da indústria lhe dá um belo valor quando comparado aos fantasmas.

A postagem original deste conteúdo pode ser encontrada aqui, esta é uma tradução livre.