In my opinion every developer should have at least one side project. They are by far the most useful and constructive learning and development tool out there.
Your side project doesn't have to be an enormous global success, but it can guarantee career success!
What is a Side Project ?
A side project is something you do aside from your main job. They are projects you create for yourself to pursuit in order to learn something new or completely outside of your day to day activities or even comfort zone.
Side projects are often regarded as a means for developers to scratch an entrepreneurial itch, or just done by people who seek to create new or alternative ways to make money or a living. Of course, that might be the target of a side project, but you donâ€™t need to think about working on a side project only in terms of starting another company.
Having a personal side project, apart from your usual work, has many other benefits:
- Fun - Side projects allow you to invest your time doing something you enjoy.
- Facilitate learning and personal development. Side projects allow you to experience and learn new things. They help you learn new techniques or, through deliberate practice, build and improve your current skills.
- Encourage creativity. Side projects enable you to work without constraints. There are no deadlines or specifications imposed by anyone except you. You decide your schedule, your pace of work, your priorities.
- Huge source of training and self-development. You can read many books on any particular subject, but there is nothing like taking action to gain self-confidence and grow.
- Benefit your career. You will have more chances of getting a job if you can show a variety personal projects that are real, interesting, and meaningful, rather than a simple CV or rÃ©sume.
How to Build a Product That Sells Itself
how to cut your acquisition costs and scale further...by making your product the tool that helps you acquire, convert, and retain customers.
How I use side projects
In reflection I have used side projects for most of my working life to learn new things. Even my blog and this newsletter are side projects really! I am using them to learn more about Digital Marketing, which is a field that is only really partly connected with what I actually do for a living. It is also play a vital role in the success of any business. Yet all to often, I come across developers who know very little about it, I include myself in this category of developer.
When I originally started my blog, it was a side project and something I was only going to use to learn about WordPress, SEO, Front-end development and aspects about Content Management.
In my post Why I blog and why you should too, I discussed some of the aspects that drove me to explore blogging in general. I have learned so much and continue to learn more just from the simple act of blogging. Over the years I have gained and continue to gain a whole multitude of new skills that have come in really useful!
For instance, I know a whole lot more about SEO and WordPress. Which has actually helped me in gaining new customers because people no longer see me as just a software developer, they now recognise additional value I can provide and am able to their businesses.
WordPress, is a technology I would often hear about but never get the opportunity to play with in my average software development jobs. I have always been a primarily back-end focused .net developer. So PHP and even Linux based hosting was never something I came across much.
So when I initially had the idea, of starting my blog, naturally I thought I would use one of the many .net based solutions that were available. However, I remember thinking at the time maybe it would be fun to learn something different.
The initial challenge was enormous because I soon found out that there was so much I didn't know. However, after a few months and continual learning I was soon able to start getting to grips with WordPress and in 2012 I wrote one of my first blog posts, Add custom fields to MVC4 simple membership , on the very first incarnation of this blog.
I read that article now, and cringe with embarrassment, but I also realize how far I have come! I notice the difference in my writing style. My grammar overall has improved considerably, along with my understanding of how to write for a web based audience. I know I am not perfect, and yes to professionals trained in this arena and who work in it everyday I probably still make massive mistakes. However, I am totally OK with that, because I can look back and see for myself just how much I have changed and improved.
One of the biggest benefits I have experienced in writing blogs posts about code, is that my code has significantly improved over all. It's only when you take a step back from your code and have to take time and effort to explain the code to someone else, particularly if you are going to write a blog post about it, that you really try to ensure your code is self explanatory, to ensure anyone who reads it can understand it. Particularly if you are going to host the code on Github for everyone to see.
in order to teach you must first learnJohn Sonmez - Soft Skills
The software developer's life manual
A guide to a well-rounded, satisfying life as a technology professional.
The path to continual learning and improvement
When I first started on my path to blogging I really didn't know what I was doing and I made so many mistakes, so much so that I actually had to delete my WordPress website several times and start over. However, each time I was learning something new, and more importantly I learned what not to do.
I wasn't focused on making my blog a success, I just focused on learning what makes things a success. Each failure, was a lesson and an opportunity to explore something I had never encountered or considered before, from that I could grab success from the jaws of failure.
Over the years I have become really familiar with WordPress and now count it was one of my skills. I even developed a WordPress Plugin that helped combat Referrer spam plague in 2015. I implemented something that I had learned and it helped a lot of people at the time. Sure the plugin didn't generate a massive amount of revenue, but I had the opportunity to scratch an itch.
It was actually because of my plugin I was able to land a particularly lucrative contract with large company, with virtually no interview process! I literally got a call out of the blue and at the very first meeting we were discussing start dates! The company were satisfied that I knew enough of exactly what they needed and had already proven so. Sure it wasn't perfect, but they could see for themselves just how much 1 guy on his own could do in his spare time tinkering, they were convinced that working part of team collaborating on much larger project and taking in other input and knowledge things could propel even quicker.
Lately, my focus has been on Digital Marketing and exploring all aspects related to it. One of the primary reasons why, is that I have learned over several failed attempts at launching new Software Products, that key ingredient to their success literally has nothing to do with how well they are a coded or even if they solve a particular problem, the key to success is the marketing and making people aware of your product!
I have previously discussed, Why is it so hard to make money from software, and it is something I have increasingly grown to appreciate. The more side projects you undertake, the more you'll realize that developing a successful software product takes more than just writing code!
So in fine tradition, I have decided to launch another side project, in the hope of learning and cracking the secrets to effective Digital Marketing well at the same time come up with a solution to help software developers and companies to better connect, in order to solve the problems software developers and companies face with recruitment.
I have long had an issue with the software developer recruitment process and I for one really hate the Technical Interviews, which I have also discussed in, How not to do technical interviews .
My latest side project
I have recently embarked on the creation of another side project, which may be a potential solution to the software developer recruitment problem, but it requires the development of a Website, Web & Mobile application and a whole raft of tools. Its a massive project, but it is fun.
The project, is what I have called Geek.I.Am - Software Developers Community, and its aim is to potentially revolutionise the way recruitment is currently handled in the software development sector.
Currently, I am currently the only the person on the project and doing everything and it is a huge undertaking and a lot to learn. However, it is fun and there are a lot value I personally can gain from this.
The project itself has already spawned a number of tutorial blog posts, as I am learning and exploring
There are also a whole host of other products and services I have previously had very little exposure too.
The source code and links to tutorials for both these projects is available at:
I will hopefully continue to develop more tutorials on these projects and will be exploring a whole raft of other interesting aspects.
It was by embarking on these projects that I realized just how important side projects have been for me not only as a developer, but as a business person as they totally help me to craft new skills and enable me to stand out from the crowd.
The development of Sourcelink is also greatly inspired from what I learned from reading Rework, - I have recently re-read in order to write the book review - which transformed my outlook on the world of work a few years ago and inspired me to focus on remote working!
I am passionate about changing the way society should view work. I many ways I think we have lost our way and we believe the path to happiness is about making obscene amounts of money. Many people believe life is about being the richest corpse in the cemetery!
The recruitment process and the way companies advertise jobs to attract candidates often manifests this delusion too. Its like Hard Work and long hours are some kind of badge of honour for life.
I have never agreed with corporate view of life and have therefore been self-employed for most of my adult life and simply just helicopter visit the corporate world. Each and every visit reaffirms my belief that no one is ever happy at work or within their company!
If you really sit down to think about it, work or employment really is the worst kind of deal in history for most people. We are all only allocated a finite period of time on this planet. On average we spend 10 - 15 years of that time educating and preparing ourselves to enter the world of work, where we will spend on average between 40-50 years trading our time for money, in the hope that we will be disease free and fit enough to possibly enjoy on average 10 to enjoy spending time on what we want to do!
In most of my discussions with people in the work place and this irrespective of companies I have worked in it seems the general consensus is that work generally pays enough money for them to live, but never enough for the life they want to live!
I am a firm believer in the concept of a Universal Basic Income which in my opinion will drive more people to be entrepreneurial. I also firmly believe this will also be a primary driver for the advancement of humanity.
I also firmly believe that a Universal Basic Income will inspire more people to take up side projects to explore their true passions.
It is my opinion and a firm belief that side projects are an essential component of a healthy lifestyle. They are not just an excuse just to work more, but they are just an avenue for people to explore their true passions and interests.
Side projects are not just about the pursuit of creating another Billions Dollar startup, although there are many side projects that have become one. Side Projects, should rather be viewed as a mechanism for everyone to be able to contribute to advancement of humanity and the welfare of the planet!