Senior Software Engineer II - Android

Sorenson Communications•Salt Lake City, UT

About The Position

The Senior Software Engineer II is a technical leader responsible for building, maintaining, and evolving Sorenson’s Android Video Relay Service (VRS) applications. The role focuses on developing high-quality, scalable, reliable Android applications for real-time video communication for Deaf and hard-of-hearing users. Work is primarily in Kotlin with modern Android frameworks, integrating native C/C++ libraries through the Android NDK. The engineer works with minimal oversight, contributes to technical direction, and partners with Product, Design, QA, and native platform teams to deliver accessible, user-centered experiences. The role includes designing, developing, and maintaining native Android VRS applications; building real-time video calling features; integrating a shared native engine; contributing to architecture and platform strategy; and supporting applications throughout design, development, release, and maintenance. It also involves code reviews and mentoring, quality and reliability work, CI/CD and release processes, application monitoring, troubleshooting across application and native layers, and participation in Agile/Scrum activities. Travel is less than 25%.

Requirements

  • 6–8 years of professional software engineering experience.
  • Significant experience developing native Android applications in a production environment.
  • Experience working with complex, large-scale, or mission-critical applications.
  • Experience collaborating in cross-functional, team-based development environments.
  • Experience supporting applications through the full lifecycle: design, development, release, and maintenance.
  • Strong proficiency in Kotlin and Android SDK fundamentals.
  • Experience with Jetpack Compose, Material Design, ViewModel, Navigation, and related Jetpack libraries.
  • Deep understanding of the Android application lifecycle, threading, and performance considerations.
  • Experience configuring and maintaining Gradle builds, flavors, and build types.
  • Strong understanding of Clean Architecture and MVI or MVVM patterns.
  • Experience with dependency injection frameworks such as Hilt or Dagger.
  • Ability to design systems that are testable, scalable, and maintainable.
  • Experience working in multi-module or shared-library codebases.
  • Experience integrating native C/C++ code using the Android NDK.
  • Familiarity with JNI or SWIG-generated bindings.
  • Experience using Retrofit, OkHttp, or similar networking libraries.
  • Familiarity with local persistence using Room, DataStore, or encrypted storage.
  • Understanding of API-driven mobile applications and backend integration.
  • Experience writing unit tests and instrumented Android tests.
  • Ability to troubleshoot complex defects across application and system boundaries.
  • Commitment to delivering reliable, high-quality software in CI/CD environments.
  • Works effectively with Product, QA, Design, and Engineering partners.
  • Communicates technical concepts clearly to technical and non-technical audiences.
  • Demonstrates ownership, accountability, and a proactive mindset.
  • Applicants must be legally eligible to work in the United States; visa sponsorship is not available.

Nice To Haves

  • Bachelor’s degree in computer science, software engineering, or a related technical field, or equivalent practical experience.
  • Understanding of real-time systems, video/audio pipelines, or low-latency communication.
  • React or React Native.
  • TypeScript, JavaScript, or Node.js.
  • WebRTC.
  • SIP (Session Initiation Protocol).
  • AWS.
  • Experience with Android Studio, Git, and GitHub.
  • Experience with GitHub Actions and Fastlane.
  • Experience with Espresso, UIAutomator, and AndroidX Test libraries.
  • Experience with Firebase, Sentry, and Pendo.
  • Experience with Jira and Confluence.

Responsibilities

  • Design, develop, and maintain native Android Video Relay Service applications using Kotlin and Jetpack Compose.
  • Implement features using modern Android architecture patterns, including MVI/MVVM and Clean Architecture.
  • Integrate and maintain native C/C++ videophone libraries using Android NDK, JNI, and SWIG-generated bindings.
  • Develop and support real-time video calling features, including camera, audio routing, call state management, and lifecycle handling.
  • Collaborate across teams working on multiple Android applications that share a common native engine.
  • Contribute to technical design discussions, architecture decisions, and long-term platform strategy.
  • Write clean, maintainable, well-tested code according to engineering best practices.
  • Partner with QA and Product to ensure functional correctness, performance, and reliability.
  • Participate in code reviews, provide constructive feedback, and mentor less-senior engineers.
  • Contribute to CI/CD pipelines and release processes using tools such as GitHub Actions and Fastlane.
  • Monitor application health and stability using observability and analytics tools.
  • Troubleshoot complex issues across application, framework, and native layers.
  • Participate in Agile/Scrum ceremonies and planning activities.
  • Perform other duties as assigned.

Benefits

  • Paid vacation time
  • Paid sick time
  • Paid holidays
  • 401(k) with 6% match and immediate vesting
  • Nationwide medical insurance plans and coverage, including medical, dental/orthodontia, and vision
  • TeleDoc
  • HSA company match
  • Three medical plan options, including a low-deductible PPO medical plan
  • Employee Assistance Program
  • Engaged Employee Resource Groups
  • Learning and career development opportunities
  • Position may be eligible for incentive compensation
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service