Como eu crio um Treinamento

Eu levo mais ou menos um ano para criar um Treinamento. Por isso, não posso criar mais, isso só era possível quando Treinamentos era meu único trabalho.
Eu já dei dicas a respeito para vários colegas que quiseram fazer o mesmo, e como eu estava falando com um deles esses a respeito, procurei reunir todas aqui para facilitar para outros que queriam a mesma coisa.

  • O primeiro passo (o mais fácil) é escolher o tema, e ter uma ideia de sua abrangência. Na dúvida, coloco tópicos a mais, não a menos;
  • Junto estes tópicos que quero abordar no Treinamento, e coloco eles em um arquivo texto mesmo. Isto pode levar um bom tempo, e pode ser “sem compromisso”. Eu tive ideias de uns 10 Treinamentos em que fui anotando tópicos com o tempo, mas nunca fui além disso;
  • Coloco estes tópicos em formato de apresentação (de qualquer jeito, não é a hora de se preocupar com formatação);
  • Agora começa a ficar difícil. Desenvolvo cada tópico, com a teoria (uns 10%-20% do Material, não acho que adiante ficar falando mais que alguns minutos seguidos) e a prática (uns 80-90% do Material).
  • Com os tópicos desenvolvidos, é hora de coloca-los em uma ordem lógica. Por exemplo, explicar Access Paths e Joins Methods antes de Execution Plans, e Profiles e Baselines só depois;
  • Agora que vem a maior parte do trabalho (uns bons 6 meses), os testes. O Material é todo testado (e sempre muito modificado), e de várias formas. Eu faço testes individuais de exercícios (esses são fáceis, e é legal, é onde aprendo mais), testes de desempenho (nas VMs onde faço os primeiros testes funciona no tempo esperado, mas e nas máquinas reais?), testes sequenciais (pois se eu mudo algo no exercício X, pode facilmente interferir nos próximos ou mesmo em todos), testes de conjunto (os exercícios funcionam se feitos em apenas uma máquina, com a turma cheia uma máquina pode interferir na outra), e finalmente o teste de tempo (se o Treinamento vai levar mais ou menos no tempo esperado). E, mesmo assim, coisas não saem como esperado, o que realmente tem que acontecer (até certo ponto);
  • Nesta ordem lógica, considero o ritmo e a narrativa. Sobre a narrativa, um Treinamento para mim é uma história, e quero “contar” ela com começo, meio e fim. Sobre o ritmo, os assuntos mais densos (como Estatísticas) devem ser deixados para de manhã, os mais maçantes (ficar acompanhando um teste que leva meia hora) para logo depois do almoço, e os que te fazem pensar depois (como vamos migrar de non-CDB para CDB?), para o final do dia;
  • Provavelmente neste ponto tenho que escolher o que tirar (pois sempre faço Material a mais, nunca a menos). Aí vão itens que não considero mais tão importantes, tópicos que não se encaixam bem na narrativa, exercícios muito complexos para algo que não é muito utilizado no mundo real, etc.
  • Finalmente, uma parte que não gosto, que é arrumar fontes, figuras e etc.

Depois do Material pronto:

  • Sempre vou mudando coisas que achei que não funcionam bem na aula. Há correções técnicas, e correções de ritmo e de narrativa. Acho que nunca tive um Treinamento que considerei que estava como eu queria antes da 5o ou 6o Turma. Alguns acho que só ficaram bons depois da 15o turma;
  • Tenho um arquivo texto para cada Treinamento, onde vou colocando ideias novas (por exemplo, vi algo no Twitter, em algum Blog, uma Palestra, etc.) que podem se tornar novos tópicos, seja uma mera linha de explicação, ou um exercício completo;
  • A cada Versão do Oracle, PatchSet ou mesmo Patch / CPU / RU, aplicar e testar novamente todos os exercícios (pelo menos o teste sequencial).

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.