Senior Software Engineer
About Protocol Labs
Protocol Labs drives breakthroughs in computing to push humanity forward. Protocol Labs is a product-development lab, but behind the protocols and tools we build, behind the research and implementations, are passionate people, teammates, and community members. Most teams in the Protocol Labs Network are fully distributed and work remotely around the world. Engineers, researchers, and operators work in the open to improve the internet — humanity's most important technology — as we explore new advances at the intersection of many exciting fields (web3, cryptography, networks, distributed systems) and cultures (startups, research, open-source, distributed work).
About Filecoin and Lotus
Filecoin is a crypto-based distributed storage network that aims to store humanity’s most valuable information. The Filecoin network uses advanced cryptography to store over 15 exabytes of data and verify its continued storage every day! Lotus is the Go-based reference implementation of the Filecoin protocol. Lotus nodes power the blockchain consensus layer of the network, receive data from storage clients, and run cryptographic proofs on that data.
As Senior Engineer for Lotus at Protocol Labs, you will....
Work on the architecture and development of the reference implementation of the Filecoin protocol as it relates to protocol consensus, governance, security, and scalability.
Your role will have a major impact on the entire Filecoin ecosystem, as your work enables and protects the network consensus, and sustains the onboarding of new storage onto the network.
Serve as a technical leader providing guidance to the team, anticipating issues, and ensuring we maintain a high bar of quality.
Work with a vibrant open source community for user feedback and adoptions.
Be responsible for both hands-on coding and architecture work.
You may be a fit for this role if you have....
A strong passion for blockchain technology and trustless systems.
5+ years (10+ preferred) of experience working as a software engineer on distributed systems and data storage.
Experience developing on-premises software.
Programming experience and proficiency with Go is ideal, but programming experience in one or more of the following is required: Rust, C, C++, Haskell, Java, Scala, Python, Clojure.
Ability to analyze and improve the design of complex computation systems.
Ability to evaluate new components and dependencies keeping in mind long-term maintenance and deployment requirements.
Excellent written and verbal communication skills.
Pragmatic “get it done” attitude and the ability to provide and receive constructive feedback.
BSc degree in Computer Science, Electrical & Computer Engineering, or related field, or equivalent practical experience (though a “traditional” education or degree is NOT required).
What’s it like to work at Protocol Labs?
Protocol Labs' mission is to improve humanity’s most important technology, the Internet. We build protocols, systems, and tools to improve how it works. Today, we are focused on how we store, locate, and move information. Our projects include IPFS, Filecoin, libp2p, and more. As a distributed team, we hire anywhere in the world, and at various levels of experience (entry, senior, staff). We look for people with unique perspectives and diverse backgrounds.
The base pay for this position currently ranges from $217,000 to $297,000, plus cryptocurrency, equity, and opportunities for upside through performance rewards in cryptocurrency and equity. The base pay is based on a number of factors and may vary depending on job-related knowledge, experience, skills, abilities, training, and education. We also have a great benefits package, including parental and other forms of leave, contributions to your retirement, and unlimited time off. For U.S.-based employees, we also provide competitive health, dental, and vision coverage for you and your family.