Sobre ensinar

Elias Medeiros
CWI Software
Published in
3 min readJul 8, 2019

Recentemente, passei por uma experiência que expandiu minha mente como há tempos não acontecia: dar um treinamento. O tema era desenvolvimento nativo iOS, minha atual realidade profissional.

O fato de ensinar sobre minha ferramenta de trabalho, na qual já passei por vários níveis de compreensão e produtividade, gera uma dualidade: de um lado, a benesse de ter muito conteúdo e conhecimento para expor; de outro, a necessidade de compartilhar esse conhecimento prático de modo didático.

Aqui, o desafio é atacar um problema de maneira incremental, explicativa, quando já estamos acostumados a pegar certos atalhos — aquele aprendizado que adquirimos ao longo do tempo, que nos permite começar criando componentes ou estruturando nosso código de maneira que só teremos algo palpável, executável, mais adiante.

Tentar ensinar este tipo de abordagem, que nós mesmos levamos horas de WTF's e debug's para sintetizar, é uma receita certa para incompreensão.

O que nós fizemos — o Juliano, que era o outro instrutor, e eu — foi buscar inspiração em mestres mais experientes. Nossas primeiras aulas foram baseadas em um curso disponível online, onde era iniciada a construção de um app de Jogo da Memória, exibindo alguns conceitos básicos, como arquitetura MVC e interações de usuário com itens na tela do iPhone. Não, não vai ter link.

um dos exercícios era embaralhar as cartas…

Esta referência nos ajudou muito a encontrar pontos de atenção que talvez nos passassem despercebidos, como alguns erros comuns de quem está começando e a necessidade de construir gradualmente a compreensão de cada etapa da implementação, por mais básica que seja. Inclusive, esta percepção de basicidade contribuiria para que nós, enquanto desenvolvedores profissionais e professores de finais de semana, corrêssemos o risco de desprezar alguns desafios de quem estava aprendendo.

Então, conforme fomos avançando no curso, deixamos de lado esse apoio inicial e estabelecemos nosso próprio ritmo. Que, na verdade, foi muito guiado pela própria turma. E devo dizer: foi sensacional ver os saltos de compreensão e habilidades práticas. Nas últimas aulas, observávamos os alunos desempenhando com facilidade aquelas mesmas tarefas que eram caóticas e assustadoras no primeiro dia.

Falando em ritmo, vale lembrar que cada um tem sua própria velocidade e, por isso, montar uma turma não muito grande se torna fundamental. A ideia é ninguém ficar para trás e para isso contamos com a ajuda do Hedo e do Marcelo Gobetti como monitores, além do instrutor reserva ficar na monitoria também.

Além de ser gratificante dar a aula, acompanhar e participar do aprendizado do pessoal, é uma oportunidade de aprender bastante nas outras aulas — foi o que me aconteceu. Também é uma chance de nos reconciliarmos com algumas práticas que deixamos de lado no dia a dia, experimentar alguns padrões diferentes, além de matar a saudade daqueles apps pequenos que compilam tão rápido 😅

Depois de toda essa conversa, eu seria capaz de condensar vários pontos positivos em uma única sugestão: se, em algum momento, você tiver alguma oportunidade de atuar como instrutor, ou mesmo de monitor, em um treinamento, abrace. Mais do que isso:

sugiro um tackle dos bons

Pra fechar falando em experiências gratificantes: eu dei uma aula sobre requests de API's, para a qual eu, inclusive, precisei estudar bastante, pois explicaria uma abordagem diferente da que uso cotidianamente. Vimos diversas características que tornam Swift a linguagem maravilhosa que ela é. Depois dessa aula, ouvi do meu colega Marvin:

Meu, Swift é minha nova linguagem preferida.

Foi bom demais.

--

--

Elias Medeiros
CWI Software

Enfileirar palavras é meu ofício; algumas vezes em português, outras em Swift ou Kotlin :)