What are the responsibilities and job description for the Compiler Engineer (Principal & Sr. Level) position at Solana Labs?
Who We Are:
Solana is a highly performant blockchain that enables growing decentralized applications and systems to scale without sacrificing security. Our team is highly specialized and talented, and we’re looking for people of the same caliber who are willing to jump in and use their expertise to help us find product-market fit as we build out the Solana ecosystem. If you’re looking to join a fast-paced, problem-solving environment in the center of blockchain infrastructure, cryptocurrency, and decentralized applications, then read on.
Overview:
We are looking for a Principal and Sr. Level Compiler Engineers to design and implement new language features for Solidity (e.g. adding annotations, new mapping implementation, option data type, keep current with solc, and new macro system). Make changes to the compiler to stay current with Solana VM changes (also work with the VM team to influence future design). Improve code generation by implementing new code generation passes, for example ensure local variables are stack allocated when possible. Help Solidity developers with their problems, write simple Solidity demos and integrations, and improve related dev tooling (anchor).
Responsibilities:
- Develop a compiler frontend for the Solidity programming language
- Integrate the semantics of the Solidity programming language into our existing runtime environment and systems
- Work with cross-functional teams within the company to identify and implement solutions to complex architectural problems
- Collaborate with software developers building on our platform to understand their needs
- Stay connected with the open source community to keep track of upcoming trends
- Participate in technical discussions and reviews both synchronously and asynchronously
Requirements:
- 5 years of experience working on low-level systems: Compiler, linker, runtime, vm, etc.
- Bachelor's Degree in Computer Science, Computer Engineering or equivalent work experience
- Experience designing programming languages, DSLs or ISAs
- Proficient with Rust and C/C programming languages
- Experience with LLVM internals and the tool chain
- Hands off work attitude that requires minimal supervision and being proactive and self-motivated for timely delivery of quality code
- Experience with comprehensive testing methodologies
- Experience with unix command line utilities, debugging, and version control systems
- Experience with static code analysis and data-flow analysis
- A strong interest in web3 and Blockchain technology
- Exceptional written and verbal communication skills
Nice to Have:
- Experience collaborating on an open-source project
- Publications in top tier compilers or system conferences such as PLDI, POPL, CGO
The salary range for US-based candidates will be determined throughout the interview process and can vary depending on experiences, skills, and location. Candidates should anticipate an annual base salary (not including incentive compensation or other benefits) of $USD 150,000 - $USD 250,000 for full time employees.