Why companies should encourage side projects
There are two big reasons why I support that developers should be encouraged to have side projects. One is the technical improvement they bring, and the second is their possible outcome, which can be psychological improvement and/or a product improvement (even a completely new one).
There are several studies in the field of psychology about the benefits of side projects and creative hobbies (for example this article from the Journal of Occupational and Organizational Psychology). They provide a good base for what companies like Google, 3M, HP, Altassian are doing when giving 20% of the working time for the employee work on something they want.
So, in 40 hours working time, the employees have 8 hours to work on something they choose, which is obviously different from their daily projects. This is also done as 20% of the month or even the year, but in my opinion this is way more complicated to achieve as you lose man power for long periods of time and many companies can't afford this.
The result of letting your employees choose what they want to work during 8 hours per week can go from becoming more motivated, through learning about new technologies, to possibly creating completely new products that can change the whole business or disrupt the market.
“(…)many cool technologies have their origins in 20 percent time, including Gmail, Google News and even the Google shuttle buses that bring people to work at the company’s headquarters in Mountain View, Calif.” NY Times
In the book Weaving the Web (1999) written by Tim Berners-Lee, he mentions how the 10% time for side projects offered by HP in 1993 made possible for Dave Raggett to contribute to the creation of the HTML. Apparently Berners-Lee himself also made use of a side project time to create the World Wide Web, as he described on his TED presentation:
“So going back to 1989, I wrote a memo suggesting the global hypertext system. Nobody really did anything with it, pretty much. But 18 months later — this is how innovation happens — 18 months later, my boss said I could do it on the side, as a sort of a play project (…) So I basically roughed out what HTML should look like:hypertext protocol, HTTP; the idea of URLs, these names for things which started with HTTP. I wrote the code and put it out there.” Tim Berners-Lee
In fact, there are in the technology field, plenty of remarkable examples of how great things can be done by letting your developers choose what to work on, even if it is just during 4 to 8 hours per week.
My employees can always bring me ideas, and I will listen to them carefully, they shouldn't waste time with projects that doesn't interest us
It is common that managers claim to have an open channel to listen to their employees, and most of them actually believe on it. Don’t understand me wrong, they probably want to listen and analyse every single idea they receive, which are often too many, but sometimes it’s just hard to see the value on something that is working in front of you, imagine just listening about it. Plus, after listening to hundreds of ideas, you probably get more skeptical about something being as good as their believers claims.
Take Paul Buchheit for example, working as side project he developed Gmail and AdSense, people didn’t believe in any of them, in fact some of his superiors said Gmail would destroy Google's name. The second project, AdSense, when he described the concept to his superior, he heard a clear order to NOT work on this creepy idea of a system that reads people email to offer targeted Ads. He didn’t listen to them, he worked during the night and released AdSense by morning. After the founders saw it working, it became a high priority project, and the result is: AdSense generates more than $10 billion per year, and Gmail is the world’s top e-mail service. If he had trusted in the open channel and the expertise from his managers, imagine the impact of it on the company today.
Nah, these companies are huge, they have money, I can't have people not working in our products for one hour
That is a common mindset, and it is completely wrong, in fact, many companies that today are huge, came from side projects of companies that had nothing to do with their initial business. For example, Flickr, came from a side project of a nearly broke game company, Blogger also came from a side project from a management software company, and the same for Twitter that came from a 20% time project in a Podcast company. As you see I could go on with the list to show how this concept is not only possible for big and rich companies, as in fact it saved some small companies from breaking and helped others to innovate. There is an interesting book called The 20% Doctrine, by Ryan Tate that you can find more about these and other companies.
Instead I would highlight some of the benefits from a developer point of view.
- Developers need to constantly update themselves about new technologies, and to rely on their free time out of the company (shared with hobbies, family, friends, health, sports, sleeping, tv series) might sound fair, as every professional needs to be updated, but it might also be too less. Of course, you already invest in training and conferences (you should), but side projects create a time at work to explore new technologies, frameworks, to face new problems and improve. The result will be a developer which is experienced in different fields and technologies.
- The ownership of a side project can give a better understanding about things that someone just sitting on the last part of the execution might not. It will improve the empathy with managers and founders, create sense of priority and will make it easier to understand the changes in the product and the company. Many companies want to find employees with an "entrepreneur profile", but normally they don't want to create it.
- Some companies like Spotify understand very well the role of making mistakes in the evolution of a product (check Spotify engineering culture for more info), but unfortunately many others still don't embrace this, creating a very stressful environment. I believe that in everything in life we learn from mistakes, and this is the best thing about side projects, you can make mistakes all the time, there is no stress about it, there is always room to start again, improve, and this will also contribute strongly to an inner growth.
- Confidence. I could just end this item with this word, it just explains itself, after acquiring more skills, learning about ownership, improve technically and getting more motivated, a developer will also be more confident about his own work and himself. Confidence will then lead to faster results.
- Your team might see your software in a different way than you do, some would use it, some believe stuff could be different, some other would love to see that missing feature on it, sometimes to explain and defend an idea is not simple for everybody. When you let people do whatever they want with your product, the result might be a very interesting feature or a complete new product you didn't imagine before.
- Many developers are just frustrated because they have expectations, ideas, probably a different view of success than you have. But what they normally don't have is time, to put these stuff down, and because of that they hate their job, not for what they do there, but for what they can't do because they are there. Needless to say that the opposite will be true, people that has time to work on the stuff they love, will be happier and like their job more. The testimonies claims that the work done on the 20% results in a 80% time that is more productive and more creative, even more than when working 100% of the time on the same thing (which doesn't exist).
So my releases won't be delayed?
As I said the 20% time boosted the work performance, but I can't say that will happen in your company as it depends on a lot of other factors, specially on how you manage the remaining 80% and how seriously your team takes the working time, but everybody agrees that a productive and motivated team working 32 hours will deliver more than a frustrated team working 40 hours.
The result can't be measured only on the number of releases, as your employees will be working more satisfied, the company will benefit on better technologies and possible cool new features. It is like Ryan Tate mentioned on his book:
They trust that people will do awesome things when given room to do it, and they take great pains to create that room.
It is not written anywhere that a 40 hours work load is what you need and that it will result in better products than a 32 or 36 hours for example. Actually it is written the opposite, the side projects time brings better results. You need to decide what you want to achieve, if it is all about numbers, releases, bugs and downloads. Then I am surprised that you read till here, but if you want to build something meaningful, you should be thinking about other factors. Keep in mind that talented people won’t stay in a company that lock them up and more, lock their creativity.
Give marketing time to explore new concepts, give IT room to create new prototypes, new features, let the product team create and rethink your product, encourage new ideas, reward creativity, and in the worst case, you will end up only with a strongly motivated team.