“Como ser um programador melhor?”. Encerramos uma conversa com Oren Eini (aka Ayende Rahien), para nosso canal no YouTube, fazendo exatamente essa pergunta. No vídeo abaixo, destacamos o que ele respondeu.
Oren é o líder criativo e técnico para desenvolvimento do RavenDB – base de dados NoSQL, escrita em C#. Também é um dos maiores contribuidores para o NHibernate e, também, criador de profilers para o CosmosDB, NHibernate e Entity Framework. Seu blog está ativo há quase duas décadas e ele é, seguramente, um dos melhores programadores do mundo em atividade.
Para Oren, algumas práticas que ajudam a melhorar as habilidades de um programador são:
- Estude código de qualidade escrito por outros. Ele indica procurar repositórios com projetos de áreas de interesse e “mergulhar” no código até o entender. Isso pode demandar um bocado de disciplina e persistência. [tweet]Quanto mais código você lê, mais você entende padrões de codificação que transcendem linguagens e plataformas.[/tweet]
- Externar o entendimento sobre todo projeto que for estudado. Ele, há anos, compartilha reviews aprofundados dos projetos de código que analisa.
- Não tenha receio de se sentir “não inteligente”. Entre em contato com os autores dos códigos que está estudando para tirar dúvidas. Segundo ele, a maioria dos desenvolvedores que compartilha código fica feliz em explicar suas ideias, sobretudo sobre aspectos extremamente técnicos.
- Estude código “dois níveis” mais avançados do que aquele que escreve no dia-a-dia. Em algum momento, o conhecimento adquirido analisando código assim vai ajudar a encontrar soluções para desafios no futuro.
Inspirador, não? Mãos a obra! Como ele diz: respire fundo, encha sua caneca com café e estude código mais avançado do que aquele que você escreve. Você consegue!
Se ainda não o fez, inscreva-se no nosso canal no YouTube!
Elemar como se dá esse rankeamento do código? Como saber que esse outro código está a 2 níveis de “dificuldade”.
Eu me identifiquei bastante, mas esse aspecto aí do rank ficou bem abstrato para mim.
Difícil dizer. 🙂
Eu acho que a ideia do Oren era ser abstrato mesmo. Mas, usando o exemplo que ele compartilha no vídeo. Você precisa manter um dicionário na memória – um nível abaixo seria saber qual das estruturas do .NET se encaixa melhor a sua necessidade. – dois níveis, seria entender como ela foi implantada.