Virtually everyone cringes at their very old projects - the weak structure, performance and overall ugliness. Why not beautify it now that you are some cool badass programmer? A chance to fix your pathetic mistakes in the past - embrace it. You can even recreate the whole project using current tools and frameworks you have learned. Anyway, this would be interesting to do, depending on how motivated you are.
I like this approach a lot. It gives me a different kind of 'high' knowing how well I have been able to define a problem and derived multiple solutions for it. Ask yourself questions like, what other concepts in the language I am learning can be used to solve this? Or how can I solve this in a few lines of code? Etc. After deriving multiple solutions, document how you arrived at each.
When you get stuck on a problem, the default stimulus would be to google for solutions immediately. This approach may be necessary, especially when you have crucial deadlines to meet. But as a programmer looking forward to being extraordinary in your field, it would rather be insidious to take that route as it hardly allows for improvement in your problem-solving skills. The best thing to do is to brood over the problem for a while before seeking solutions. And yes, you may not be able to solve all problems. So seek help after trying multiple times and still arriving at nothing.
This cuts across virtually all fields. Writing and teaching yourself has this superpower of accelerating your comprehension of a topic. Because then you easily identify gaps and fill them immediately by repeatedly going back to the material till it feels settled in your mind.
This is where you reflect over all that you have learned over a certain period. I do this usually on the weekends where I read through my notes on the new things I learned(from tip 4). One exciting thing you can also do, if possible, is to lump everything together into a mini-project. The set of topics or concepts you have learned would have to be closely related for that to work excellently. If not, you can identify portions in your old projects where you could have applied these new concepts and apply the changes immediately.
What do you think about these tips? Let me know in the comments if you have any additions or subtractions.
Level up every day