Senior Software Engineer II - Android

Sorenson Communications
Salt Lake City, United States of America
5 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior

Job location

Salt Lake City, United States of America

Tech stack

JavaScript
Multitier Architecture
Amazon Web Services (AWS)
Android
Android NDK
Android Studio
Confluence
JIRA
Unit Testing
C++
Mobile Application Development
Code Review
System Configuration
Continuous Integration
Data Stores
Dependency Injection
Github
Gradle
Mobile Application Software
Java Native Interface
Session Initiation Protocols
Model View ViewModel
Node.js
Scrum
Material Design
Software Engineering
Systems Integration
TypeScript
WebRTC
Real Time Systems
React
Firebase
GIT
Kotlin
Computer Equipment
Information Technology
Low Latency
Sentry
Jetpack Compose
Enterprise Integration
React Native
Api Design

Job description

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., 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.

Requirements

Bachelor's degree in computer science, software engineering, or a related technical field preferred, or equivalent practical experience., * 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.

Knowledge, Skills, and Abilities

Android & Mobile Engineering

  • 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.

Architecture & Development Practices

  • 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.

Native Integration & Systems

  • Experience integrating native C/C++ code using the Android NDK.
  • Familiarity with JNI or SWIG-generated bindings.
  • Understanding of real-time systems, video/audio pipelines, or low-latency communication is preferred.

Networking, Data & Persistence

  • 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.

Bonus Skills & Knowledge

  • React / React Native
  • TypeScript / JavaScript / Node.js
  • WebRTC
  • SIP (Session Initiation Protocol)
  • AWS

Testing, Quality & Reliability

  • 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.

Collaboration & Communication

  • 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.

Tools (Preferred)

  • Android Studio, Git, GitHub
  • GitHub Actions, Fastlane
  • Espresso, UIAutomator, AndroidX Test libraries
  • Firebase, Sentry, Pendo
  • Jira, Confluence, * Able to sit and/or stand for extended periods in an office environment.
  • Dexterity of hands and fingers to operate a computer keyboard, mouse, and other computer equipment.
  • Ability to sit at a workstation for long periods completing development, testing, or documentation tasks.
  • Must be able to lift a minimum of 50 pounds.

About the company

As one of the world's leading language services providers, Sorenson combines patented technology with human-centric solutions. We strive to increase accessibility and inclusion through communication solutions for all: 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 our employees and the communities we serve. We achieve great things together working The Sorenson Way with our employee values: Customer First, Can-Do Attitude, Collective Action, Growth Mindset, Ownership, and Connect Direct.

Apply for this position