Lately I've been seeing quite a bit on the importance of spaced repetition in retention of skills. My job is to level up a group of C# developers and I'm trying to figure out how to apply the idea of spaced repetition to what they do.
I've got some ideas--in no particular order:
1.) Periodic reinforcement via syntax flashcards
2.) Weekly/monthly coding contests of some sort (possibly vary this with minimum information puzzles as well since problem solving is such an essential skill in software development).
3.) Using Exercism.io and other such online academies to reinforce as well.
I would love to hear the thoughts of other educators on this subject. I'm specifically looking for these answers: does one or any of those strategies seem better than others in terms of teaching software development? Are there articles on the application of spaced repetition to teaching software development?
I'm sorry--I know this is a fairly broad question so if others can suggest ways for me to narrow the question please do. I just can't think of another way to ask this.