Protocol Labs is hiring a Web3 Sr. Software Engineer, Drand
Compensation: $11k - $62k estimated
Location: remote
Drand
The need for digital randomness is paramount in multiple digital applications ([e]voting, lottery, cryptographic parameters, embedded devices bootstrapping randomness, blockchain systems such as Filecoin, etc) as well in non-digital such as statistical sampling (used for example to check results of an election), assigning court cases to random judges, random financial audits, etc. However, constructing a secure source of randomness is anything but easy: there are countless examples of attacks where the randomness generation was the culprit (static keys, non-uniform distribution, biased output, etc).
Drand (pronounced "dee-rand") is a distributed randomness beacon daemon written in Golang that aims to fix that gap by providing a Randomness-as-a-Service network. Drand is meant to be an Internet infrastructure level service that provides randomness to applications, similar to how NTP provides timing information and Certificate Transparency servers provide certificate revocation information. Drand aims to provide a continuous source of randomness to the Internet which is:
- Decentralized: drand is an open source software project ran by a diverse set of reputable organizations on the Internet wherein a threshold of them is needed to generate randomness, which ensure there is no central point of failure.
- Publicly verifiable & unbiased: drand periodically delivers publicly verifiable and unbiased randomness. Any third party can fetch and verify the authenticity of the randomness and by that making sure it hasn't been tampered with.
Servers running drand can be linked with each other to produce collective, publicly verifiable, unbiased, unpredictable random values at fixed intervals using bilinear pairings and threshold cryptography. The drand network is operated by a group of organizations around the world that includes Cloudflare, EPFL, Kudelski Security, Protocol Labs, Celo, UCL, and others. You can learn more by visiting theLeague of Entropy website, where you can also see the random values being generated by the network in real time.
What we're looking for
We are looking for a seasoned Software Engineer who can contribute to the design, implementation, and optimization of the Drand randomness project while collaborating with technical and non-technical stakeholders within the company, and in the external developer community.
Working closely with internal development teams such as Filecoin, and infrastructure engineering teams, develop new features and enhancements for the Drand protocol implementation. Collaborate with the existing Drand network partners, as well as the external developer community to implement related functionality such as backend systems, smart contracts, and blockchain applications that consume Drand randomness. Taking feedback from team and stakeholders, identify and implement improvements in the software we run, or find opportunities to create new projects entirely to meet the project’s goals.
Responsibilities
- Contribute to development, and maintenance of the implementations of Drand, and related open source projects. Create or maintain client applications, software libraries, and programs depended on by other systems and applications.
- Write high-quality design proposals and technical documentation to aid further implementation using modern software development practices.
- Work alongside a cross-functional team including engineering, design, community, product, and business. Lead and mentor more junior engineers. Help manage third party work by performing code reviews, and helping prioritize work items.
- Interface with the Open Source community to implement and own features that improve adoption of the Drand network as a randomness protocol for the Internet .
- Represent the Drand project at developer conferences, and relevant industry events that may include giving talks, writing blogs, and running demos.
- Offer bespoke infrastructure support where high-priority opportunities arise to ensure the Drand network operates in a highly available manner.
Qualifications
- Mastery of fundamental software engineering practices: testing, debugging, automating, refactoring.
- Excellent written and verbal communication skills on both technical and non-technical issues
- A keen awareness of teamwork, process, and patterns of successful collaboration.
- Proven track record of independently driving projects in a fast-paced environment.
- Significant experience building applications using Go, Rust, JavaScript, or related languages
- Here are some ideal example candidates with Golang experience: https://github.com/hibiken https://github.com/RichardKnop
- Experience designing and building distributed software systems with deep understanding of tools such as protobufs, etc., and network protocols such as TCP, UDP, HTTP.
- Experience refactoring existing codebases, and improving test coverage on complex projects.
- Bonus Points (not required but things to look for):
- Experience leading open source projects, and/or guiding their communities
- Experience building with decentralized building blocks such as smart contracts, blockchain, p2p networking (e.g., libp2p), etc
- Experience with fuzzing or benchmarking of existing codebases, at either the bare-metal or networking layers
- Security engineering and/or cryptography principles and practices
- Experience in monitoring and analyzing infrastructure performance using standard performance monitoring tools such as Prometheus, Grafana, etc.
#LI-NS1
Apply Now:
This job is closed
Compensation: $11k - $62k estimated
Location: remote
This job is closed
Receive similar jobs:
remote