Software Engineer (Compiler)
Posted Updated
- At The Browser Company, we’ve taken a unique approach to building our Swift/Chromium web browsers for multiple platforms
- While most major browsers are written in C++, we decided to avoid challenges around slow iteration speed and memory safety by building Arc and Dia using Swift
- A small team of language compiler and systems engineers have implemented the protocol that allows us to run our Swift code across MacOS, Windows, iOS and Android
- We’re part of the Swift core team and work closely with Apple, supporting Windows and Android
- As a Compiler Engineer at The Browser Company, you’ll advance Windows support for Swift and build features that benefit both our internal projects and the broader Swift community
- Your work will shape how we build browsers and cross-platform applications, with Swift at the core of our stack
- You’ll collaborate with the open-source community, Apple, and other companies using Swift while tackling deep technical challenges in language and compiler design
- Enhance Compiler Performance: Investigate and address performance bottlenecks, focusing on areas like memory allocation, PGO/LTO/BOLT, and hot function optimizations. Collaborate with cross-functional teams to improve build times and developer productivity
- Platform Support: Maintain and expand support for multiple operating systems, including Windows and Android. This includes enabling CI testing, debugging tools, and profiling capabilities to ensure robust toolchain performance
- Maintain and improve support for multiple architectures including X86_64 and ARM64 across different Operating Systems. Be involved in emerging architecture support as well (e.g. RISCV)
- Toolchain Development: Build and maintain custom toolchains on macOS and Windows, ensuring seamless integration with tools like Xcode and VSCode
- Develop deployment solutions for alternative toolchains to enhance developer workflows. Work to support new platforms for cross-compilation and improve existing ones across the compilation pipeline
- Cross-Language Interoperability: Drive innovations in Swift and C/C++, Java/Kotlin interoperability, enabling seamless integration for Windows and Android application development. Improve Swift’s interoperability with C and C++ codebases to improve developer experiences with multi-lingual codebases
- Open Source by Default: Nearly all of your work lands upstream in LLVM, Swift, and related projects. Your contributions are visible, impactful, and benefit the wider developer community
- After 1 month you will..
- Onboard onto our team and codebase with your onboarding buddy
- Attend a number of onboarding presentations on the company, product, codebase, and culture
- Get familiar with Swift, our Windows toolchain and tooling, and our Windows roadmap
- Ship a few bug fixes and small improvements across our codebase and tooling
- Pair programmed with a few people on the engineering team
- Be regularly posting product feedback about our browser in our #dogfooding channel
- After 3 months you will..
- Be familiar with our Windows toolchain, our Swift bindings, and how the Swift compiler works on Windows
- Shipped several tickets to improve Swift language features and Swift developer tooling
- Be involved in weekly engineering discussions about our architecture, how we do code review, code style, and more
- Be involved in infrastructure discussions like how we add better observability to debug issues in production, how we better monitor performance regressions, and how we make our updater less finicky
- After 6 months you will..
- Be interview trained and interviewing candidates for roles at The Browser Company
- Be driving compiler and toolchain projects from conception to production launch
- Be mentoring and pair programming with newer engineers to help them get spun up on the codebase
- Be working closely with Apple and the LLVM and Swift communities to discuss new features and push these projects forward
Benefits
- Choose-Your-Own-Compensation Plan: When we give you a job offer, we’ll actually give you two different offers — one that is focused on having a higher salary and one focused on higher equity. Candidates can choose either offer (or any numbers in-between) when they accept.
- Best in the Biz Insurance: We provide employees with full coverage medical, vision, and dental insurance and a free One Medical membership to help you keep you and your family healthy. We cover 100% of employee plan costs and up to 90% for dependents.
- Napping During the Workday: Some of us are better in the mornings, others are more productive in the afternoon. People should take breaks when they need to. If you’re on our team, we trust you to get your work done — our policy is: work when it makes sense for you!
- Take Time Off, Please!: We believe that people do their best work when they’ve rested and had valuable time off. So rather than having a maximum number of days off, we actually have a recommended minimum vacation of 20 days a year. Take time off when you need it and also just when you feel like it.
- Extremely Flexible Parental Leave: We are proud to offer an extremely flexible 12 weeks of parental leave — for any parent regardless of gender and for birth, adoption, surrogacy, or fostering. Take the 12 weeks all at once, or split up days to slowly transition back to work — we’re accommodating to everyone’s different situations! Birth mothers also qualify for an additional 6 weeks of medical leave.
- Design Your Dream Home Office: We are a remote first company. About half of our team currently lives outside of New York and across 5 different time zones. So if you need some stuff to make working from home a bit easier, we offer a $1000 stipend for anything you need to get comfortable.
- Cozy Office in Brooklyn, Wooo!: If you do happen to live in the New York area (or you want an excuse to visit) you can come into our beautiful office in Williamsburg. Coming into office is entirely optional, some of us come almost every day and some of us come in once a week. No obligation, we just genuinely like each other!
- You’re time zone overlaps with our team. We’re primarily focused on hiring in North American time zones and require that folks have at least 4+ hours of overlap time with team members in Eastern Time Zone
- Operating system experience. Some familiarity with one of our operating systems (Windows, MacOS, Android, iOS) is preferred, but not required
- Compiler experience. You have 5+ years of experience working with language compilers and complex codebases, such as LLVM. Ideally, you’ve worked with Swift and/or C++
- Pragmatism and problem-solving. You’re pragmatic, motivated by nebulous problems, and excited to work in a startup environment with quick product validation cycles
- You resonate with our company values
- A passion for build systems and tooling. You understand how to improve systems to make them easier to understand, debug, and maintain. You’re excited about elegant, maintainable, and easy to use build tooling and configuration
