.png)


Senior Software Engineer - Lotus

Job Description
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).
Responsibilities
- 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.
Job Requirements
- 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).