Why every developer should have a passion project
For many experienced developers, passion projects are a thing of the past. Passion projects are (or were) the fun little projects that we used to do on a regular basis while we were actively learning new technologies. You know -- the projects that we put in our portfolios and showed off at interviews. The ones we couldn’t wait to show off to anyone who would listen. The ones that we worked on during any free moment that we had.
Aspiring developers on LinkedIn and other social media platforms often participate in coding challenges, such as #100daysofcode or “30 Apps in 30 Days”. Others actively develop a personal project from the initial idea all the way through testing and deployment.
Over time, the monotony of many software engineering roles can begin to take its toll on even the most experienced developers, who have limited time to work on things they are passionate about, and few opportunities to immerse themselves in new technologies.
When developers are working on passion projects, their enthusiasm is contagious.
But perhaps more important than enthusiasm alone is the fact that passion projects can turn into huge company-wide wins.
LinkedIn launched its [in]cubator program back in 2012. Once each quarter, employees can pitch ideas and, if approved, assemble a dedicated team that will spend 3 months developing their project. But even those who don’t have an idea of this scale can participate in passion projects; [in]cubator was inspired by LinkedIn’s monthly hackdays, where employees can work on any projects they want.
While no longer widely publicized, Google once touted its 80/20 policy, where they allow employees to use 20% of their working hours to develop passion projects that could benefit Google. Gmail and AdSense (now Google Ads) are two notable results.
And other tech companies -- big and small -- that encourage employees to work on passion projects have had similar wins.
The benefits of giving developers the time and space to develop passion projects are numerous and cumulative.
1. Reinvigorate developers’ passion for their work.
Passionate employees do better work -- period. They are more likely to learn new technologies on their own, to achieve external accolades for their work (which can only reflect positively on both the employee and their company), and to foster cross-departmental collaboration.
When making the same pull requests day after day becomes a source of frustration, developing a fresh, new idea from scratch can be just what the doctor ordered.
2. Better employee retention.
In 2017, software engineering had the highest turnover rate out of any other profession. These engineers aren’t leaving the industry, though; they’re just leaving one company for another. Software engineers cited lack of advancement opportunities (45% of respondents) and desire for more challenging work (36% of respondents) when changing companies.
3. There’s no pressure.
Side projects are meant to be fun and invigorating, but they have the added bonus of being free from the pressures of typical deadlines and infrastructure restrictions.
Employees can use whatever technologies they want -- even if they feel like learning new ones. There are unparalleled opportunities for cross-team collaboration, and experimentation with new technologies can help teams determine whether they’d like to add something new to their toolkit.
Employees can develop their own teams, which means that those who haven’t had a chance to shine might take on technical lead or project manager roles. A front-end developer might try their hand at database work. A junior engineer might team up with a senior engineer to learn something that they wouldn’t have learned during the regular work day.
4. There’s no limit to what can come out of a passion project.
Slack, Twitter, Google Maps, Craigslist, and Trello were all passion projects created by developers. Whether an engineer is actively developing a passion project at home or during working hours, the potential is the same.
We often rely on product teams or marketing teams to come up with ideas for engineers to build, but engineers are often sitting on ideas that they wish they had time to develop.
By setting time aside for passion projects during working hours, we are reinvigorating the passion that encouraged us to enter this profession in the first place -- and anyone can benefit:
- Junior developers will stay in the habit of learning new technologies.
- Senior developers can take on more mentorship roles, and learn technologies that they might not have considered learning.
- VPs and CTOs can work alongside a team of developers, learning more about how their teams function and what they are most passionate about. This could shine a new light on team roles and advancement opportunities.
- Non-developers could participate and learn more about what engineers do and how they do it.
Managing passion projects in the workplace
While it’s clear that passion projects can make positive contributions to the company as a whole, it’s always important to consider how these projects could affect your team’s workflow.
Will deadlines or project timelines need to be adjusted to accommodate the additional time that employees will spend creating passion projects? Could there be a return on this investment of time? Might some developers be hesitant to participate, fearing that these projects will distract them from their work? Can passion projects help move your team forward instead of holding them back?
Whether developers work on passion projects at the office or at home, the results are the same: happier, more passionate engineers who have a renewed spark for software development, and who bring their energy right back into the workplace.