hero

Opportunities at Craft portfolio companies

173
companies
1,298
Jobs

Senior Mobile Engineer, Kotlin Multiplatform

OpenPhone

OpenPhone

Canada · Remote
Posted on Nov 18, 2024

For millions of teams working in dozens of industries, day-to-day business gets done on the phone. So why — despite the huge leaps we've taken in design and usability — does most business phone software still look, feel, and act like it was born in the 90s? OpenPhone is changing that.

We’re a new type of business phone with a mission to help people communicate better and be more productive.

We’re backed by Y Combinator and some of the best venture firms around including Tiger Global, Craft Ventures, Slow Ventures, and others. We take pride in providing an exceptional customer experience and a product people love, which is why we’re excited that our customers have rated us the #1 VoIP Provider on G2.

OpenPhone is the modern, sophisticated answer to the clunky, outdated phone systems that have been slowing down businesses for years. With thousands of happy customers and several rounds of funding in just five years, it's safe to say we're onto something big.

About the Role

As part of our mobile engineering team, this role focuses on advancing our adoption of Kotlin Multiplatform(KMP) by adapting and optimizing shared module APIs for our iOS app. While our Android codebase has already been refactored to support KMP, our iOS implementation is still in its early stages. You’ll play a critical role in leading this migration effort, ensuring the shared modules integrate smoothly with the iOS codebase while maintaining high standards for performance, usability, and reliability.

You’ll work closely with iOS engineers, Android engineers, and product stakeholders to deliver a seamless experience for our users, all while streamlining development across platforms. Simply put, you’ll help shape the way OpenPhone builds mobile apps for years to come.

Some of the areas you’ll support:

  • Shared Module Adaptation: Adapting and optimizing shared Kotlin modules to integrate effectively with our iOS project, ensuring APIs feel native and intuitive for iOS developers.
  • iOS Migration Efforts: Leading the migration of existing iOS functionality to leverage KMP while maintaining performance and usability.
  • Collaboration Across Platforms: Partnering with Android engineers to understand existing shared functionality and extend it to meet iOS requirements.
  • Code Refactoring: Improving and modernizing the iOS codebase to align with KMP principles, making it more modular and maintainable.
  • Scalability: Ensuring shared components are scalable and provide a strong foundation for future cross-platform development.

Your contributions will directly impact our ability to scale efficiently across platforms while delivering a best-in-class mobile experience.

Technical Stack and Tools

  • Our Android codebase is built in Kotlin and has been architected to support KMP.
  • iOS development is primarily in Swift and RxSwift, with SwiftUI for new features and UIKit where necessary.
  • Shared modules leverage KMP with tools like Ktor, SQLDelight, and kotlinx.serialization.
  • Collaboration tools include Linear, Slack, and Notion, with Figma for design handoff and UI collaboration.

About You

  • You have significant experience with Kotlin Multiplatform and a proven track record of integrating shared modules into native iOS projects.
  • You’re highly skilled in iOS development and understand how to adapt Kotlin APIs to feel native for iOS.
  • You have a strong understanding of mobile architecture patterns and experience refactoring and modernizing legacy codebases.
  • You enjoy solving complex problems, writing maintainable and testable code, and ensuring that the shared codebase works seamlessly across platforms.
  • You thrive in cross-functional teams and are an effective communicator who enjoys working with engineers from different domains.
  • You’re proactive, curious, and excited to help drive innovation in cross-platform mobile development.

The annual base salary range for this position is $197,000 - $217,000 CAD, plus equity and benefits.

The range displayed reflects the target for new hire salaries, and within this range, individual pay is determined by your skills and experience, as well as relevant education. Your recruiter can share more and answer questions about the specific salary range during the hiring process.

Salary is just one component of OpenPhone’s total compensation package. Your total rewards package will include equity, extensive medical coverage, a monthly lifestyle stipend, and a flexible PTO policy.

Who we are

As a fully remote company, we thrive asynchronously as a team. We are curious, ambitious, and dedicated to our work. We value trust above all else, and have a strong bias for action. If you're looking for a place to do your life's work, please get in touch. We'd love to hear from you.

And remember, there's no such thing as a 'perfect' candidate. We're looking for optimists with grit and determination, who are excited to face the challenges of a growing startup. OpenPhone is the type of company where you can grow, and we encourage you to apply for this role even if you don't think you meet all the requirements.

We are committed to creating an inclusive and diverse work environment. It is important that you are able to bring your authentic self to work every day. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status. #LI-Remote