Senior Software Engineer, FVM
Protocol Labs
·
Posted:
May 15, 2023
·
Remote
About the position
Protocol Labs is seeking an extraordinary Sr. Software Engineer for the Filecoin Virtual Machine (FVM) project. The FVM project aims to bring user-programmability to the Filecoin network and currently supports EVM smart contracts. The successful candidate will play a key role in improving the blockchain VM, designing and implementing native FVM interoperability with other chains, and creating developer tooling and SDKs to enhance the FVM developer experience.
Responsibilities
- Develop and ship the first smart contract implementation that operates on the Filecoin chain
- Define compatibility with and support for existing smart contract execution tool chains and implementations such as EVM and Solidity
- Collaborate with other Filecoin engineering and ecosystem teams to ensure integration with existing systems and contribute to other projects to support FVM
- Create or maintain software libraries and programs depended on by other systems and applications
- Partner with peer developer advocates to support the developer community when complex issues arise
- Quantify performance, security, and other properties of existing and proposed systems; suggest improvements based on the data
- Partner with academia and the broader community in exploring new and out-of-the-box approaches to designing and implementing next-generation decentralized systems
- Work in a fully remote and asynchronous team
- Analyze, criticize, and improve the design of complex computation systems
- Provide and receive constructive feedback
- Stay up-to-date with new academic literature for problem-solving
- Mentor or write technical explainers or blog posts to test understanding
- Design and execute on engineering and/or research agendas
- Set up and manage research collaborations or contractors
- Develop productive working relationships with diverse technical teams
Requirements
- BSc degree in Computer Science, Electrical & Computer Engineering, or related field, or equivalent practical experience
- Programming experience in one or more of the following: Rust, Go, C, C++, Java, or similar
- Experience building a low-level untrusted code environment and managing resource usage
- Ability to analyze, criticize, and improve the design of complex computation systems
- Excellent written and verbal communication skills
- Pragmatic "get it done" attitude and the ability to provide and receive constructive feedback
- Bonus points for demonstrating innovation in distributed systems and/or process virtual machines, contributing to research/development communities, familiarity with academic literature, experience in technical project management, and success in developing productive working relationships with diverse technical teams.
Benefits
- Fully distributed and remote work opportunities
- Opportunity to work on breakthroughs in computing and push humanity forward
- Work in the intersection of exciting fields such as web3, cryptography, networks, and distributed systems
- Collaborate with passionate teammates and community members
- Opportunity to work on the most challenging problems in planetary-scale decentralized technologies
- Rich ground for ideation and prototyping
- Ability to translate theory into reality
- Opportunity to test new ideas in real-world scenarios
- Impactful research and development work
- Transform the way entire classes of problems are solved
- Supportive and collaborative work environment
- Opportunity to work with cutting-edge research and technology
- Opportunity to contribute to open-source projects
- Fully remote and asynchronous team work
- Competitive salary and benefits package