Are you an experienced software engineer? Do you have a passion for distributed systems? Are you seeking to build software that has a positive impact on the world? We’d like to hear from you!
What your primary responsibilities will be:
- Research, design, and implement improvements to the software and protocols.
- Improve the correctness, code-quality, and performance of the software.
- Contribute clean, well tested, and well documented code.
- Review issues and pull requests and provide valuable feedback to contributors.
- Mentor other engineers and support the growth and health of the team.
- Guard the quality of the software from technical debt, missing tests or documentation, and feature creep.
- Nurture a safe and enjoyable open source experience for contributors.
What we look for in a successful distributed systems engineer:
- At least 5 years developing, releasing, and maintaining production software.
- Graduate work and/or academic quality publications in computer science.
- A track record of translating academic papers into performant software.
- Significant experience writing Golang and/or Rust, or the ability and desire to become proficient in new languages.
- Experience with highly concurrent networking software.
- A deep understanding of computer science fundamentals.
- Knowledge of fault tolerant consensus protocols like PBFT, Raft, etc.
- Knowledge of P2P networking protocols like BitTorrent, Kademlia, etc.
- The ability to take ownership and see initiatives through.
- Excellent interpersonal skills, experience working with distributed teams, and enjoys working with and mentoring others.
- Location: Toronto, Berlin, Lausanne, Vienna
- Job Type: Full-time
Please apply via this Google form where you’ll be prompted to upload a cover letter, CV, and other information that will help the review process go smoothly.