· Translate application storyboards and wireframes into functional applications with high quality codes.
· Design, build, and maintain efficient, reusable, and reliable (Android) code
· Ensure the best possible performance, quality, and responsiveness of applications
· Identify bottlenecks and bugs, and devise solutions to these problems
· Help maintain code quality, organization, and automatization
· Applicants must possess a bachelor’s degree.
· 2 to 3 years work experience.
Proficient in mobile apps development, with a good knowledge of its ecosystems
· Familiarity with the Android framework using Kotlin and Java native programming language.
· Strong understanding of object-oriented programming
· Skill for writing reusable libraries
· Familiarity with RESTful APIs to connect Android applications to back-end services
· Familiar with various design and architectural pattern
· Knowledge of concurrency patterns
· Knack for writing clean, readable code
· Understanding fundamental design principles behind a scalable application
· Creating database schemas that represent and support business processes
· Basic understanding of android libraries, its limitations, weaknesses, and workarounds
· Implementing automated testing platforms and unit tests
· Proficient understanding of code versioning tools
· Familiarity with continuous integration
· Basic Understanding of software programming methodologies
· Basic understanding of software development project management
· Strong knowledge of Android UI design principles, patterns, and best practices
· Experience with offline storage, threading, and performance tuning
· Ability to design applications around natural user interfaces, such as “touch”
· Knowledge of the open-source Android ecosystem and the libraries available for common tasks
· Ability to understand business requirements and translate them into technical requirements
· Familiarity with cloud message APIs and push notifications
· A knack for benchmarking and optimization
· Understanding of Google’s Android design principles and interface guidelines
· Proficient understanding of code versioning tools, such as Git
· Familiarity with continuous integration