Android Developer
Title : Software Engineering - iOS/Android - IntermediateLocation: New York, NYOnsite Type: Contract to hireMust-have requirementsExperience building and shipping Android apps in production; ownership of features end-to-end.Language: Strong Kotlin (incl. coroutines); solid grasp of OOP, SOLID, and pragmatic design patterns.Modern UI: Jetpack Compose (preferred) and/or strong XML UI skills; theming, accessibility, localization, multiple screen sizes.Architecture: Hands-on delivery using MVI (unidirectional data flow): intents/actions → reducer → state; clear state modeling; side-effects handled cleanly.Async & state: Coroutines + Flow/StateFlow, structured concurrency, cancellation, threading, and backpressure awareness.Dependency Injection: Production experience with DI (commonly Hilt/Dagger); scoping, component design, testability.Android fundamentals: Lifecycle, Navigation, background work (WorkManager), permissions, deep links, notifications.Data layer: Room and DataStore; caching strategies; offline/poor-network handling.Networking: REST integration (e.g., Retrofit/OkHttp—verify org-approved libs), auth/token handling, pagination, retries, robust error handling.Testing & quality: Unit tests for reducers/use-cases, ViewModel tests, some UI tests; CI-friendly builds; lint/static analysis usage.Debugging & performance: Profiling, crash/ANR triage, memory/leak awareness, performance tuning in Compose.Delivery practices: Git workflow, code reviews, refactoring, clear documentation/ADRs when introducing architectural changes.