Uważam, że ważne jest, aby nadal ćwiczyć umiejętności rozwiązywania problemów. Pisanie własnych mini-projektów to jeden sposób, ale innym jest próba rozwiązania problemów opublikowanych online. Łatwo jest znaleźć ciekawe quizy programistyczne online, które wymagają zastosowania sprytnych algorytmów do rozwiązania - Project Euler jest jednym z dobrze znanych przykładów.
Jednak w wielu projektach życiu rzeczywistym projektowania oprogramowania - szczególnie w początkowych fazach - ma duży wpływ i na późniejszych etapach nie może być manipulowane tak łatwo jak zwykły algorytmów. Aby poprawić te umiejętności, szukam dowolnej kolekcji problemów projektowych.
Kiedy mówię „projekt”, mam na myśli abstrakcyjny projekt rozwiązania programowego - na przykład, jakie będą moduły i jakie są zależności między nimi, w jaki sposób dane będą płynąć w programie, jakie dane należy zapisać w baza danych itp. Problemy projektowe to problemy, które należy rozwiązać na wczesnym etapie każdego projektu, ale ich rozwiązaniem jest schemat tablicy bez jednego wiersza kodu.
Oczywiście w tego rodzaju problemach nie ma jednego poprawnego rozwiązania, ale będę szczególnie zadowolony z każdego miejsca, w którym będą wyświetlane zalety i wady typowych rozwiązań, które można zastosować do rozwiązania problemu.