Hidden Code é um método interno que aplicamos dentro de nossa cultura de desenvolvimento na dti como foco no crescimento do nosso time, descoberta de novos desafios e aprendizados. Caso veio aqui procurando algum tipo de “código secreto” de alguma linguagem, talvez esse artigo esteja mais de acordo com seu objetivo.
Nesse artigo, vamos falar sobre como vivenciamos a nossa cultura de inovação dando o exemplo dessa dinâmica interna. Mas antes precisamos falar explicarmos melhor um de nossos ritos que impactou diretamente nessa dinâmica, o Learning Loop.
Sumário
O que é um Learning Loop?
Learning Loop, é um dos ritos mais comuns dentro da dti, o principal objetivo dele é tornar o aprendizado mais fluido e prático. Para realizar esse rito, não é necessário um tema específico, pode ser aplicado para diversos contextos.
Hidden Code: contexto
Em um de nossos ritos, fizemos um levantamento de conhecimentos técnicos entre os desenvolvedores da nossa tribo e percebemos um certo déficit em uma linguagem específica – vamos chamá-la de linguagem X.
Nossa primeira tentativa para resolver isso foi um Learning Loop para a tal linguagem X. A fim de incrementarmos esse Learning loop, usamos o “Padrões de Projeto – Soluções Reutilizáveis de Software Orientado a Objetos”, um clássico que deveria ser lido por todo desenvolvedor em algum momento da vida.
Bom, então começamos o Learning loop. A cada semana, todos liam dois capítulos do livro, basicamente dois Design Patterns, e duas outras pessoas ficavam responsáveis por implementar o padrão na tal linguagem X e apresentar aos demais.
Começamos bem: nas três primeiras semanas correu tudo como esperado. Contudo, na quarta a participação já reduziu bastante e na quinta o pique já tinha acabado. Por coincidência, logo após esse quinto encontro, em uma conversa com algumas pessoas da empresa, estávamos falando sobre a importância da revisão de código como ambiente de integração entre desenvolvedores e como canal de onboarding para novas pessoas no time.
Então, pensei: beleza, vamos juntar essas duas coisas… E formatamos a dinâmica Hidden Code, que é uma espécie de “Amigo Oculto” para devs. Ela mescla alguns elementos de Learning Loop com outros de Coding Dojo. Vou te explicar como funciona!
A dinâmica Hidden Code
Papeis
No “game”, existem três papeis:
- Curador: é a pessoa responsável por distribuir os códigos entre os atores. É interessante que seja alguém com um pouco mais de experiência no assunto abordado no Hidden Code;
- Atores: participantes que escrevem e revisam os códigos na semana. Para o nosso caso, quatro foi um bom número de pessoas nesse papel;
- Plateia: integrantes que não escrevem e nem revisam códigos, mas participam do encontro do Hidden Code e estudam o tema.
Momentos
A dinâmica acontece em três momentos:
- Inicialmente, é definido um tema para o próximo encontro. No nosso caso, o Pattern a ser utilizado. Cada Ator tem um prazo – no nosso caso, até quarta-feira – para implementar o código e enviar apenas para o Curador.
- O Curador, então, avalia os códigos e distribui entre os Atores, sem que eles saibam de quem são os códigos que estão recebendo. Nesse momento, é interessante que um Ator receba códigos com abordagens diferentes das que ele usou e, eventualmente, de pessoas com as quais ele tem pouco contato. Para o nosso grupo, fazemos isso na quinta-feira.
- Na sexta-feira, finalmente, acontece o encontro e o iniciamos discutindo sobre o Pattern escolhido. Cada Ator apresenta o código que recebeu, fazendo comentários sobre a abordagem feita pela outra pessoa e sobre o uso da linguagem. Lembrando: nosso Hidden Code é sobre a linguagem X, mas também estudamos Design Patterns.
Dicas
Uma brincadeira que fazemos durante esse momento é a seguinte: enquanto os Atores apresentam os códigos, todos os participantes enviam para o Curador o nome da pessoa que eles acreditam ser aquela que fez o código. Ao final das apresentações, levantamos os chutes e avaliamos quem acertou mais códigos naquele encontro.
Outra ideia que pode cair bem para grupos maiores é de usar esse ranking de acertos para definir os Atores para o próximo encontro.
Sobrevive quem melhor se adapta
Bom, após fazermos essas mudanças, nosso grupo de estudo tem uma participação bem mais ativa e encontros mais divertidos.
Charles Darwin já dizia: sobrevive quem melhor se adapta. Então, fique sempre atento à efetividade das suas dinâmicas de aprendizado e integração, e adapte se for preciso.
Desenvolvimento de Software
Confira outros artigos
Testes end-to-end: sucesso na implementação da automação
Hoje, como você garante a entrega de valor, a confiabilidade e a eficiência do seu projeto? Com o intuito de responder a essa questão crucial, uma das melhores respostas é a automação de testes end-to-end. Muitas pessoas, principalmente nossos clientes, tendem a imaginar que automação de testes é apenas mais um tipo de teste de […]
Desenvolvimento de Software
Mecanismos de Acompanhamento no Desenvolvimento de Software
O uso de mecanismos de acompanhamento é imprescindível no mundo do desenvolvimento de software e pode potencializar a eficiência digital. O acompanhamento efetivo das operações é fundamental para garantir a entrega de soluções digitais de sucesso. Na nossa empresa, utilizamos uma metodologia única, o dti evolve, que incorpora inteligência artificial (IA) para acelerar nosso processo de […]
Desenvolvimento de Software
Eficiência digital com copilot: um caso de uso do GitHub
Em um mundo em constante evolução tecnológica, otimizar o tempo e potencializar a eficiência digital se torna cada vez mais crucial. Portanto, vamos apresentar alguns experimentos que estão sendo implementados com o Git Hub Copilot em busca de maior eficiência digital. Certamente quem nos acompanha sabe que estamos experimentando e introduzindo as melhores ferramentas de […]
Desenvolvimento de Software