Design and implement sophisticated features in our clients Android applications.
Work closely with product and design teams to optimize the experience for Android platform.
Analyze and optimize Android applications.
Experiment with new technologies and features and build quick prototypes.
Participate in managing code & configurations for multiple environments, release management process, creating and maintaining environment configuration and controls, code integrity and work closely with platform team
Analyzing business requirements, story-boards and similar artifacts of the scrum process, work in an agile development environment with a quick turnaround time and iterative builds.
Leads the discovery phase of medium to large projects to come up with high level design
Leads the work of other small groups of three to five engineers
Troubleshoots business and production issues
Ensures inclusion of business vision and industry trends to enable results that drive business
Problem solving and troubleshooting design and development issues and provide appropriate solutions
Ability to communicate effectively, both written and verbal, with technical and non-technical cross-functional teams
Provide guidance and mentorship to the junior engineers
Knowledge of standard tools for optimizing and testing code
A desire to work in a fast-paced and challenging work environment
Utilizes industry research to improve our clients technology environment
Demonstrate a strong understanding of the Android framework and respective component lifecycles.
Expert-level knowledge of Kotlin, Android SDK, and Gradle, and experience working with asynchronously coroutines and dependency injection (Dagger)
Ability to build products with a focus on testability, someone who loves test coverage (well versed with Mockk, Google truth, robo electric and espresso)
Wide experience working in multi module environment projects.
Expert-level knowledge of git and continues integration.
Experience in good app architecture using design patterns such as MVVM, MVP or Clean
Extensive understanding of Android framework components and their respective lifecycles combined with a solid knowledge of multithreading, networking, offline storage, and performance tuning
Build reusable Android components, orchestrate user-interactions integrating with backend services
Work closely with our product, design, and UX teams to create amazing and intuitive experiences that make it effortless to connect different apps together.