Estou muito empolgado com a ideia de participar do Rails Rumble. Desde que vi o tweet de que iria ter esta competição pensei: este ano não posso perder! E hoje estou aqui a organizar minhas ideias para o projeto.
A inspiração
O Code School sem sombra de dúvidas é minha maior inspiração. A gamificação dos povos e a modalidade de desafios oferecidas pelo codeschool realmente são minha [maior motivação].
Este site oferece um sistema de cursos de programação muito mais objetivo e intuitivo. Através de vídeos e exemplos na prática você precisa codificar cada etapa do seu aprendizado para testar seus conhecimentos.
O sistema funciona como um jogo, cada etapa cumprida você ganha uma “bagagem” de experiência e acumula pontos. A qualidade audio visual, assim como os desafios de programação são demais. Realmente tenho me divertido noite a dentro e nos horários de folga codificando os pequenos desafios.
A ideia
Após fazer várias aulas no codeschool, descobri que minha meta é criar uma métrica para mensurar a habilidade do programador em frente ao problema real.
Percebi que a cada lição você ganha uma quantidade de pontos e cada vez que usa os hints seu crédito é debitado, então isso quer dizer que quando o jogo termina e você já está bastante habilidoso, não perde nenhum crédito.
O objetivo inicial vai ser criar o sistema de forma que mensuremos:
- tempo de leitura da questão
- tempo de resposta para iniciar edição
- tempo de resposta para acertar a questão
- número de tentativas com erro antes de passar os testes
Em um segundo momento, utilizando aí um mapeamento javascript mais profundo a ideia também é mensurar os fatores:
- Experiência com atalhos do teclado
- Número de movimentos com teclado
- Número de atalhos com teclado
- Número de atalhos inexistentes
Em um terceiro momento a ideia dá pra expandir para os aspectos de:
- Manutenibilidade / Refatoração
- Escalabilidade
- Experiência com o usuário
A necessidade
A necessidade está ligada a contratação de desenvolvedores. De alguma forma quero criar um produto inovador na área de testar os conhecimentos e habilidades do desenvolvedor e permitir encaixá-lo em uma modalidade. O super-ego das pessoas desafia a melhoria e isto é bom. Competir faz bem. Ter um desafio faz bem.
A competição
A competição faz com que as pessoas melhorem suas práticas e ao mesmo tempo sintam-se desafiadas a investirem nas suas habilidades plenas e em time para poderem competir melhor.
Este evento é um exemplo de como existem pessoas que estão dispostas a passar as 48 horas do fim de semana em um desafio de programação por pura paixão.
A comunidade Rails é a mais apaixonada por código lindo e open source que eu conheço.
As 48 horas estão próximas
Não se esqueçam dia 13 e 14 deste mês estão aí! Há vagas na equipe! Junte-se a mim para desenvolver esta ideia!