Como você mantém suas habilidades básicas longe da atrofia? [fechadas]

37

A codificação é apenas um aspecto da programação profissional. Meu trabalho exige que eu codifique, mas também exige que eu faça outras coisas por longos períodos - às vezes, passam dias ou semanas em que não estou apenas codificando .

Receio deixar atrapalhar as habilidades de programação conquistadas com dificuldade enquanto estou em reuniões, desenhando diagramas de arquitetura e anotando requisitos. (Sem mencionar que não confio nas pessoas para escrever requisitos que não entendem o código.)

Não posso simplesmente ler livros e revistas sobre codificação. Estou envolvido em alguns projetos de código aberto no meu tempo livre, e o stackoverflow e os amigos ajudam um pouco, porque tenho a oportunidade de ajudar as pessoas a resolverem seus problemas de programação sem microgerenciar, mas nenhum deles é muito estruturado, por isso é tentador trabalhar primeiro sobre os problemas que posso resolver facilmente.

Acho que o que eu gostaria de encontrar é um conjunto estruturado de exercícios (não importa qual idioma ou ambiente) isso…

  • ... eu posso fazer periodicamente
  • ... tem algum tipo de requisito de tempo para que eu possa dizer se estou brincando
  • ... tem algum tipo de pontuação para que eu possa saber se estou cometendo erros

Existe uma coisa dessas? O que você faria para manter suas habilidades atualizadas?

kojiro
fonte
6
Nesta pilhaExchange, esse tipo de pergunta é realmente útil. Por que fechá-lo?
Edeph
@Edeph Perguntas como essa parecem úteis no começo, mas a experiência provou que elas têm pouco valor para a comunidade. Leia: Por que minha pergunta foi encerrada como off topic?
3
@Snowman cuja experiência? 25 upvotes é um emblema "Boa pergunta". Esta pergunta também foi respondida por um funcionário da StackExchange e um membro da comunidade altamente classificado. Portanto, a própria comunidade declarou claramente que é uma pergunta valiosa. Período. Fora do assunto? Continua a ser visto, mas valioso? Sim.
Kojiro
11
@kojiro a questão permanece muito ampla e principalmente opinião. Como mostrado pelas respostas que você tem, não há resposta certa. Seu povo sugere maneiras diferentes que funcionaram para eles. No fundo, a questão é uma enquete. se fosse para ser reaberto, outras respostas que você obteria seriam tão variadas sem realmente obter uma resposta certa que seja distinguível como correta das outras.
11
Então você está dizendo que a comunidade é bastante motivada por um pacote de mods (que são humanos e são propensos ao subjetivismo) em vez de as pessoas votarem em algo porque isso é útil para eles, mesmo que não tenha uma resposta correta por definição? Nem tudo é preto e branco neste campo, você sabe?
Edeph

Respostas:

26

Os katas de código vêm à mente imediatamente.

A idéia é que estes são exercícios repetíveis que você pode praticar até conhecê-los frios e repeti-los periodicamente para manter suas costeletas em dia. Alguns são focados em programação, outros são mais abertos e focados em pensamento e design. Eles podem ser feitos em qualquer idioma ou ambiente e algumas pessoas também os usam para experimentar ou aprender novas abordagens (por exemplo, desenvolvimento orientado a testes).

O site ao qual vinculei acima tem muitas idéias para o katas. Outro bastante famoso é o jogo de boliche do tio Bob Martin.

Adam Lear
fonte
11
Impressionante. Exercícios de Qigong para programadores. Eu amo isso!
Kojiro #
Nunca ouvi falar disso. Eles parecem fantásticos. :)
Meu tempo de codificação pessoal é sempre altamente interrompido (3 crianças em casa). A página vinculada declara: "Você precisa de tempo sem interrupções". Isso é realmente uma necessidade, ou ainda poderei aprender de maneira bastante eficaz se for interrompido com frequência?
Ethel Evans
2
@ Ethel Eu não sei por experiência pessoal, mas acho que você ainda pode continuar. Ser bom na mudança de contexto ajudaria. À medida que você pratica e se familiariza com os exercícios, imagino que gerenciar interrupções se tornaria mais fácil.
Adam Lear
Agora que já fiz alguns dos códigos de kata, posso comentar mais. Eu tenho alguma experiência com artes marciais, então acho que a idéia de katas é realmente boa, mas (pelo menos no início) propostas por Dave Thomas são mais como levantar pesos do que um kata tradicional de artes marciais. Eles são um trabalho árduo, mas nem repetitivos nem meditativos o suficiente para ser o mesmo tipo de exercício que um verdadeiro kata. Dito isto, acho que você pode basear alguns bons katas nas propostas dele.
kojiro
10

E o Projeto Euler ?

uma série de problemas desafiadores de programação matemática / de computador que exigirão mais do que apenas insights matemáticos para resolver. Embora a matemática o ajude a chegar a métodos elegantes e eficientes, será necessário o uso de um computador e habilidades de programação para resolver a maioria dos problemas.

A motivação para iniciar o Projeto Euler, e sua continuação, é fornecer uma plataforma para a mente investigadora se aprofundar em áreas desconhecidas e aprender novos conceitos em um contexto divertido e recreativo ...

O público-alvo inclui estudantes para os quais o currículo básico não está alimentando sua fome de aprender, adultos cuja formação não era primariamente matemática, mas tinham interesse em coisas matemáticas, e profissionais que desejam manter sua resolução de problemas e matemática no limite ...

Martin Beckett
fonte
10
Na minha opinião, isso é mais matemática do que programação.
Bom ponto - eu não tinha visto o código katas na resposta de Anna.
Martin Beckett