top of page

Quem é o mestre?

Rodrigo Santos
17 de dez. de 2019
5 min de leitura


Geralmente um mestre é tido como aquele cara que sabe tudo, alguém que domina todo o conhecimento de uma determinada área e por isso não tem mais nada a aprender, apenas a ensinar sobre determinado assunto, e isso é um grande erro, principalmente em desenvolvimento de software.


Um mestre na área de IT vai muito além de entender uma sintaxe ou regras de como uma linguagem funciona, aqui o buraco é mais embaixo, um verdadeiro mestre deve ter no mínimo 3 características muito importante que são, Equilíbrio, Simplicidade e Ensino.


Equilíbrio


O que eu quero dizer com equilíbrio é o mestre dominar muito bem tanto a prática quanto a teoria, na minha caminhada vi muitas pessoas errarem nestes conceitos, programadores serem muito práticos e desenvolverem software atrás de software sem nem ao menos estudarem alguns Design Patterns ou então conhecerem um pouco mais sobre determinada tecnologia que utilizam no dia a dia para codificarem de uma maneira melhor.


Eles simplesmente pegam uma fórmula que acham que é a melhor do universo e saem replicando sem pensar muito em evoluir ou fazer um refactor e isso me lembra muito a história do lenhador:


"Certa vez, um velho lenhador, conhecido por sempre vencer os torneios que participava, foi desafiado por um outro lenhador jovem e forte para uma disputa. A competição chamou a atenção de todos os moradores da localidade. Muitos acreditavam que finalmente o velho perderia a condição de campeão dos lenhadores, em função da grande vantagem física do jovem desafiante.


 No dia marcado, os dois competidores começaram a disputa, na qual o jovem se entregou com grande energia e convicto de que seria o novo campeão. De tempos em tempos olhava para o velho e, às vezes, percebia que ele estava sentado. Pensou que o adversário estava velho demais para a disputa, e continuou cortando lenha com todo vigor.

Ao final do prazo estipulado para a competição, foram medir a produtividade dos dois lenhadores e pasmem! O velho vencera novamente, por larga margem, aquele jovem e forte lenhador.


 Intrigado, o moço questionou o velho:

- Não entendo, muitas das vezes quando eu olhei para o senhor, durante a competição, notei que estava sentando, descansando, e, no entanto, conseguiu cortar muito mais lenha do que eu, como pode!!


 - Engano seu! Disse o velho. Quando você me via sentado, na verdade, eu estava amolando meu machado. E percebi que você usava muita força e obtinha pouco resultado."


Esta parábola nos ensina uma importante lição que podemos aplicar enquanto profissionais: muitas pessoas acreditam que apenas o conhecimento técnico é suficiente para vencer os desafios do dia a dia nas empresas. No entanto, é preciso muito mais do que isto. Assim como o lenhador que acreditava que sua jovialidade e força física eram suficientes, muitos profissionais também acreditam que apenas a competência técnica seja suficiente para realizar suas tarefas na organização.


Como o velho lenhador que "sabia" ser necessário amolar seu machado periodicamente, para desempenhar sua tarefa com sucesso, o profissional eficaz entende que é necessário um conjunto de outras habilidades para fazer com que seu conhecimento técnico possa ser útil a organização.


Ele precisará também "amolar o machado" todos os dias. Desta forma, de vez em quando o programador que é muito prático deve fazer algumas pausas, ler algumas teorias, ver códigos de terceiros e então amolar o machado e aprimorar sua técnica, confesso que ja me encontrei nesse grupo, hoje em dia tenho aprendido a amolar o machado e vou dizer, tem feito diferença no trabalho do dia a dia.


Do outro lado da moeda temos o programador muito teórico, ele lê muito, sabe de muitas teorias e fórmulas mas acaba que nunca termina nada, é tido como um guru mas na hora de colocar as mãos na massa não sabe mesmo por onde começar, e como sabemos bem, "Na prática, a teoria é diferente".


As pessoas precisam entender que colocar em prática é tão importante quanto aprender algo teórico, de nada adianta dominar a técnica de nadar se nunca entrou em uma piscina jovem padawan. Aqui eu insisto, se você aprendeu qualquer conteúdo novo, crie um mini projeto para colocar em prática o que aprendeu, mesmo que seja algo mais simples como Orientação a Objetos, um novo padrão de projetos ou até mesmo algo mais complexo como redes neurais ou blockchain.


Simplicidade


Este conceito não é tão simples como parece (entendedores entenderão), um grande mestre é aquele que consegue explicar de forma simples um assunto complexo, pois isso só acontece quando ele entende muito bem de determinado assunto.


Na programação isso vai um pouco além pois reflete no código. Já vi alguns programadores se gabarem de que ninguém consegue entender o código dele, ou então dizer para outro programador “Você é muito burro para entender o meu código”, isso além de ser arrogância é um erro terrível.


Entenda uma coisa, qualquer pessoa consegue escrever um código para o computador entender mas somente grandes mestres da programação conseguem escrever códigos para outras pessoas entenderem.


Poucas empresas se preocupam com o código fonte gerado pelos programadores o que em minha humilde opinião é um grande erro, pois esquecem que as pessoas passam mas a empresa e o código fonte gerado fica e muitas vezes fica por muito tempo.


Daqui 5, 10 anos outra equipe completamente diferente vai precisar olhar para um código antigo e se ele for ilegível a única maneira de corrigir um bug vai ser apagar e refazer tudo de novo e isso não é bom pra ninguém.


Portanto jovem programador, se queres ser um mestre no futuro aprenda a entender o problema e por favor resolva ele de forma simples de maneira que tanto o computador quanto humanos possam entender.

E acredite em mim, se pensou em uma solução que é muito complexa, pense de novo que você pensou errado.


Ensino


É aqui que separamos os homens das crianças, ou os mestres dos falsos profetas. O que caracteriza um mestre com certeza é a capacidade de ensinar ou deixar seu legado através do ensino. Quando alguém diz: “Eu sei como fazer mas não sei explicar”, acredite, essa pessoa esta ainda tentando resolver o problema e não sabe de fato como.


Um grande mestre consegue sintetizar o problema e passar o conhecimento necessário para se resolver o mesmo. Em programação não é preciso ensinar passo a passo para alguém como fazer, nem criar um pseudocódigo para seu pupilo seguir.


O que você precisa fazer é conseguir dar o caminho das pedras, é basicamente conseguir direcionar a pessoa por qual caminho deve seguir, alertar de possíveis pedras e atalhos, e principalmente guiar, deixar ele trilhar o caminho, cair as vezes e ajuda-lo a levantar e entender que cair faz parte e que o importante é a caminhada.


Mas o mais importante no ensino é saber que qualquer pessoa que você está ensinando, pode ser um júnior ou um estagiário que acabou de ingressar em um curso de programação, qualquer pessoa pode sempre te ensinar muito também, mesmo você sendo um Sénior de 15 anos de programação hardcore.


E conseguir perceber isso e estar aberto a ensinar de maneira que possa também a aprender te fará sem duvidas um grande mestre no futuro.

Comentários


bottom of page