Job Description
Reporting to the Software Engineering Lead –
Apps, the position holder will be required to develop and publish
enterprise mobile applications in Android. They will collaborate with internal
teams to develop functional mobile applications while working in a fast-paced
environment, keeping up to date with new concepts and best practices for
developing mobile applications, adopting Agile in DevOps and, team delivery.
Responsibilities
Architect, build and maintain excellent mobile
applications with clean code
Release applications to Google Play and Huawei
App stores
Design and implement user interface components for
mobile applications using from prototypes and wireframes
Write unit, UI, integration and
automated tests to ensure error-free code, performance and quality
Integration to RESTful APIs
Work with Coroutines to improve performance of
the mobile apps
Identify, plan and implement new mobile products,
applications and protocols
Creating efficient data queries and communicating to back-end developers on API issues
Build reusable code and libraries for future use
Implement clean, modern, smooth animations and
transitions that provide an excellent user experience
Work with modern tools including Confluence, Jira,
Slack, GitHub etc
Reviewing application requirements and interface
designs
Documenting application changes and developing
updates
Collecting user feedback and optimization of
operational experience
On-going app support, debug and enhancement
Remain up to date with the technologies,
concepts, best practices and news of mobile applications development
Work closely with colleagues to constantly innovate
app functionality and design
Communicate with users to understand their needs and
experiences
Qualifications
Bachelor’s Degree in Computer Science or related
field
3+ years of professional experience working
with Android
4+ years of professional software development
experience
A very good understanding about mobile applications
and programming languages such as Kotlin, Java, SqlLite, XML together with
their mainstream IDEs such as Android Studio.
Knowledge in Swift, React Native, Flutter,
Kotlin Multiplatform and Xcode is an added advantage
A strong understanding on Single Activity and
MVVM architecture patterns and Jetpack components like Navigation
Experience in RESTful API integrations, Version
Control (Git) and DevOps
An understanding on Security Principles with regard
to mobile applications and tech platforms
Experience in developing Android applications
A strong desire to learn and figure out how to create
market leading user-friendly mobile applications
Quick to adopt and willingness to work/deliver in a
short period
Ability to quickly absorb technical concepts and
communicate them to a non-technical audience
Passionate about robust code design
Knowledge of UI/UX designs and wireframes
Ability to create and maintain continuous integration
and delivery of Android applications
Technical Skills
Knowledge of functional and object-oriented
programming
Significant experience working with Kotlin along
with tools like Dagger Hilt, Ktlint, Espresso and SonarQube
Strong knowledge of Android fundamentals such
as MVVM and Clean architectures, Paging,
Navigation and LiveData
Good knowledge of Architecture using Library and
Dynamic Feature modules
Ability to write well-documented, clean Kotlin
code
Understanding of Dependency Management using Version
Catalog
Familiarity with build tools like Gradle,
Dexguard and Proguard
Understanding of secure REST APIs,
Websocket Connections, offline storage, and working with third-party
libraries
A complete understanding of the full mobile app
development lifecycle right from prototyping
Knowledge of type checking, unit testing and code
debugging
Knowledge of user interface design, responsive
designs, animations and accessibility support
Well-versed in a variety of Android software and
technologies such as ESLint
Experience with Firebase products and services
Good troubleshooting skills
Non-Technical Skills
A positive mindset and continuous-learning attitude
Ability to solve issues and contribute to libraries
as and when needed
Experience working in an agile development
environment
Strong verbal and written communication skills to
communicate strategy
A collaborative approach to build apps and solve
complex problems
Attention to detail and problem-solving skills
Client-focused approach with a goal of creating
user-centric designs
Good interpersonal, communication, and collaboration
skills
How To Apply