Why Your Engineers Should Spend More Time Writing Open Source Software Code
13 February, 2019
Engineering organizations are typically measured by their productivity and outputs -- especially at high-growth companies. As a leader, I am constantly focused on removing obstacles for my team so they can achieve more and deliver customer-facing features even faster. Therefore, it may be shocking to hear that the number one thing I challenge my team members to do is to take a step away from our own technical stack and focus time on contributing to open source projects.
In most tech startups and big companies, working on open source software (OSS) becomes a passion project for engineers or requires a dedicated team. As an organization with a passion for open source, we wanted to change that.
I recently did an experiment with my team where an engineer was given a month of uninterrupted time to work on open source contributions and projects. The results were remarkable and made it clear that this had to be a new norm for our team. We contributed to a total of three projects with numerous pull requests (PRs) for each repository, but we also gained a lot of happy, engaged engineers who were excited to jump back into their day jobs.
Here are five reasons why other leaders should consider giving their team time to focus on open source.
- It's Not Just Code, It's A Community
Typically, when engineers first start participating in open source they do it to learn and contribute. Over time, they realize that these side projects can actually come a long way in helping their career. From my experience working in technology for over a decade, I truly believe that our community is bigger than just us. For example, devoting time to open source has helped me and my team forge important partnerships with other companies. It also makes it possible to for us to help shape the direction of certain open source projects and stay informed on what technologies are resonating best with the community. 2. It Boosts Engineer Morale
Working on open source projects can give engineers a much-needed break from their daily routine, allowing them to tackle new challenges and go beyond their assigned tasks. During our open source experiment, a talented engineer on my team worked on a few different projects. One project typically would have taken several months and a team of engineers, but he was able to complete it in a matter of weeks. He changed 14 repositories, created 78 commits, authored 16 pull requests and reviewed eight pull requests. His work was certainly impressive that month, but it also left him feeling recharged and energized. He remains a top performer and continues to excel in his work, and I'm glad I was able to help him achieve these personal successes in the OSS community. 3. It Helps You Write Better Code
Writing high-quality code is something every engineer strives to do. Working on open source automatically helps set a higher standard and encourages coding best practices. The nature of open source also provides a safe place for engineers to learn and improve their craft. It is okay (and at times encouraged) to publish unpolished code and iterate multiple times. This allows consumers of your code to understand the thought process and how a specific project evolved over time. It also encourages engineers to have an open mindset when reviewing code from other contributors and encourages them to provide constructive feedback. With more feedback and analysis about why different folks are approaching projects in a certain manner, engineers are challenged to think critically about their own code, which can inspire them to write better code. 4. It Creates Industry Thought Leaders
The community-driven nature of the practice means that it is often at the bleeding edge of technology. This not only drives innovation -- it also gives engineers a "stage" on which to show off their skills and position themselves as industry leaders. As a result, open source contribution can lead to several opportunities to step away from the keyboard and share great work. Over the years, I've seen many successful engineers parlay their great work into speaking opportunities to present at industry conferences or on podcasts or blogs. Last year my team spoke at several conferences and this year they are looking forward to more sharing and speaking about their OSS work. This not only gives them an avenue for sharing but helps them grow professionally and become better teammates and leaders.
- It Attracts Top Talent
Many talented engineers are passionate about the open source community and choose their employer based on the contributions of its employees. It's not just that they are looking for a cool company with smart engineers, it also speaks to the overall culture of the organization. Organizations that contribute to open source tend to encourage more innovation and are better aligned with the needs of the community. By offering engineers the opportunity to tackle interesting projects on OSS in addition to their company work, you can keep them engaged and excited about their jobs. The ability to break the limitations of writing only vendor-specific code is empowering to potential employees and sets you as a top choice when closing on new hires. In the end, the reason developers want to contribute to open source is similar to the reason anyone would do a random act of kindness. It feels good. There is something powerful about paying it forward to the future of the development community, and I'm proud that my team has been able to make such great strides.
I encourage all leaders to share open source projects that could benefit not only your company but multiple others who seek to solve the same set of problems. The world of tech is remarkably small, and it's up to all of us to do what we can to help drive progress for ourselves and for one another in order to build a better future.
Mason Mclead, CTO at Software.com, delves into how to take care of tech debt while pushing out new features and products.
CTO at Software.com
Mason Mclead, CTO at Software.com, highlights all the advantages of hiring at once a group of people who have already worked together.
CTO at Software.com
Marian Kamenistak, VP of Engineering at Mews, explains why EMs shouldn’t be measuring the output of a team or individual engineers, but the outcome of the whole team.
VP of Engineering at Mews
Lloyd Holman, Head of Engineering at By Miles, shares some of the techniques and approaches he uses to help his team members stay motivated and engaged.
Head Of Engineering at By Miles
David La France, VP of Engineering at Kenna Security, explains how managers can level up their skills and scale in their roles by learning to work less, but smarter.
David La France
VP Engineering at Synack
You're a great engineer.
Become a great engineering leader.
Plato (platohq.com) is the world's biggest mentorship platform for engineering managers & product managers. We've curated a community of mentors who are the tech industry's best engineering & product leaders from companies like Facebook, Lyft, Slack, Airbnb, Gusto, and more.