Senior Software Engineer II - Android

CaptionCall by SorensonSalt Lake City, UT

About The Position

Harnessing the power of language, Sorenson's mission is to connect diverse people and enrich the human experience. Their vision is to provide global language services that expand opportunities, nurture belonging, and empower the world to connect beyond words. As one of the world’s leading language services providers, Sorenson combines patented technology with human-centric solutions, striving to increase accessibility and inclusion through communication solutions for all, including call captioning and video relay services, over-video and in-person sign language and spoken language interpreting, translation, real-time captioning, and post-production language services. Sorenson’s impact vision and plan extend to enhancing generational wealth and inclusive workplaces for their employees and the communities they serve, working with values such as Customer First, Can‑Do Attitude, Collective Action, Growth Mindset, Ownership, and Connect Direct. The Senior Software Engineer is a technical leader responsible for building, maintaining, and evolving Sorenson’s Android Video Relay Service (VRS) applications. This role focuses on developing high‑quality, scalable, and reliable Android applications that enable real‑time video communication for deaf and hard‑of‑hearing users. This position works primarily in Kotlin using modern Android frameworks, integrating complex native C/C++ libraries through the Android NDK. The Senior Software Engineer II operates with minimal oversight, contributes to technical direction, and partners closely with Product, Design, QA, and native platform teams to deliver accessible, user‑centered experiences.

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 within cross‑functional, team‑based development environments.
  • Experience supporting applications through 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 Android application lifecycle, threading, and performance considerations.
  • Experience configuring and maintaining Gradle builds, flavors, and build types.
  • Strong understanding of clean architecture, 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 both technical and non‑technical audiences.
  • Willing to ask questions, challenge assumptions, and advocate for sound engineering practices.
  • Demonstrates ownership, accountability, and a proactive mindset.

Nice To Haves

  • Understanding of real‑time systems, video/audio pipelines, or low‑latency communication is preferred.
  • React / React Native
  • TypeScript / JavaScript / Node.js
  • WebRTC
  • SIP (Session Initiation Protocol)
  • AWS
  • Android Studio
  • Git
  • GitHub
  • GitHub Actions
  • Fastlane
  • Espresso
  • UIAutomator
  • AndroidX Test libraries
  • Firebase
  • Sentry
  • Pendo
  • Jira
  • Confluence

Responsibilities

  • Design, develop, and maintain native Android Video Relay Service (VRS) applications using Kotlin and Jetpack Compose.
  • Implement features using modern Android architecture patterns (MVI / MVVM, Clean Architecture).
  • Integrate and maintain native C/C++ videophone libraries via Android NDK, JNI, and SWIG‑generated bindings.
  • Develop and support real‑time video calling functionality including camera, audio routing, call state management, and lifecycle handling.
  • Collaborate across teams working on multiple Android applications sharing a common native engine.
  • Contribute to technical design discussions, architecture decisions, and long‑term platform strategy.
  • Write clean, maintainable, and well‑tested code following engineering best practices.
  • Partner with QA and Product to ensure functional correctness, performance, and reliability.
  • Participate in code reviews, providing constructive feedback and mentoring 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.
  • Other duties as assigned.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service