As a professional developer we wake up daily,get ready for office,go to work, slog/work for next 9–10 hours on projects, come back home, spend some time on social networks/family and doze off.This cycle repeats daily for months until you really start to think what the hell am I doing with my life.Its not that work in office is boring or you do not get appreciated for it but at the end of the day it is company’s work and company’s projects. It does not make any difference in your life except increasing your bank balance at the end of each month and learning few things once in a while.
If you are currently working in some IT or Telecom company you might have gone through the same thought at some point in your life. When some of your peers might be disrupting the tech industry by their innovative ideas you might be always thinking deep down what is stopping me from making a mark in this industry.Now giving up your job for achieving your dreams might be possible for few but for most of us that is a big risk which might not always work in our favor. So a better option would be to start working on some personal side projects in your free time, gauge there potential and then deciding to take the big leap of faith.In fact many of today’s successful products like Instagram,Trello,Airbnb were started as a side projects
So without further ado here are top reasons to start working on personal side projects along with your current job.
- Career Boost
Starting your own personal project will significantly improve your career profile in the long run. When looking out for your next job or giving next interview mentioning your personal projects conveys a subtle message to your employer that you have genuine interest in your field and you are ready to try out new research and implement new technologies. Even when shortlisting your resume, a github profile with relevant repositories shows your level of expertise and exposure about a particular tech stack to prospective employer.
- Complete freedom
When working on corporate project or for a client you need to adhere to client requirements,implement stuff which is sometimes never going to be noticed or used, yet it needs to be implemented and also you are limited by all kinds of restrictions in technologies and stacks even when they might be outdated or irrelevant. But when working on a personal project you are the developer,project manager,designer and tech architect. You decide on which technologies to use,which features to implement and workflow for creating your project.
- Great way to boost productivity
As a programmer being productive is prerequisite to complete projects on time and be valuable to your company.However not everyone takes there job seriously and gives their best when working in office. This dynamics change completely in personal projects since you are working on your own idea and that brings in a different level of enthusiasm to work.Secondly if you are working on something which is related to your projects in office then you might be a little ahead of the curve and will be able to come up with solutions to problems since you have already worked on them before.This will greatly improve your reputation at work for solving problems.
- No strict deadlines
One of the irritating things about working is strict deadlines which need to be met no matter what.One of the advantages of working on personal projects is you get to decide your own deadlines and shift them if required based on your schedule.This does not mean you start a project and keep on postponing it indefinitely but you get to plan your own goals and objectives.You do need to keep a basic discipline and keep track of projects using different tools which I will cover in later part of this article.
- Learning new things
When you try to work on personal projects you might need to learn a new thing each day for solving problems with code or come with new implementation for same problem which will make you more technically sound.In the world of technology tech stacks change almost every few years and learning new ones each day is the only way to survive.In the frontend world this paradigm is even more intensely followed since applications need to go through major overhaul every few years and sometimes even months.You might start working in fields of which you had no idea about but always wanted to work on like Cloud computing,Analytics,Big Data,Machine Learning or Artificial intelligence.I plan to cover articles on some of this fields so follow/bookmark this publication if you haven’t already.
- Your project might help other developers
A lot of personal projects started with an objective of solving day to day problems and got popular when more and more people started using them.Your next project might get commercialized after a short period of time or at least you can get admiration from developer community for helping them in your own possible way.A lot of people open source there code on github and it gets used by other developers for various purposes.
- It’s your idea
Rather than getting paid for finishing up someone else’s work and achieving someone else’s dreams you eventually start working on your own idea and fulfill your own dreams.That is one thing which makes taking all the extra efforts even after working in the office worth the troubles. It really makes you feel alive and gives you the satisfaction of making difference in this world of technology in your own way
- It might be the next big thing in the industry
A lot of commercial applications and companies started out as personal projects.The Instagram app that we use often to share our life events actually was started as a side project by Kevin Systrom.Systrom had no formal training in computer science, but while working at Nextstop, he learned to code at nights and on weekends, and he built an HTML5 prototype called Burbn. Eventually he found investors for his project and left his job to work on Burbn full time and received investment of $500,000 in seed funding within two weeks.Instagram was launched on Oct. 6, 2010, and on that day, it became the top free photo-sharing app, racking up 25,000 users and eventually became as much popular as it is today.
Now assuming that I might have convinced you start working on something, here are some essential tips to get you started
Essential tips for managing personal project
Whenever you start working on personal project it each generally a good idea to integrate version control system like git right from the first day itself. It allows you to keep track of code changes and roll back the code to stable state in case you break things up significantly.If you would like to contribute back to opensource community you can simply set up a github account and push code changes daily. However if you feel like keeping the code private in hopes of commercializing it one day or feel that it might get popular one day(in 90% cases it wont 😛 ) and don’t want anyone to steal your efforts, then pushing the code to free private repositories on Bitbucket or Gitlab might satisfy your requirements.
Secondly it is imperative to use a task management software to set your daily/weekly goals and tasks so that you take your work seriously.I personally use Trello currently for task management since I like to keep a track on my phone itself. If I stumble upon a new idea or new feature for the project then listing them in Evernote or Google Keep serves the purpose.
If you are working on web applications then Github pages might be a good option to showcase your work to others.If you need some place to keep setup your developer environment then Heroku or Openshift containers might come in handy since they supports almost all major tech stacks and paltforms. If you cloud vms to work on the go then cloud9 or koding might come in handy.
This are just pointers to get started and you might come across better and more convenient tools as you start working.
Knowing where to start and what to work on
You might come across tons of ideas to work on but knowing which one to start working on is itself an exercise but at the end of the day following your intuition and sticking to it always forges the path ahead. Always remember to divide a large project into small parts and devote some time to each one.It is always better to solve a small problem one step at a time rather than wasting time to keep pondering over bigger problems.
If you like this article then kindly mention your views in the comments and like our facebook page to read more interesting articles in the future here: Technoetics