Senior Software Engineer - Language Runtime
Canada - Toronto
At the heart of Veeva are our values: Do the Right Thing, Customer Success, Employee Success, and Speed. We're not just any public company – we made history in 2021 by becoming a public benefit corporation (PBC), legally bound to balancing the interests of customers, employees, society, and investors.
As a Work Anywhere company, we support your flexibility to work from home or in the office, so you can thrive in your ideal environment.
Join us in transforming the life sciences industry, committed to making a positive impact on its customers, employees, and communities.
The Role
We’re looking for a pioneering engineer to help bring a new programming language to life! You’ll be at the forefront of building a VM with a bytecode interpreter and garbage collector, crafting a compiler from scratch, and creating a VS Code-integrated debugger. Join us and choose an existing grammar to create a powerful, flexible language ready for real-world applications!
What You'll Do
- Collaborate closely with the VP of Engineering, Product, and CEO to shape the architecture and functionality of our new programming language
- Build the language infrastructure from the ground up, using an existing language (C, C++, Java, Typescript, etc.) as a model for grammar and syntax
- Define and implement the bytecode instruction set architecture, creating a VM with a basic garbage collector to execute it
- Develop a compiler to translate code into bytecode and build a VS Code-integrated debugger
- Continuously optimize performance and add language features and standard libraries to enhance functionality
- Own all aspects of the language lifecycle, including design, development, profiling, testing, and ensuring top-quality code
Requirements
- You’ve either built or significantly contributed to a language runtime in a production environment. (Significant experience as a graduate student will be considered)
- Strong in C, C++, or Rust. You know your way around systems programming and have solid instincts for memory management
- You’re articulate and can explain technical concepts in a way that’s easy for others to follow—even if they’re not runtime experts
- You’re practical about language features, bringing in what’s valuable without being hung up on copying every feature from existing languages
- You make sound technical decisions and write clean, maintainable code
- You need to be in one of the North American time zones (Pacific, Mountain, Central, or Eastern) so we can sync up during core hours
Learn More
Perks & Benefits
- Medical, dental, vision, and basic life insurance
- Flexible PTO and company paid holidays
- Retirement programs
- 1% charitable giving program
Compensation
- Base pay: $110,000 - $270,000
- The salary range listed here has been provided to comply with local regulations and represents a potential base salary range for this role. Please note that actual salaries may vary within the range above or below, depending on experience and location. We look at compensation for each individual and base our offer on your unique qualifications, experience, and expected contributions. This position may also be eligible for other types of compensation in addition to base salary, such as variable bonus and/or stock bonus.
Veeva’s headquarters is located in the San Francisco Bay Area with offices in more than 15 countries around the world.
Veeva is an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, sex, sexual orientation, gender identity or expression, religion, national origin or ancestry, age, disability, marital status, pregnancy, protected veteran status, protected genetic information, political affiliation, or any other characteristics protected by local laws, regulations, or ordinances. If you need assistance or accommodation due to a disability or special need when applying for a role or in our recruitment process, please contact us at talent_accommodations@veeva.com. Apply
Job Profile
Must be in North American time zones
Benefits/PerksBasic life insurance Charitable giving Charitable giving program Company paid holidays Dental Employee success Flexible PTO Growth potential Life Insurance Medical Medical, dental, vision, and basic life insurance Paid holidays PTO Remote-first company Retirement programs Vision Work anywhere Work From Home
Tasks- Build language infrastructure
- Collaborate on language architecture
- Define bytecode instruction set
- Develop compiler
- Manage language lifecycle
- Optimize performance
Bytecode Interpretation C C++ Cloud Compiler Development Customer Success Debugger Development Development Engineering Infrastructure Java Life sciences Memory management Organization Programming Quality Rust SaaS Systems Programming Veeva VS Code Integration
Experience5 years
Education TimezonesAmerica/Edmonton America/Moncton America/Regina America/St_Johns America/Toronto America/Vancouver UTC-3 UTC-4 UTC-5 UTC-6 UTC-7 UTC-8