Title: Senior Software Engineer – Isolation Team
Location: US Remote, Canada, Europe, APAC
Fastly helps the world’s most popular digital businesses keep pace with their customer expectations by delivering fast, secure, and scalable online experiences. Businesses trust Fastly to accelerate the pace of technical innovation, mitigate evolving threats, and scale on demand. Founded in 2011, Fastly powers online destinations including Airbnb, GitHub, Alaska Airlines, Pinterest, Vimeo, The Guardian, and The New York Times.
The worldwide cloud services market is projected to grow rapidly to $236 billion in 2020, according to Forrester, Inc. As more and more businesses move operations to the cloud, Fastly is well positioned to continue increasing CDN, cloud networking and cloud security market share with edge cloud services that reach beyond content delivery.
We’re building a better Internet. Come join us.
Senior Software Engineer – Isolation
At Fastly, our technology stretches from front-end web development, down through to kernel work. We have many large C codebases where maximizing execution speed, and minimizing resource consumption, and maintaining security guarantees are critical to our business.
The isolation team is creating a compiler collection and runtime for software fault isolation of untrusted code. The tools this team creates are used by others at Fastly to ensure that our C codebases can grow in features and complexity without compromising on either security or performance.
Compiler-related work is often undervalued. This company values it.
What You’ll Do
- Communication within a team
- Design and implementation of software which generates, manipulates, loads, and runs machine code and object files.
- Delivering tools and documentation to engineers on other teams, and training and supporting them as they use those tools to enhance their own projects.
What We’re Looking For
- A desire to write both C and Rust. Not just begrudgingly. Its OK if you don’t know Rust yet.
- Experience writing and debugging assembly and machine code. You know your way around binutils and gdb.
- Enough of a background in compilers to give a strong practical and theoretical footing to your work. This includes an understanding of the interactions between the compiler, linker, and loader.
- Code stability and maintainability are important to us.
- You don’t see refactoring as a chore, but as something which is satisfying in itself.
- You needn’t have a formal CS education; suitable experience is just as relevant.
We value a variety of voices, so this is not a laundry list. You’ll be a good candidate if you have experience in SOME of these:
- You have written or contributed to a compiler or operating system, even a toy or research one.
- You have used Rust, or some of the languages that influenced the design of Rust.
- You have spent a few dozen hours of your life waiting for GCC or LLVM to build. You’ve played with features that aren’t properly documented and read the source code and mailing lists to figure out how they work.
- You have used a handful of IDLs, and can have a conversation about what tradeoffs they made.
- You have used fuzzers, property-based testing tools, SMT solvers, or formal methods.
- You enjoy functional programming but are no longer a zealot.
- You have audited C software for vulnerabilities, or worked with auditors of your own C code to correct issues.
- You have participated in security capture-the-flag games, or reverse engineered software or hardware.
We have a huge impact. Fastly is a small company with a big reach. Not only do our customers have a tremendous user base, but we also support a growing number of open source projects and initiatives. Outside of code, employees are encouraged to share causes close to their heart with others so we can help lend a supportive hand.
We love distributed teams. Fastly’s home-base is in San Francisco, but we have multiple offices and employees sprinkled around the globe. In fact, 50% of our employees work outside of SF! An international remote culture is in our DNA.
We care about you. Fastly works hard to create a positive environment for our employees, and we think your life outside of work is important too. We support our teams with great benefits like up to 20 weeks of paid parental leave, options for free medical/dental/vision plans, and an open vacation program that enables our folks to take the time they need to recharge (some benefits may vary by location).
We value diversity. Growing and maintaining our inclusive and diverse team matters to us. We are committed to being a company where our employees feel comfortable bringing their authentic selves to work and have the ability to be successful — every day.
We are passionate. Fastly is chock full of passionate people and we’re not one size fits all’. Fastly employs authors, pilots, skiers, parents (of humans and animals), makeup geeks, coffee connoisseurs, and more. We love employees for who they are and what they are passionate about.
We’re always looking for humble, sharp, and creative folks to join the Fastly team. If you think you might be a fit please apply!
Fastly is committed to ensuring equal employment opportunity and to providing employees with a safe and welcoming work environment free of discrimination and harassment.
Employment decisions at Fastly are based on business needs, job requirements and individual qualifications, without regard to race, color, religion, gender, gender identity, gender expression, sexual orientation, national origin, family or parental status, disability*, age, veteran status, or any other status protected by the laws or regulations in the locations where we operate. Fastly encourages applicants from all backgrounds.
*Applicants with disabilities may be entitled to reasonable accommodation under the terms of the Americans with Disabilities Act and certain state or local laws. A reasonable accommodation is a change in the way things are normally done which will ensure an equal employment opportunity without imposing undue hardship on Fastly. Please inform us if you need assistance completing any forms or to otherwise participate in the application process.