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