A Developer’s Perspective: Do you need side projects?
Recently, I read an article that tried to answer this same question. Their answer to “Do you need side projects?” was No. The whole article was devoted to explaining why.
I’d like to address this question myself. As a developer, do you need to have side projects? No.
Hang on! Stay with me! You don’t really have to. There are many good developers out there who leave work every day and don’t think about it again until they show up the next day. They put in a solid work week, are dependable, and write good code. This is not limited to your junior or mid-level devs. It also includes senior devs and architects.
If you’re on an established, long-term project, the likelihood of being able to implement some new technology or framework is pretty slim. Your focus is on completing requirements and making the project the best it can be. Most of us have put in more than our 40 hours leading up to a release. We can get brain tired and need the time away from work to recoup.
So, the question should be, “Why would you want to have side projects?”
There are many reasons, and it’s a personal answer we each have to decide.
Is it career advancement? If you are early in your career, this is a good way to improve your skills, refine your technique, and gather more experience. Your personal repo also seems to be the new resume.
Is it for the challenge? I personally like solving puzzles. I think that’s what keeps me going. There’s a satisfaction in having created something, or overcoming a problem.
Is it for personal improvement? I also enjoy learning new things, playing with new technology, finding new ways to do things.
I actually started my development career after realizing that I enjoyed my side projects more than being an MCSE. They were originally just to help me administer and automate tasks.
It also depends on your job. Here at Antares, we are starting new projects frequently. We are constantly encountering new challenges that sometimes don’t fit into our comfort zone or our “wheel house.” We also need to keep up with current trends and releases. Companies want that 10-year product. We can’t deliver a 10-year product if we are out of date. We also can’t usually add learning time into a project scope. It has happened when a client insists on some particular technology and we are clear up front that we’ll have to figure it out. It’s not often.
As a tech lead and team leader, I need to decide, then design, then train my team. Many side projects were failures, but free ones. I didn’t waste the first few weeks of a project to find out a particular direction wouldn’t work in this situation. I always gain some degree of new information.
Many side projects have also turned into useful products. I’ve even had one turn into a full product in a suite of applications; effectively replacing an existing application while adding an entirely new scope of features.
So, do you need side projects? No, but I do.