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 our peers if we want to stay in loop and don’t get left behind. 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.
We all have family/personal stuff to do and usually don’t have enough time to read about everything we face everyday, and we shouldn’t since it is proven to reduce productivity in the long run. So the question is what are we supposed to do to achieve this?
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) and keep our hands dirty.
Side projects are a great way to grow as a developer, both personally and professionally. They let 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?
Start with something small but keep doing it
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.
No deadlines or pressure
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 doing 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 week 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.
Track your progress and praise yourself
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 making some wooden crafts).
Shift the project time to time
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 stuff, 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.
Talk about your pet project somewhere
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 cannot prevent it (since you’ve played with it enough previously).
Hope this helps you keep up to date and if you find something that can be added to this please leave comments here.