Sr. Android Software Engineer
- Hybrid
- All software engineering jobs
- Full Time
- Engineering
About the role
We are currently seeking a Software Engineer with specific Android experience. This is a full time salaried position. You will join a team of world class engineers and developers solving complex problems, building new product lines, and expanding existing products and services. You will be rewarded for creativity and innovation. In this role, you will be joining a team responsible for developing next generation SDK's, tools, and apps that drive millions, and potentially billions, of payment transactions — including apps that integrate directly with payment terminal hardware and manage unattended, kiosk-mode Android devices in the field.
Essential Functions:
- Analyze, design, program, debug, and modify complex software enhancement features and/or new software products.
- Improving the performance of existing software.
- Debug and fix software including difficult issues using a broad knowledge of technologies.
- Participate in and influence project teams to create working software.
- Provide input and lead code reviews and technical meetings.
- Recommending new technologies that can help increase productivity.
- Contribute and influence project planning and estimates.
- Protect company proprietary and confidential information.
- Regularly attending team meetings to discuss projects, brainstorm ideas, and put forward solutions to any issues.
- Other duties as assigned.
Required Skills and Experience
- At least a BS/BA Degree in MIS, Computer Science, Engineering, or related field
- 6+ years of Android Experience, building applications or libraries
- 4+ years of Kotlin Experience
- Hands-on experience with Jetpack Compose (this is a Compose-first, XML/View-free environment)
- Candidate must have a commitment to industry best demonstrated practices, source code control, architecture, coding structure, and unit/system testing
- Strong object oriented programming experience
- Strong experience with Kotlin Coroutines and Flow for multithreaded and asynchronous programming
- Strong trouble-shooting and debugging skills
- Ability to design, plan, and implement features based on product requirements
- Experience with interfacing with RESTful services and consuming JSON or XML
- Familiarity with Source Control tools (Git)
- Experience working in large, multi-module Android projects (15+ modules) with dependency injection (Dagger/Hilt)
- Great English written and verbal communication skills
- Excellent multi-tasking skills, managing multiple initiatives at one time in a fast-paced environment
Desired Skills and Experience
- Experience with Material Design 3 or modern Android design systems — our CX application is actively migrating to M3 design guidelines
- Experience with Kotlin Multiplatform (KMP) development
- Experience in Unit Testing with Dependency Injection, including JUnit, Kotest, and MockK/Mockito
- Experience communicating with external devices over sockets or serial protocols (TCP/IP, USB, Bluetooth) — particularly integrating with POS/payment terminal hardware, printers, or similar embedded/peripheral devices
- Experience integrating multiple third-party or vendor SDKs behind a shared abstraction layer (e.g., supporting several hardware vendors from one codebase via product flavors)
- Experience with unattended or kiosk-mode Android device management (device admin, persistent launcher apps, remote provisioning)
- Experience with Agile/Scrum
- Experience creating and consuming AARs/JARs, including private Maven repositories (e.g., Artifactory/JFrog)
- Strong interest in the tooling/development process with continuous integration (Azure Pipelines, SonarQube, code coverage tooling)
- Proficiency with AI-assisted development tools (e.g., Claude Code, GitHub Copilot) to accelerate coding, debugging, code review, and test authoring
- Understanding of data security, encryption handling, PCI/EMV compliance, data privacy and related regulations
Description as published by FreedomPay.