Senior Software Engineer II - Android
Role details
Job location
Tech stack
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 highquality, scalable, and reliable Android applications that enable realtime video communication for deaf and hardofhearing 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, usercentered 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 SWIGgenerated bindings.
- Develop and support realtime 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 longterm platform strategy.
- Write clean, maintainable, and welltested 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 lesssenior 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, largescale, or missioncritical applications.
- Experience collaborating within crossfunctional, teambased 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 multimodule or sharedlibrary codebases.
Native Integration & Systems
- Experience integrating native C/C++ code using the Android NDK.
- Familiarity with JNI or SWIGgenerated bindings.
- Understanding of realtime systems, video/audio pipelines, or lowlatency 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 APIdriven mobile applications and backend integration.
Bonus Skills & Knowledge
- React / React Native
- TypeScript / JavaScript / Node.js
- WebRTC
- SIP (Session Initiation Protocol) **
- AWS
Testing, Quality & Reliability ** In priority
- Experience writing unit tests and instrumented Android tests.
- Ability to troubleshoot complex defects across application and system boundaries.
- Commitment to delivering reliable, highquality software in CI/CD environments.
Collaboration & Communication
- Works effectively with Product, QA, Design, and Engineering partners.
- Communicates technical concepts clearly to both technical and nontechnical 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
Benefits & conditions
Full time Benefits
-
Paid Vacation Time and Paid Sick Time and Paid Holidays
-
401k 6% match with immediate vesting
-
Nationwide Medical Insurance plans and coverage (Medical, Dental/Orthodontia, Vision)
-
TeleDoc
-
HSA company match
-
3 Medical plan options including a Low Deductible PPO Medical Plan Offering
Employee Assistance Program
Engaged Employee Resource Groups
Outstanding Learning and Career Development Opportunities
Pay Range: Actual pay may vary up or down depending on job-related factors which may include knowledge, skills, experience, and location. In addition, this position may be eligible for incentive compensation.