Whether you have been developing software for 20 years or for 2 months, having a side project is a vital part of your career as a software developer. I once worked as a web developer at a digital marketing agency where deadlines were tight and expectations to deliver were high. Most developers can relate to this. Moreover, you would agree with me that most software houses rarely give their developers any leeway to learn on the job and even when they do, it is only usually for a limited time after which the developer is expected to hit the ground running as soon as possible. This is totally understandable because those software houses are running a business and when one developer is not contributing their full quota to the team the business may be losing money.
Continuous development and learning is critical to a developer’s relevance in the software industry and career progression. But what do you do as a developer if your day job doesn’t allow any on-the-job training or learning for those things you really want to learn? You may need a side project!. In this post I will attempt to justify why I believe every developer needs a side project irrespective of the years of experience.
Reasons to have a side project
1. You get the chance to learn new ways of doing things or how to do things you already know better without pressure
2. A side project can help you pick a new programming language or new technology. This may actually help you stay relevant in our kind of industry
3. It is more practice – the more you code the better programmer you become – SIMPLE!.
4. It is also another way of sharpening your saw.
5. You get to become a product owner and manager and not just a developer. These positions will often help you see developing software from a different perspective and causes you to think differently. It will bring questions like “how much time do I need to finish this project?”, “do i need this feature or not?”. Without realizing it you are already venturing into the world of project management.
6. Side projects offer a learning experience where mistakes don’t really matter and I think that’s really valuable.
7. You get the opportunity to build something that you are genuinely passionate about. I love doing what I do at the office, but there are some things that my heart just isn’t entirely in. And I think that’s a common experience with everyone at some point or another.
8. You side project could evolve into an actual business. Quite a number of apps currently being used by people all over the world actually started as side projects.
Bear in mind that there are two kinds of side project. One where you want to learn and the other where you want to ship. If you want to ship please don’t go picking a new language or shiny framework but stick to the one you are good at. Both types of side projects are good but have different results. There is also a high chance that you will still learn a lot from shipping a side project.
When working on a side project, it is easy to fall into the snare of massive scopes, difficult features and large projects. Avoid this at all cost as it leads to procrastination and eventually abandoning the project. Instead work on small scoped features and ensure you release something every time you work on your side project. If you release your work in small chunks you are likely to be motivated to carry on.
If this post motivates you to start a side project, start with something small. Set sometime out EVERY DAY to work on you side project. Even with as little as 7 hours a week, you can get a lot done over a period of time. By setting time out to work on your side project, you will be forced to focus on the main features of the project.
Finally, when you set yourself a routine, stick to it or it will do you no good. Trust me there is no pointing setting a routine for yourself if you don’t intend to follow it. Avoid setting any routine that will be too time consuming. Find a realistic routine you know you can follow and stick to it. If you are consistent, you should start to see results of your labor in a few weeks and will feel like something is missing if you miss a session.
Personally, I work on my side projects from 6:00pm to 7:30pm everyday when I get back from my day job and I spend most of my weekends also working on my side projects. That being said, I am not advocating spending your entire life coding. I also encourage you take time out to chill, play some games or spend time with your loved ones. Balance is important in all we do.
In conclusion, perseverance is what will make your side project successful. People start side projects every day but never complete it because they lacked the most important ingredient to make a side project succeed – PERSEVERANCE!. No form of success is achieved overnight you must stay persistent.
Do you have any tips for working on side projects? Please share we would like to hear them.