Android Developer

  • Full Time
  • Nairobi

Safaricom Kenya

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

To apply for this job please visit egjd.fa.us6.oraclecloud.com.