Building mobile applications for Googles Android platform.
Collaborating with the design team to define app features.
Recognizing the Material design language, Android platform and Google s guidelines and building native applications accordingly.
Ensuring quality and performance of application to specifications.
Identifying potential problems and resolving application bottlenecks.
Fixing application bugs before final release.
Publishing application on App Store.
Taking feedback from users, colleagues and managers and using the environment to continuously improve yourself.
Maintaining the code and atomization of the application.
Designing and implementing application updates.
Requirements
Proven experience as an Android app developer.
Proficient in Java, KOTLIN, Android Studio, profiling tools, DDMS, ADB etc.
Extensive experience with core Android frameworks.
A very good experience managing network calls and handling web technologies.
Good experience in handling different screen sizes, device form factors and types of devices and building UI that adopts to any screen size.
Knowledge of background modes, widgets and various areas of integration with the OS.
Ability to identify memory leaks, resource wastage, zombie objects etc and mitigate them and do performance tuning.
A very good understanding of memory management, allocations, references, retain cycles etc.
Understanding compatibility of various hardware and software components, features and APIs across devices and software versions and adjusting code to accommodate them, including Android API levels.
Hands on experience with third party libraries, especially map- based ones.
Experienced with different design patterns like MVC and MVVM.
Willing and able to adopt to build systems like Buck.
Experience and efficiency in handling multiple background threads and tasks and resolving issues related these.
Knowledge of Android design language (material design) and interface guidelines to take full advantage of the available hardware and software features of various device types and classes.
Proficient in code versioning tools including Mercurial, Git, and SVN.
Familiarity with push notifications, APIs and cloud messaging.
Experience with continuous integration.
Deep knowledge on unix-based operating system fundamentals is preffered.