Senior Software Engineer, FVM
Protocol Labs
·
Posted:
August 28, 2023
·
Remote
About the position
The job overview for this role is that Protocol Labs is seeking a Senior Software Engineer to work on 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 designing and building a best-in-class blockchain VM, implementing native FVM interoperability with other chains, and creating developer tooling and SDKs. They will also collaborate with other Filecoin engineering teams and contribute to other projects to support FVM. This is a fully remote and asynchronous position.
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
- Programming experience and proficiency with Rust is ideal, but programming experience in one or more of the following is required: Go, C, C++, Rust, Java, or similar
- Experience building a low-level untrusted code environment - like browser or WASM contexts - where you have to manage and account for 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 state-of-the-art innovation in distributed systems and/or process virtual machines, contributing to research/development communities and/or efforts, comfortable digging through new academic literature, experience mentoring or writing technical explainers or blog posts, technical project management skills, setting up and managing research collaborations or contractors, proven success of influencing and developing productive working relationships with diverse technical teams and stakeholders, strong technical and problem-solving skills.
Requirements
- BSc degree in Computer Science, Electrical & Computer Engineering, or related field, or equivalent practical experience
- Programming experience and proficiency with Rust is ideal, but programming experience in one or more of the following is required: Go, C, C++, Rust, Java, or similar
- Experience building a low-level untrusted code environment - like browser or WASM contexts - where you have to manage & account for 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: Record of demonstrating state-of-the-art innovation in distributed systems and/or process virtual machines
- Bonus: Experience contributing to research/development communities and/or efforts, including publishing conference papers
- Bonus: Comfortable digging through new academic literature for inspiration while problem-solving
- Bonus: Experience mentoring or writing technical explainers or blog posts
- Bonus: Technical project management skills and the ability to design and execute on engineering and/or research agendas
- Bonus: Experience setting up and managing research collaborations or contractors
- Proven success of influencing and developing productive working relationships with diverse technical teams and stakeholders
- Strong technical and problem-solving skills
Benefits
- Base pay ranging from $233,000 to $300,000
- Cryptocurrency and equity opportunities for upside through performance rewards
- Great benefits package, including parental and other forms of leave
- Contributions to retirement
- Unlimited time off
- Competitive health, dental, and vision coverage for U.S.-based employees