As a manager, you could benefit a lot from helping your developers with their side projects.
I finished my latest side project. That’s the fifth serious one I bring to an end :
- 2010-2014 www.mes-courses.fr, an improved UI for online groceries. This was both a technical project and a wannabe business
- Since 2011, this blog
- 2015 www.agileavatars.com, a custom magnet shop for agile team boards. This was a lean startup style business project
- 2016 complexity-asserts a unit test matcher to enforce algorithm complexity. This was a technical project time boxed to 20h.
- 2016-2017 Philou’s Planning Poker, a technical product, that I built to solve my own problem.
The more I do side projects, the more I am certain of their value to my employer.
Reasons companies discourage side projects
Unfortunately, most companies discourage their employees to have side projects. It boils down to fundamental fears :
- they might get less done
- they might leave
While these are legitimate, most of the time, they are also unlikely or short sighted.
Why don’t they work extra hours ?
Said another way : if developers want to code, why don’t they add new features to the company’s products ?
From my own experience, having a side project has always been an energy booster. Side projects have made me more effective at work !
For a compulsive hacker, a side project is a hobby ! As painting, piano or soccer is to others. Working on smaller software, being in full control, renews the joy of programming.
They’ll quit once they’ve learned new skills !
Simply said, if a company’s retention strategy is to deprecate its developers … It’s got problems a lot worse than a few people doing side projects at night !
They won’t be as productive !
You could think that developers will be less focused on the company’s issues while at work. Indeed, passionate side-project hackers always have it on top of their heads.
Most of the time though, the extra energy provided by the side project out-weights this focus loss.
In the end, we should trust people to be professional. Let’s deal with the problem later, when someone actually starts to underdeliver.
They’ll leave if it turns into a successful product !
Building a product company is pretty damn hard. A time starved side project is pretty unlikely to turn into a successful business. Not much to worry about here ! If it happens, the company is lucky to have had such a productive employee.
They might steal our intellectual property !
This one is true. Only a very small minority of people might do that, but the risk remains.
You might conclude that it’s easier to play it safe and prohibit side projects … at the same time, it’s always sad to punish the majority for a minority’s bad behavior.
It boils down to a tradeoff between risks and rewards. How sensible the company is to IP theft vs the benefits of having a side-project friendly policy.
If you are wondering what these benefits are, read on !
Side projects made me a more valuable employee
As developers, side project teach us a lot. What is less obvious, is how these new skills benefit our employers !
Keep up with technology
A side project is an occasion to work on any subject, with any technology we want. That’s the perfect time to try that latest JS framework we cannot use at work.
This will help us and our companies to transition to these new technologies in the future.
Experimenting different platforms also widens our horizons. It teaches us new ways of addressing problems in our daily stack. For examples, learning LISP macros pushed me to use lambdas to create new control structures in Java, C++ or C#.
The conclusion is that side projects make people more productive and adaptive. Which in turn makes companies more productive and resilient
Understand what technical debt is
The bottleneck in a side project is always time. In this context, to deliver fast enough to keep my motivation high, I tend to take technical debt. Particularly because I ignore how long I’ll be maintaining this code.
Even so, if I later decide to stick to this side project, this technical debt will be an issue.
That’s what technical debt is : a conscious choice to cut a corner and fix it later. Without keeping track of the cut corners, it’s not debt anymore, but crappy code ! That’s why I ended up using
#TODO comments in my side projects.
Later down the road, at any moment, I can decide to invest in refactoring some technical debt out. We can apply the exact same principles at our day jobs.
Understanding what a business is
Trying to make money from your side project taught me other kind of lessons. To sell my product or service, I had to learn a ton of other skills than the typical developer has. Nothing will sell without marketing or sales. I also had to dip my toes in design, web content creation and project management.
Once I went through this, I was able to better understand a big picture at work. It became easier to discuss with product, project and sales people. I’m able to make better tradeoffs between engineering, product and technical debt. Non technical colleagues appreciate that. As developers, it increases our value and trustworthiness.
Discover new ways of doing things
While progressing towards my own side project goals, I had to search the internet for help on some tasks. I ended up using SaaS tools, and discovered alternate practices to the ones I was using in my daily job.
That’s great for employers ! Developers will gain perspective about which company processes work well and which don’t. If you have some form of continuous improvement in place at work, they’ll suggest great ideas ! If you don’t, then you should start doing retrospectives now !
Companies should sponsor side projects
I hope I convinced you that side projects are at least as efficient as a formal training. The topics are unknown at the beginning, but that’s the trick : they deal with the unknown unknowns !
There are many ways a company can help its employees with their side projects :
- Slack time is a great way to spark the interest in a topic. Developers might start something in their slack time, and continue as a side project. Provided the topic as value for the company, they could continue using their Slack time on it.
- Hosting a Startup Weekend or a Hackathon. Most company offices are empty on Saturdays and Sundays. You could ask your company to lend its premises for such an event. It’s very likely that some employees will take part.
- Even better, some companies, like Spotify, organize regular Hackathons on office hours ! That’s Slack time, on steroids !
- Sponsoring internal communities can enable employees with side-projects to help each other. Sponsorship could be free lunch, premises or a regular small slice of time on work hours.
- Providing a clear legal framework around side projects reduces the risks for everyone. Questions like the ownership of intellectual property are better dealt with upfront.
If you are a developer looking for a side project idea, suggest slack time in retrospective ! You could also ask for sponsorship and organize a startup week-end or a lunch time community.
Finally, if your company is side-project friendly, communicate about it ! It’s a great selling point and it will attract great programmers.