Je pense qu'il est important de continuer à pratiquer mes compétences en résolution de problèmes. Écrire mes propres mini-projets est une façon, mais une autre consiste à essayer de résoudre les problèmes affichés en ligne. Il est facile de trouver des quiz de programmation intéressants en ligne qui nécessitent d'appliquer des algorithmes intelligents pour résoudre - Project Euler est un exemple bien connu.
Cependant, dans de nombreux projets réels, la conception du logiciel - en particulier dans les phases initiales - a un impact important et à des stades ultérieurs, il ne peut pas être modifié aussi facilement que des algorithmes simples. Afin d'améliorer ces compétences, je recherche toute collection de problèmes de conception.
Quand je dis «conception», je veux dire la conception abstraite d'une solution logicielle - par exemple, quels modules y aura-t-il et quelles sont les dépendances entre eux, comment les données circuleront dans le programme, quel type de données doit être enregistré dans le base de données, etc. Les problèmes de conception sont ceux qui sont essentiels à résoudre dans les premières étapes de tout projet, mais leur solution est un diagramme de tableau blanc sans une seule ligne de code.
Bien sûr, ce genre de problèmes n'a pas de solution correcte unique, mais je serai particulièrement satisfait de tout endroit qui affiche également les avantages et les inconvénients des solutions typiques qui pourraient être utilisées pour aborder le problème.