{"id":1931754,"url":"https://alion.io/job/semperis-android-software-engineer","title":"Android Software Engineer","company":{"id":685815,"name":"Semperis","domain":"semperis.com","url":"https://alion.io/company/semperis","size_band":"201-500","is_staffing_agency":false,"employer_type":"direct","is_intermediary":false,"listed_via":null,"ats_vendor":"Ashby","truth_index":{"grade":"A","score":94,"open_postings":4,"ghost_share":0,"stale_share":0.25,"repost_share":0,"time_to_fill_p50_days":45,"computed_at":"2026-10-06T05:45:30Z"}},"role":"Mobile","role_family":"Mobile","seniority":"middle","employment_type":"full_time","work_mode":"hybrid","remote_scope":null,"remote_scope_basis":null,"remote_working_hours":null,"hiring_geo_confidence":"structured","locations":["Toronto, Canada"],"countries":["CA"],"hiring_countries":[],"hiring_countries_total":0,"salary":null,"salary_estimate":null,"experience_years_min":3,"visa_sponsorship":false,"relocation_package":false,"has_equity":false,"technologies":[{"name":"Active Directory","optional":false},{"name":"Android SDK","optional":false},{"name":"Azure","optional":false},{"name":"CI/CD","optional":false},{"name":"Dependency Injection","optional":false},{"name":"Git","optional":false},{"name":"Gradle","optional":false},{"name":"Hilt","optional":false},{"name":"Jetpack Compose","optional":false},{"name":"Kotlin","optional":false},{"name":"Kotlin Coroutines","optional":false},{"name":"Microsoft Entra ID","optional":false},{"name":"OkHttp","optional":false},{"name":"Rest API","optional":false},{"name":"Retrofit","optional":false},{"name":"ViewModel","optional":false},{"name":"WebSockets","optional":false},{"name":"C++","optional":true},{"name":"Crashlytics","optional":true},{"name":"Dagger","optional":true},{"name":"Java","optional":true},{"name":"WebRTC","optional":true}],"status":"live","first_seen_at":"2026-10-05T21:51:31Z","employer_posted_date":"2026-10-06","last_verified_at":"2026-10-07T00:07:44Z","board_verified":true,"closed_at":null,"days_open":1,"trust":{"level":"ok","repost_count":null,"flags":[],"days_open":1},"description":"At Semperis, our mission is to be a Force for Good. Starting with being a great place to work. We believe that when people feel valued, supported, and empowered, they do their best work. That’s why we focus on creating an employee experience rooted in purpose, growth, and balance. Semperis has been recognized as one of America’s Fastest-Growing Cybersecurity Companies by the Inc. 5000, a DUNS 100 Top Startup to Work For, and a multi-year Inc. Best Workplace awardee.\nAndroid Software Engineer\nReady1 Mobile · Full-time · Toronto, Canada (Hybrid) · Mid-level\nWe're looking for an Android Software Engineer to join our team. As part of our growing team, you'll play a key role in protecting enterprises from cyber threats, while working with some of the brightest minds in cybersecurity and Identity Access Management.\nAbout Semperis\nSemperis protects hybrid Active Directory and Entra ID environments for enterprises worldwide. Our products help security and identity teams detect, respond to, and recover from identity-driven attacks.\nAbout Ready1\nReady1 is a mobile incident-response product that helps security and identity teams act quickly when they are away from their desks. It enables teams to triage incidents, coordinate response activities, join secure video bridges, and communicate in real time. Built for enterprise environments, Ready1 supports secure authentication, multi-region services, and reliable mobile workflows across Android and iOS.\nWhat You'll Be Doing\nYou'll own secure, production-ready Android features for Ready1 from design through Google Play release. You'll collaborate with iOS, backend, product, design, QA, and security partners to improve reliability, quality, and delivery speed for identity and incident-response teams operating across regions.\nYour Key Responsibilities\nDesign, implement, test, and ship native Android features in Kotlin for Ready1.\n\nBuild and evolve Jetpack Compose interfaces while thoughtfully migrating legacy RecyclerView and XML components.\n\nImplement and maintain secure authentication and session flows using technologies such as MSAL, Azure AD B2C, biometrics, and passkeys.\n\nIntegrate REST APIs (Retrofit / OkHttp) with resilient loading, error, retry, and empty states, including support for multi-region routing.\n\nContribute to real-time chat and video experiences using SignalR, WebSockets, and Azure Communication Services.\n\nApply and improve app architecture using Hilt dependency injection, ViewModels, repositories, use cases, and clear feature packages.\n\nWrite unit and UI tests and maintain small, reviewable pull requests that meet quality and coverage standards.\n\nSupport release activities, including Gradle flavors, signing, Play Console uploads, and post-release crash and log triage.\n\nApply secure mobile practices for tokens, secrets, permissions, local data, logging, and privacy.\n\nCollaborate across engineering, product, design, QA, and security to clarify requirements, communicate tradeoffs, and deliver supportable releases.\n\nWhat You Bring to the Table\nTypically 3+ years of experience shipping production Android applications.\n\nStrong Kotlin and Android SDK fundamentals.\n\nHands-on experience building production interfaces with Jetpack Compose.\n\nExperience with coroutines, Flow, and lifecycle-aware Android architecture.\n\nWorking knowledge of Jetpack components, including ViewModel and Navigation, and Gradle-based projects in Android Studio.\n\nExperience integrating REST and JSON APIs (ideally Retrofit / OkHttp) and troubleshooting authentication, token refresh, and unreliable network conditions.\n\nAn automated testing mindset, with experience in unit testing and Android UI testing.\n\nFamiliarity with Git, pull requests, code review, and continuous integration.\n\nPractical understanding of mobile security, including secure handling of tokens, secrets, permissions, and local data.\n\nClear written and verbal communication and the ability to take a feature from ambiguity to a supportable release.\n\nBonus Points\nExperience with MSAL, Azure AD B2C, OAuth/OIDC, passkeys, WebAuthn, or enterprise identity-provider integrations.\n\nExperience using Hilt or Dagger dependency injection in a non-trivial application.\n\nExperience with real-time clients such as SignalR or WebSockets, or with VoIP and video technologies such as Azure Communication Services or WebRTC.\n\nExperience with multi-flavor or multi-environment builds, Play App Signing, internal testing, and staged rollouts.\n\nExperience with Crashlytics or similar diagnostics, structured logging, and production incident triage.\n\nExperience with cybersecurity products, security operations or incident-response tools, or regulated enterprise software.\n\nExperience with accessibility, internationalization, feature flags, or design systems.\n\nComfort working around native NDK or C++ modules, or collaborating on shared mobile product decisions across Android and iOS.\n\nWhy Join Semperis? \nYou’ll be part of a global team on the front lines of cybersecurity innovation. At Semperis, we celebrate curiosity, integrity, and people who take initiative. If you’re someone who sees the glass as half full, embraces challenges as growth opportunities, and values a healthy balance between work and life-we’d love to meet you.\n**Semperis maintains office locations in several cities across the globe. Where the job description specifies a required location, candidates will follow our hybrid work model. This includes working up to three days per week and remotely the remaining days.\nSemperis is an equal opportunity employer and will not discriminate against an applicant or employee based on race, color, religion, creed, national origin or ancestry, ethnicity, sex (including gender, pregnancy, sexual orientation, and gender identity), age, physical or mental disability, veteran or military status, genetic information, citizenship, marital status, or any other legally recognized protected basis under federal, state, or local law. The information collected by the Semperis application is solely to determine suitability for employment, verify identity, and maintain employment statistics.\nApplicants with disabilities may be entitled to reasonable accommodation under the Americans with Disabilities Act and/or other applicable state or local laws. A reasonable accommodation is a change in the way things are normally done which will ensure an equal employment opportunity without imposing undue hardship on Semperis. Please inform Semperis representative Anna Taylor, Director of Global Recruiting, if you need assistance completing this application or to otherwise participate in the application process.","description_format":"text","description_chars":6660,"description_truncated":false,"requirements":{"experience_years_min":3,"management_years_min":null,"team_size_min":null,"manages_managers":false,"education":null,"security_clearance":false,"languages":[]},"benefits":["Growth opportunities","Hybrid work"],"hiring_locations":[{"name":"Canada","iso":"CA","kind":"country"}],"hiring_excludes":[],"relocation_offered":false,"industries":["Identity Management","Information Security","Incident Response"],"lifecycle":[{"event":"open","at":"2026-10-05T22:09:58Z"},{"event":"close","at":"2026-10-06T13:10:14Z"},{"event":"reopen","at":"2026-10-06T15:58:16Z"}],"visa":[],"liveness":{"score":86,"band":"hot","label":"Hiring now","p_open":1,"p_active":0.86,"p_room":1,"age_days":0,"expected_fill_days":45,"reasons":["conf:0","win:early"],"computed_at":"2026-10-06T05:45:30Z"},"pay":null,"html_url":"https://alion.io/job/semperis-android-software-engineer","json_url":"https://alion.io/job/semperis-android-software-engineer.json","meta":{"generated_at":"2026-10-07T01:41:13Z","cache_seconds":300,"methodology":"https://alion.io/methodology","terms":"https://alion.io/terms","contact":"https://alion.io/contact","api":"https://alion.io/developers","about":"Alion is a live layer of people, companies and AI agents: who they are, whether they are real and active right now, what they do and how to work with them, readable by people and by agents and paid per call.","catalog":"https://alion.io/catalog.json","usage":{"tier":"crawler","counted_by":"address","units_charged":1,"used_today":2743,"day_limit":5000,"remaining_today":2257,"minute_limit":60,"resets_at":"2026-10-08T00:00:00Z"}},"offers":[{"id":"company.slices","title":"One company in depth, by slice","status":"live","price":{"credits":0.02,"usd":0.002,"plus_per_slice":{"credits":0.05,"usd":0.005}},"unit":"per company, plus each slice with data","note":"the employer in depth","call":{"mcp_tool":"get_company","arguments":{"id":685815},"rest":"https://alion.io/mcp/rest/get_company?id=685815"},"human":"https://alion.io/catalog?offer=company.slices&for=job%2Fsemperis-android-software-engineer"},{"id":"market.stats","title":"A market slice: pay, demand and time to fill","status":"live","price":{"credits":1,"usd":0.1},"unit":"per slice","note":"pay, demand and time to fill for this role and place","call":{"mcp_tool":"market_stats"},"human":"https://alion.io/catalog?offer=market.stats&for=job%2Fsemperis-android-software-engineer"},{"id":"job.search","title":"Open jobs by role, technology, place, pay and visa","status":"live","price":{"credits":0.02,"usd":0.002},"unit":"per posting in a list","note":"similar open postings","call":{"mcp_tool":"search_jobs"},"human":"https://alion.io/catalog?offer=job.search&for=job%2Fsemperis-android-software-engineer"},{"id":"company.verify","title":"Is this company real and active right now","status":"pilot","price":null,"unit":"per company","request":{"url":"https://alion.io/catalog/request","method":"POST","body":"{\"offer\": \"company.verify\", \"for\": \"job/semperis-android-software-engineer\", \"note\": \"what you need it for\"}"},"human":"https://alion.io/catalog?offer=company.verify&for=job%2Fsemperis-android-software-engineer"}]}