Interview questions: Outline your thoughts on open source software development, why is it something a company should do?
Thursday, April 27th, 2023 at 2:46 pmBackground: I’ve been asked in a few applications for new roles to do written interviews. I thought it might be worth while to release some of my answers as posts as it was fun to reflect a bit on these things.
I’ve been a big supporter of open source from the get-go and worked at Mozilla for five years before moving on to Microsoft and spearhead the opening of new projects to the outside there. When I took on the role of Principal TPM of the Chromium Developer Tools in Edge, I established the repository and pushed to have all the documentation on GitHub with outside contribution.
One repo I started and maintained until recently is the Edge Developer Extension for VS Code and the Developer Tools themselves using GitHub for collaboration in the open.
The reason I pushed for open sourcing everything my team does were several:
- It keeps us honest, as you work in the open and can’t hide any shortcuts or “good enough” code.
- The contribution of everybody is visible. Large corporations often have the problem that you work for years on excellent products, but the outside world doesn’t know about it. You can’t prove your work when you apply elsewhere. With open source, this isn’t a problem. Even interns have their names associated with a highly visible product and get the kudos they deserve.
- User research is a lot easier – as people have access to your product, you can conduct quick surveys and offer previews in own branches.
- Community building is simpler, too. When people have access to the product rather than to slide decks, stickers and T-Shirts, there is a higher chance to get outside contribution.
- Hiring new people is easier. When people already work with and contribute to your product, they can hit the ground running when you hire them. And you already see not only how good they are as a developer, but also how they interact with other people. How well they comment, how readable and understandable their pull requests are and similar soft skills hint at how they could work as part of a larger team.