As a developer, I was hurry to implement what I had learnt by creating some side projects a few years ago. However, Those side projects became a burden and they even made me frustrated with writing code for self-learning. The reason is simple, the scope of those projects were too big to me and I gradually lost my confidence and finally gave up.
Last year, I changed my strategy in terms of coding for self-learning. I began to learn some specific tools/concepts and try to create small but deliverable prototypes rather than try to achieve some general and popular ideas (e.g. CRM, CMS and E-commerce etc). I spent a few weeks on understanding what are the best use cases for using Message Queue, what are most popular Message Queue service providers and how to implement Background worker by using Symfony. Then, I spent another few weeks on reading the source code from Laravel Queue and completing a prototype. As an extra challenge, I also learnt how to provision servers with Ansible and build a automatic CI/CD pipeline with Circle CI and Ansistrano. It was a great fun and I gained the happiness of self-learning again!
This year, I am happy to launch my personal website (by using Symfony 4 with EasyAdmin bundle, check my github). It is not only a website that I want to show my profile to the public but more importantly, it is a place that I can keep playing with new technologies and ideas.