O senhor já recebeu aquela pergunta clássica da entrevista de emprego? “Onde o senhor se vê daqui a cinco anos?” Quando me perguntam, sempre sou transportado mentalmente de volta ao um certo vídeo do Twisted Sister de 1984.
Quero que o senhor me diga – não, melhor ainda, levante-se e diga à classe –
o que o senhor quer fazer com sua vida?
O senhor quer ser o máximo, naturalmente! Ou pelo menos ser um programador de rockstar. Essa não é uma pergunta que normalmente recebe uma resposta séria, como aquela outra pergunta que induz ao gemido em uma entrevista, “qual é a sua maior fraqueza?”. É que o senhor às vezes arrasa demais, certo? Pessoas inocentes podem se machucar.
Mas acho que essa é uma classe de pergunta diferente e mais séria, que merece uma consideração real. Não para o benefício do entrevistador, mas para o senhor próprio benefício.
A pergunta “onde o(a) senhor(a) se vê daqui a cinco anos” é um tanto quanto superficial, e a maioria das pessoas tem uma resposta óbvia para dar aos entrevistadores. Mas ela levanta algumas questões mais profundas: o que o(a) senhor(a) pretende fazer daqui a cinco anos? é a carreira em potencial de um desenvolvedor de software? Com certeza, fazemos essas coisas porque gostamos delas, e somos muito afortunados nesse aspecto. Mas o senhor estará sentado em frente ao seu computador programando quando tiver 50 anos? Quando o senhor tiver 60 anos? Qual é o melhor resultado de carreira possível para um programador que deseja ser… bem, um programador?
E se eu dissesse ao senhor, com língua firmemente plantada na bochecha, que havia Oito níveis de programadores?
- Programador morto
Este é o nível mais alto. Seu código sobreviveu e transcendeu sua morte. O senhor faz parte do registro histórico permanente da computação. Outros programadores estudam seu trabalho e sua escrita. O senhor pode ter ganho um Prêmio Turing, ou escrito artigos influentes, ou inventado uma ou mais peças de tecnologia fundamental que afetaram o curso da programação como a conhecemos. O senhor não tem apenas um verbete na Wikipedia – há sites inteiros dedicados a estudar sua vida e seu trabalho.
Pouquíssimos programadores atingem esse nível em suas próprias vidas.
- Programador de sucesso
Programadores que são bem conhecidos e criaram empresas inteiras – talvez até setores inteiros – em torno de seu código. Esses programadores deram a si mesmos a verdadeira liberdade zero: a liberdade de decidir por si mesmos no que querem trabalhar. E de compartilhar essa liberdade com seus colegas programadores.
Esse é o nível ao qual a maioria dos programadores deve aspirar. Chegar a esse nível geralmente depende mais de habilidades comerciais do que de programação.
- Programador famoso
Esse também é um bom lugar para se estar, mas não a menos que o senhor também tenha um emprego diário.
O senhor é famoso nos círculos de programação. Mas ser famoso não significa necessariamente que o senhor possa ter lucro e se sustentar. Ser famoso é bom, mas bem-sucedido é melhor. O senhor provavelmente trabalha para uma grande e conhecida empresa de tecnologia, para uma pequena empresa influente ou faz parte de uma modesta equipe de startup. De qualquer forma, outros programadores já ouviram falar de você e o senhor está causando um impacto positivo na área.
- Programador em atividade
O senhor tem uma carreira de sucesso como desenvolvedor de software. Suas habilidades estão sempre em demanda e o senhor nunca precisa procurar muito para encontrar um bom emprego. Seus colegas o respeitam. Todas as empresas com as quais o senhor trabalha são aprimoradas e enriquecidas de alguma forma pela sua presença.
Mas o que o senhor faz a partir daí?
- Programador médio
Nesse nível, o senhor é um programador bom o suficiente para perceber que não é um ótimo programador. E talvez o senhor nunca venha a ser.
O talento geralmente tem pouco a ver com o sucesso. O senhor pode ser muito bem-sucedido se tiver habilidades comerciais e pessoais. Se for um programador mediano, mas conseguir ganhar a vida com isso, então o senhor são talentosos, mas não necessariamente em codificação.
Não menospreze o valor da autoconsciência. Ela é mais rara do que o senhor imagina. Não há nada de errado em não ter talento. Seja ousado. Descubra no que o senhor é bom e vá atrás disso. De forma agressiva.
- Programador amador
Um programador amador adora programar, e isso fica evidente: ele pode ser um estudante ou estagiário promissor, ou talvez esteja contribuindo para projetos de código aberto ou criando aplicativos ou sites interessantes “apenas por diversão” em seu tempo livre. Seu código e suas ideias demonstram promessa e entusiasmo.
Ser um amador é uma coisa boa; a partir desse nível, o senhor pode rapidamente se tornar um programador profissional.
- Programador desconhecido
O proverbial programador típico. Joe Coder. Competente (geralmente), mas sem destaque. Provavelmente trabalha para uma grande e anônima MegaCorp. É apenas um emprego, não sua vida inteira. Também não há nada de errado nisso.
- Programador ruim
Pessoas que, de alguma forma, caíram na função de programador sem um pingo de habilidade ou capacidade. Tudo o que elas tocam se transforma em dor e sofrimento para seus colegas programadores – com a possível exceção do outros Bad Programmers, que não possuem nem mesmo a habilidade rudimentar necessária para saber que estão trabalhando com outro Bad Programmer.
O que é, talvez, a marca registrada de todos os maus programadores. Essas pessoas não têm o direito de escrever qualquer tipo de código, mas o fazem, de qualquer forma.
Esses níveis não são totalmente sérios. Nem todo programador almeja as mesmas coisas em sua carreira. Mas é esclarecedor considerar o que um programador poderia realizar em dez anos, vinte anos ou trinta anos – talvez até em uma vida inteira. O que programadores notáveis que o senhor mais admira? O que eles fizeram para conquistar sua admiração?
Em resumo, o que o senhor quer fazer com sua vida?