Discover your future at Citi : Working at Citi is far more than just a job. A career with us means joining a team of more than 230,000 dedicated people from around the globe. At Citi, you’ll have the opportunity to grow your career, give back to your community and make a real impact.
Job Overview : Responsibilities :
- Capable of research in root cause of development and performance concerns as well as the resolution of defects.
- Have a deep understanding of the technical requirements for the solutions being built.
- Understand engineering needs including those required to build, maintain, and operate the system through all phases of its life.
- Proficient in information modeling, data structures and algorithms.
- Understand maintenance characteristics, runtime properties and dependencies that exist in support of your system’s software. These dependencies will include but not limited to: hardware, platform, operating system, performance and load requirements, as well as contingencies with upstream and downstream systems.-
- Work with limited guidance, seeking guidance only as needed as the development and delivery strategy is defined; the design is not.- Partner with industry vendors that provide technology or user experience design components that support our Digital architecture and work with vendors on our implementation plans and roadmaps identifying partnership opportunities to increase our development velocity and our learnings.
- Participates in the full development life cycle, identify dependencies between agile and waterfall delivery, working within broadly defined parameters, including test plan execution and software quality needs
- Directly impact the business by influencing strategic functional decisions through advice, counsel or provided services.
This will require persuading and influencing others through strong and comprehensive communication and diplomacy skills.
- Communicate progress, anticipate bottlenecks, provide escalation management, identify, assess, track and mitigate issues/risks at multiple levels.
- Recognize discordant views and take part in constructive dialog to resolve them.
- Work across teams to optimize processes.
- Regularly review metrics and proactively seek out new and improved mechanisms for visibility ensuring your program stays aligned with organization objectives.
- Continuously assess development processes, test plans, and operations.
- Work with teams to improve concurrent project delivery.
- Streamline and / or eliminate excess process in any area of architecture, build, delivery, production operations environment, or business area where the same efforts (or issues) are repeated year-over-year.
- Share knowledge with the team in various forums (brown bags, engineering forums etc.) and demonstrate a higher level of knowledge through industry certifications Recommended Qualifications - 5+ years of hands-on experience with Kotlin (strong preference for Kotlin-first development; Java familiarity a plus)- Deep understanding of the Android SDK , platform lifecycle, and Google ecosystem (Jetpack, Android Runtime, etc.)
- Strong understanding of Android internals — memory management, process lifecycle, activity/fragment back stack,
and app lifecycle at a low level
- Experience with networking layers , Retrofit, OkHttp, and custom network stack implementations
- Proficiency with data persistence strategies (Room, SQLite, DataStore, SharedPreferences, EncryptedSharedPreferences)
- Solid understanding of security best practices at the OS level (certificate pinning, Android Keystore, data encryption, ProGuard/R8 obfuscation)
- Familiarity with performance profiling and optimization using Android Studio Profiler (memory leaks, CPU usage, rendering bottlenecks, battery impact)
- Solid hands-on experience with multi-threading and concurrency — Kotlin Coroutines, coroutine scopes, dispatchers, and channels
- Proficiency with Kotlin Coroutines & Flow (structured concurrency, StateFlow, SharedFlow, cold vs. hot streams)
- Experience with WorkManager for background task scheduling and constraint-based execution
- Ability to identify and resolve concurrency-related issues such as race conditions, deadlocks, and thread contention
- Experience writing thread-protected code using synchronization primitives (Mutex, Semaphore, atomic references)
- Proven experience with core structural/architectural design patterns such as MVC, MVP, MVVM, or MVI (Model-View-Intent)
- Experience designing and implementing modular, scalable app architectures suitable for large enterprise codebases
- Strong understanding of dependency injection using Hilt or Dagger, and SOLID principles in Kotlin
- Demonstrated ability to decompose complex screens into reusable, composable UI components (not just building screens end-to-end)
- Experience building and maintaining shared UI component libraries or design systems within an Android cod
📌 Senior Android Developer - Assistant Vice President (Chennai)
🏢 Citi
📍 Chennai