iOS SDK Engineer
Daily.co
Software Engineering
Posted on Saturday, January 21, 2023
You'll co-own development and enhancement of our iOS Software Development Kit, help shape the future of all of our video APIs, and lay groundwork to ensure that calls on mobile are always high quality and reliable.
Who we are
Daily is WebRTC video and audio for every developer. We're building the APIs and infrastructure to power the future of video, and the Internet.
Developers use Daily to add real-time video and audio experiences to any product. Our features range from prebuilt UIs and lower-level APIs to call quality data and global infrastructure and compliance. We serve developers across use cases — like events, productivity, edtech, and healthcare — and serve teams of all sizes. We're a remote team led by seasoned executives who value inclusivity and work-life balance, focus on growth (last year we saw 10x growth), and have raised over $60 million in funding to date.
The role
We take pride in making it as easy, fast and flexible as possible for developers to build with video. We are building our first generation of native mobile Software Development Kits (SDKs) for video, and are in need of a talented and experienced iOS developer to join our client SDK team and help us further develop an intuitive, reliable, and delightful iOS SDK.
Building a library for developers is a pretty different task from building an application for consumers, so we are searching for iOS developers with some unusual skills.
The least unusual part for this role is comfort with the iOS ecosystem. We make extensive use of Swift and, where necessary, limited use of Objective-C++ and Objective-C—and our SDK should feel native and natural to everyday iOS app developers. So it should be written by people well versed in iOS’s style and idioms.
Here are some of the unusual parts of this role:
Our system needs deep communication between Apple’s platform APIs and low level libraries. Our native SDK core library is written in Rust, so we pass loads of data from Rust to C, then C to Swift (or Objective-C), and then all the way back! (Here’s a talk one of engineers gave about how we do all this and here’s a post on how and why we use Rust, though some of the benefits are limited with C/C++.) Understanding of memory models, ownership and lifetime models, cross-compilation, and related concepts is very important to writing solid software here.
We make heavy use of iOS's audio and video APIs (Swift), Google's WebRTC project (ObjC/ObjC++/C++), and Mediasoup (C++). Those each involve deep concepts and tooling. Everyday conversations range from OS graphics frameworks to stream multiplexing to API design.
This work requires both independence and strong collaboration skills. You'll be one of two iOS engineers making big decisions for iOS and being the experts, but you’ll also collaborate with other SDK owners who have conflicting opinions and needs. It's important to communicate early, often, and charitably, but also to work comfortably with little to no guidance.
We will also eventually begin exploring and supporting other SDK environments (e.g. Flutter), and will likely grow the team. We need help writing a great API, and we also need help building a good documentation base and test infrastructure. All while keeping a positive and curious environment on our team.
What you'll do
Build new video call features in Swift on top of our initial iOS library
Establish new communication pathways between low level WebRTC libraries and our clients' applications.
Shape the future of Daily's call APIs
Cooperate with a Test Automation Engineer to establish infrastructure required to maintain a high floor on call quality and reliability
What you’ll need
Deep experience (probably at least five years) building iOS SDKs with hairy interdependencies, preferably using Swift
Experience using the pointer and cross-language interop APIs and their semantics to communicate between Swift and C/Objective-C
Experience in Rust—or excitement about learning and using it
Solid writing skills for communicating clearly with coworkers
Comfort both working very independently and as part of a team, and balancing requirements between them
Solid experience with AVFAudio/AVFoundation and Metal is a plus and would complement the expertise of our current iOS engineer
Experience with WebRTC and specifically with Mediasoup would be very handy, but if you’re new to these technologies and excited to learn, that works!
Active curiosity about or experience with Flutter is also a plus
Because Daily is a remote company and we do a lot of asynchronous work (this specific team has members mostly in the US East and Central Europe timzeones), effective writing is very important to us — so your cover letter is a key part of your application
Compensation and benefits
We level based on years of relevant experience; each engineering level has one salary and equity. Compensation also is the same rate regardless of location. (We updated our compensation in January 2022 after an extensive internal process. The linked post talks about how we level candidates, in part because we believe clarity in levels benefits all of us. It’s also the case we strive to be consistent among staff on each team, and we haven’t included all of the details about how we level every role. If you apply and we get to the offer stage, we’ll be actively interested in learning about your experiences—but we may count certain work as indirect to maintain fairness within our team. If we’re in that discussion with you, we’ll do our best to share all the information that informs our decision.)
Level 3: 5-6 yrs relevant experience, $155,000
Level 4: 7-8 yrs, $180,000
Level 5: 9-10 yrs, $210,000
Level 6: 11-14 yrs, $240,000
Level 7: 15+ yrs, $270,000
Medical, dental, and vision group coverage for US teammates
Matching 401k for US teammates
Local country payroll/coverage for teammates outside the US
PTO: We ask that you take at least four weeks paid vacation
Parental leave: paid 4 months leave
IT budget: please get what you need to be effective
Professional learning and development budget
Remote team: work from anywhere — this team mostly resides in the US East and Central Europe timezones, and you’d need to have some synchronous time each week
More about us
Applying and interviewing is tough — thanks for considering us. We try to make it as humane as possible by sharing information with you as we go and keeping things moving to the best of our ability. Below is an overview of our full process.
We’re fully remote and always have been, with engineers around the world. Our leadership team includes people who have run remote teams for years.
Excellence requires diversity: we strongly encourage candidates from underrepresented backgrounds in technology to apply.
Please learn about us, https://daily.co/jobs. As it says, we care deeply about what we build and seek kindness and diversity.
We believe in a healthy work-life balance. We’re a startup, but we work reasonable hours and want you to use your vacation time (seriously). Take care of yourself and your family's time.
Daily has raised over $60 million from investors including Renegade Partners, Lachy Groom, Tiger Global, Slack Fund, Y Combinator, and leading angels like April Underwood, Aston Motes, Rahul Vohra, and Scott Belsky.
More on our hiring process
If we’d like to move ahead, we’ll ask you for a call. Here’s what our whole interview process typically looks like, with minor variations, depending on who’s available for which conversations:
Hello call. Our VP of Engineering has a video call with you. This is to learn about each other, and see if we can have a good conversation about where we're a mutual fit. We'll tell you about what we're building, how we think about the market opportunity, and how our team works. We're eager to learn about you.
Take-home exercise — compensated. We don’t do live exercises or tests. Instead, we give you a sample project to work on on your own schedule. It’s several hours of thinking and writing. We will pay you for your time.
Teammate video calls — two of these, and each may include a couple of Daily staff. We’ll use the first to talk about your take-home and other automation and devtool focused topics. The second will likely focus on bigger-picture topics. We’ll let you know ahead of time who you’ll be meeting with.
Cofounder call. You’ll have a video call with one of our two co-founders. We’re still small enough that it’s important to meet them as part of the process.
References. We talk to at least two people. We typically ask to talk to a peer and a manager.
Wrap-up call. You’ll talk again with our VP of Engineering about specific projects and teams you might join.
How to apply
Research shows that applicants who are female or non-binary, as well as applicants who are people of color, are less likely to apply for roles they do not feel 100% qualified for. If you think you meet more than 60% of our requirements but fewer than 100%, please apply. Our job posting is the starting point for discussion rather than a perfect description of what we need.
Equal Opportunity Employer
Daily is an equal opportunity employer. We don't discriminate against people because of their race, ethnicity, sex, age, religion, national origin, marital status, pregnancy, personal appearance, veteran status, disability, sexual orientation, gender identity or expression, family responsibilities, or political affiliation.