Latest news about Bitcoin and all cryptocurrencies. Your daily crypto news habit.
âWere you aware of the open-source software program at Facebook?â
That was the question James Pearce, former head of Facebookâs open source program, asked engineers when studying why they joined the company. According to Pearceâs presentation at OâReillyâs Open Source Convention, not only were two-thirds of Facebookâs engineers aware of the open-source program before they joined the company, but half of the engineers said it âpositively contributed to their decision to work forâ Facebook.
Facebook isnât alone in this arena. Open sourcing code, regardless of company size, is one of the best ways to recruit top engineers. We analyzed the 30 most-applied-to U.S. tech companies of all time on AngelList and found that over half of them host open-source projects:
There is an art, however, to leveraging open-source projects as recruiting collateralâââyouâll need to do more than post a repo to GitHub and hope for the best. To get recruiting benefits out of open sourcing your code, youâll need to approach each project with a marketerâs mindset.
1. Write Code Any Engineer Can Read
The point of open sourcing software is to allow outside engineers to see it and, potentially, contribute to it. For that to happen, your code has to be written so itâs simple for outside engineers to understand. This means:
- Refactoring your code to be as simple as possible
- Following style conventions for names, whitespace, etc.
- Replacing private information with environment variables
- Commenting your code to contextualize snippets within your broader codebase.
Atlassianâs react-beautiful-dnd project, a tool for building drag-and-drop interfaces (think Trello) in React, is a good example of clearly written open-source software.
The projectâs structure is modular, and the code is thoroughly commented and simple to read:
When open sourcing code, approach every file as if the person reading it hasnât seen the rest of your codebaseâââbecause they almost certainly havenât. In the above example, even though it reflects a simple export, Atlassianâs team uses comments to explain what each function does, selects property names that accurately reflect their values, and stays consistent in styling.
As a result, the repository has more than 10,000 stars on GitHub and commits from dozens of contributors. The lesson is simple: The easier it is for outside engineers to understand your code, the more likely they are to contribute.
2. Write Documentation That Sells
Your documentation is your sales copy. Itâs what will convince engineers, at first glance, that your project is worth contributing to. It needs to:
- Articulate your projectâs value proposition
- Explain any considerations or processes you expect from contributors
- List technical specs, dependencies, and licenses
- Provide easy-to-access reference material for special use cases
Spotifyâs Annoy (Approximate Nearest Neighbors Oh Yeah) project, a library that âsearches for points in space that are close to a given query point,â does this extremely well. Its README file includes how to install the library, the background behind the project, code examples, licenses, dependencies, and a deep dive into the underlying software logic.
It also includes a benchmark of Annoyâs speed versus other nearest-neighbor libraries:
With just a single page of documentation, engineers have the information they need to decide if Annoy is a project where they want to contribute.
In 2018, more than 82,000 repositories are published to GitHub every day. Getting your repo to stand out among the millions of others will require effort and strategy, but itâs not altogether different than launching a product. To boost awareness, consider promoting a new repository on:
- High-traffic distribution nodes: Hacker News, Reddit, Tech Ladder
- Relevant communities: Product Hunt, Gitter, Dev.to (Note: AngelList acquired ProductHunt in 2016)
- Channels where you already have a following: email, social media, and more
You can also get creative with other marketing tactics. For example, the team at Hack4Impact, a nonprofit that builds software for other nonprofits, taught engineering workshops at local universities that required students to use their new library, sparking early forks and stars.
For companies that may be recruiting from a smaller niche of engineers, promoting a repo is even more important. Wallaroo Labs, a startup that helps customers launch large-scale data operations, has a codebase written in a fairly obscure language called Pony. When the company open sourced all of its code between 2017 and 2018, it leaned heavily on promotion, writing blog posts, giving interviews, and presenting at conferences about the decision to build its codebase in Pony.
Sean Allen, VP of engineering at Wallaroo, said the results have been strong: âA decent chunk of the people whoâve interviewed with us are folks who want to work in Pony and [are interested] because our codebase is the largest openly available Pony codebase.â
Think of your repository as a product, and the engineers youâd like to contribute to it as your market.
Why Top Engineers Want Open Source
âItâs a necessity, if you want to hire the best people, to work in the open,â said Artsy CTO Daniel Doubrovkine. The reason for this, he explained, is that âpersonal engineering brands have become really, really important for individual contributors. Engineers today are less interested in parking their skills in a place and not being able to showcase them. They want to work in the open because it creates some visibility to them.â
To serve this, Doubrovkine decided his engineering teams would work open source âby defaultââââmeaning unless an engineer can explain a business reason for not publicly publishing a piece of code, it is published in a public repository. As a result, most of Artsyâs engineering materials are freely accessible (you can even see its engineering onboarding documents here. âThe best companies align business needs with the desires of individual contributors to create their personal brand,â he said.
The fact that Artsyâs engineers are required to share their code publicly, with their name on it, is used as a selling point in Doubrovkineâs recruiting pitch, and it makes sense for more than just his company.
âSmart people like to hang out with other smart people,â wrote Tom Preston-Werner, cofounder of GitHub. âSmart developers like to hang out with smart code. When you open source useful code, you attract talent.â
Originally published at angel.co.
Want To Recruit Better Engineers? Open Source Your Code was originally published in Hacker Noon on Medium, where people are continuing the conversation by highlighting and responding to this story.
Disclaimer
The views and opinions expressed in this article are solely those of the authors and do not reflect the views of Bitcoin Insider. Every investment and trading move involves risk - this is especially true for cryptocurrencies given their volatility. We strongly advise our readers to conduct their own research when making a decision.