Job Title: Android Developer
Location: Hybrid, Richfield, MN
Duration: 12+ Months (Extension Possible)
Hiring Manager Call Notes:
- Looking for a developer (mid-level), 5+ years exp in Java Development, 3+ years in Android Development.
- Basic knowledge of creating apps in Android, he will be working on integration front end mobile app & calling web API written in Java.
- Some exposure to FCM, Fire based messaging system (Google messaging service) basic knowledge is fine.
- Able to debug the application, 2 APIS & 1 service written in Java, 1 android app badaapstore, which has drawer applications. (Pure Android Java based environment).
- database knowledge is plus; API is mandatory in Java.
- 5+ Java exp & 3+ years of exp in Android is priority or React Native exp would be plus.
- Resource constraint, bandwidth capacity.
- Just 1 round of interview, 45 - 1 hour interview.
- Local candidates only or relocation is fine.
- Long term project.
- They have a middleware tool for all the device in retail (Login & security service), tasked on SSO.
- Team size: 7 developers, multiple stacks, work on Dotnet projects, recently Started Java & Android, connection with offshore team as well.
- Matt also handles deployment team.
- 3 days a week hybrid, it may wary
- In-Person interview is preferred but can also do Teams interview.
Tell us about your department:
We build, deploy, and support all infrastructure for retail, supply chain, and corporate employees at Best Buy. Our engineering team has engineers of all types (Windows, Linux, Mac, Android, iOS, Hardware, Software, Security, and Network) as well as a group of developers who help develop software to facilitate deployment and support of this infrastructure.
Project Description:
This developer would be focused on an Android application with a Java back end that we use on our mobile Android devices in the field. This application manages login (OIDC-based SSO), retail time notifications (FCM), and session management for internal as well as third party applications and provides security and usage tracking and reporting.
Position Summary/Job Description:
We re looking for an experienced Android developer to help modernize and add enhancements to this application. We have 2 existing developers working in this space already.
Skills Overview:
What are the top five skills and number of years of experience required to perform this job?
- Technical Requirements (Must-Haves)
- Deep Java & Architecture Expertise:
- Expert-level knowledge of Java 11/17/21 and traditional Android threading models.
- Advanced knowledge of Work Manager, Foreground Services, and Broadcast Receivers.
- Experience managing "Always-On" background services that must survive aggressive battery optimization and system reboots.
- Identity & Security (OIDC):
- Proven experience implementing OIDC (OpenID Connect) and OAuth 2.0 flows using the AppAuth-Android library.
- Experience managing secure token storage via Encrypted Shared Preferences and Master Key management.
- Enterprise Messaging & Handshakes:
- Hands-on experience with Firebase Cloud Messaging (FCM) (Data Messages) and Microsoft Azure Notification Hub (ANH).
- Experience implementing complex registration "handshakes" involving multi-tier authentication and device/session mapping.
- Inter-Process Communication (IPC):
- Proven experience with AIDL (Android Interface Definition Language) and Binders.
- Ability to manage secure communication and state synchronization between multiple separate apps on the same device.
- Modernization & SDK Migration:
- Experience migrating legacy projects (Support Library 28) to AndroidX and Android 14 (API 34).
- Understanding of modern security requirements: Pending Intent mutability, Foreground Service Types, and granular Permission models.
What are some preferred/nice to have skills the manager is looking for?
- Enterprise Device Management:
- Experience with Zebra/Symbol devices, EMDK, DataWedge.
Data Integrity:- Experience with oracle or SQL database for high-volume logging and local configuration storage.
Tooling: - Expert level with Gradle 8.5+, ProGuard/R8, and Git.