Job Title: Software Engineer (Android // Backend)
The Software Engineer is responsible for designing, developing, and delivering high-quality mobile and web applications with a dual focus on Android application development and backend systems. In this role, you will work closely with cross-functional teams to architect, build, and continuously improve secure, scalable, and high-performance systems. You’ll leverage modern development frameworks and tools, transforming business and technical requirements into efficient, maintainable code while proactively enhancing system performance, availability, and scalability.
Responsibilities:
- Develop and maintain backend services, APIs, and infrastructure to support operational and IT needs.
- Design and implement scalable, high-availability solutions for on-premise and cloud environments.
- Collaborate with engineering and IT teams to understand requirements and implement effective, scalable solutions.
- Troubleshoot and optimize applications for performance, reliability, and security in self hosted environments.
- Document software development processes, code changes, and troubleshooting techniques for organizational knowledge sharing.
- Implement CI/CD pipelines, version control best practices, and automation for on-prem and cloud deployments
- Stay current with emerging software development trends, tools, and technologies.
Qualifications:
- Have proficiency and hands-on experience building Android applications in a production environment using: (Kotlin, Jetpack, Compose, Coroutines, Gradle etc.).
- Have experience building maintainable and testable code bases, including API design and unit testing techniques.
- Experience working with relational and non-relational databases.
- Strong understanding of Linux-based systems, networking, and security best practices.
- Experience with container orchestration tools (Docker Swarm, Kubernetes, or Nomad).
Desired Qualifications:
- In-depth knowledge of the Android SDK, Android Studio, the Android stack, and software architecture layers, to include experience with Treble and the HAL layers.
- Familiarity with offline storage, threading, performance tuning, and the use of additional sensors, such as gyroscopes and accelerometers.
- Experience with self-hosted deployments, or private cloud environments.
- Proficiency in infrastructure as code tools (Terraform, Ansible, or similar).
- Published apps on Google Play store.
Key Competencies:
- Strong problem-solving and troubleshooting skills
- Expertise in Android development, API integration, backend technologies, networking protocols, and data security
- Excellent collaboration and communication skills
- Ability to adapt to dynamic environments and evolving technical requirements
Location/Travel:
- Based in Washington, DC desired, with some travel required to support client engagements.