Job for Experts
Principal EVM Software Engineer - Smart Contracts Team
About the Role
You will design and implement compiler and optimization algorithms, enhance Java and Node.js/TypeScript smart contract services that expose EVM features, and improve VM state transitions and parallelization. You will spend the majority of your time coding testing and debugging performance-critical systems and contribute to open-source clients and toolchains.
Requirements
- Master's degree in Computer Science or equivalent experience
- 7+ years of software development experience
- Experience with distributed open-source application development
- Hotspot JVM or GraalVM experience
- Expertise in Java and its ecosystem of libraries and tools
- Experience with compilers parsers interpreters and garbage collectors
- Experience with performance static code and data-flow analysis
- Deep knowledge of and experience with EVM based blockchains
- Experience writing and debugging smart contracts for EVM ledgers
- Experience with web3 tools written in JavaScript or TypeScript
- Experience in a technical or team lead role guiding senior engineers
- Strong fundamentals in concurrency performance optimization and reusability
- Familiarity with high-performance architectural systems and design patterns
- Familiarity with test-driven development and continuous integration tools
Responsibilities
- Design compiler and optimization algorithms
- Implement and enhance Java and Node.js based smart contract services
- Contribute to open-source clients focused on VM state transitions
- Design and manage EVM state processing parallelization
- Develop and optimize bytecode execution and VM state handling
- Write unit and integration tests and perform test-driven development
- Profile debug and improve performance of JVM and runtime systems
- Guide and mentor engineers up to Staff level
- Collaborate on continuous integration and deployment practices
