For us (developers) the most irritating and cumbersome process is to keep ourselves up to date, since every 2 second a new language/tool/technology is born out of nowhere. We know that we have to keep up with them if we want to stay in the loop and don't feel outdated during conversations.
This is awfully worst for consultants since they will spend some time on different engagements and they have to know a bit of everything they will face and also more if they want to lead the client in that area.
Most people, however, have family/personal stuff to do and usually don't have enough time to read about everything they face everyday, and they shouldn't since it is proven to reduce productivity in the long run. So the question is what are we supposed to do?
The answer to this is to make a habit for ourselves to spend some short but fixed time everyday on a side project (usually known as pet project) to keep our hands dirty and learn by example.
Pet projects are a great way for developers to learn and grow, both personally and professionally. They let you get out of your comfort zone, learn new skills, and exercise your creative muscles. But it can be hard to get anything done while juggling a day job, kids, friends, family, and countless other commitments.
In the past, I’ve tried to cram side project work into the cracks between other items in my calendar. It was frustrating at best; completely ineffective at worst. I constantly felt like I was shortchanging the projects I was most passionate about. So what next?
It is definitely hard to start a project, harder to get back to it after some time and re-start it when you've been working on something completely different.
So working on it a bit everyday keeps you on track while not bored or tired. If you keep doing it everyday it will be very easy to pick it where you left off since it is still in your mind.
Don't put deadlines or pressure on yourself for a side project. It is not a client engagement and you don't want to loose your excitement about it really soon. Keep focusing on one or two task a week and finish it in a relaxed atmosphere.
Take your time, have a juice (not coffee 😁) or fresh fruit handy and let the feeling of small holiday overcome the daily agile mindset. Close the Facebook, stop scrolling your Twitter feed and focus on what you promised yourself to do everyday.
Once the habit is formed, the pressure is off and you start feeling joy about doing something you feel passionate about. If you feel weak about forming a habit read something like this. These point are not from me, but from proven scientific articles and resources I've red in the past.
Keep track of what is achieved and what is to be done. This way you will have a sense of how you're doing in terms of your milestones.
Don't put extra effort if you feel you're behind, but focus on maintaining your daily habit. This will automatically fix the issue by keeping your energy focused on the project and creating that great feeling of the fact that you're spending sometime for yourself doing what you love.
I myself had the issue of working on a client for a long time and not learning any new stuff, but after I got the habit, I felt great learning new stuff and having that man cave feeling. Furthermore, I started to eat fruits instead of dinner and that helped me a lot by fixing my insomnia issue.
I got used to go to Bunnings and buy something for my other pet project (I love woodworking).
Don't work on something for too long. as we see new languages and technologies introduced everyday, we should shift our pet project to use different languages/technologies accordingly.
I love front end specifically, however try to keep track of security (web and other areas), azure, IoT, Hololens, and etc. to keep my excite level up.
My approach to this is to complete a project I start working on and then create a new one using the new tech I want to get familiar with.
If I want to learn a new language in the save space, I will rewrite my last one with the language, which helps me face different challenges to implement something in different languages.
This one doesn't have to do anything with your pet project, but helps you find the weakness points and new challenges since it is exposed to people who love asking questions and learn new things.
Even if it is an internal brown bag session, or presentation, or you are talking on an external event like meetups or conferences that project helps you gather the contents easily and demo something which even demo gods can't prevent (since you've played with it enough previously).
Have something to play with for learning new things. It will help you massively and brings your confidence up if you're just started (I hate to say Juniors).
Hope this helps you keep yourself updated and if you find something that can be added to this please keep your comments coming 🙏🏼.