Purpose and Scope of the Job
An Android mobile developer is responsible for the development, design, and implementation of new or modified Android mobile application products or ongoing business projects; will be involved in liaising with the Business Analysts and Development Managers to ensure software projects meet requirements.
Main Duties and Responsibilities/Performance Standards
- Identify and analyze user requirements
- Prioritize, assign and execute tasks throughout the software development life cycle
- Develop Android mobile applications
- Writing well-designed, efficient code
- Review, test and debug software code
- Document development phases
- Ensure our applications are secure and up to date
- Maintain and support the current developed applications
Qualifications, Competences and Skills
Education:
- Bachelor Degree in Information Technology, Computer Engineering, Computer Science or equivalent is required.
- Work related certification is plus.
Licensure: NA
Language: Proficiency in Arabic and English Languages
Computer Proficiency: Excellent computer skills
Performance Competencies
- Excellent Computer Skills
- Experience designing, building, and testing Android mobile applications
- Prior experience as an Android Developer using Kotlin, Java, Android SDK, Android NDK, Android Studio
- Reactive programming (RxJava, RxKotlin), and Coroutines are advantages
- Solid knowledge of Android jetpack components composes components.
- Solid knowledge of clean architecture for software architecture and Solid principle.
- Experience in design patterns of mobile architecture such as MVVM/MVC/MVP
- Have experience in publishing an application on the Google Play store
- Familiarity with RESTful APIs to effectively integrate Android applications
- Good knowledge of cloud message APIs and push notifications
- Proficient understanding of code versioning tools (Git)
- knowledge in Unit Testing and familiarity with various testing tools
- Good knowledge of UML
- Experience with Object-Oriented Programming (OOP)
- Good delegation and time management skills
- Problem-solving abilities
- Familiarity with SQLite DB.
- Familiarity with Agile life cycle.
- Strong attention to detail and good analytical skills
- Exceptional written and oral communication skills
- Critical Thinking, and good analytical skills
- Multitasking with the ability able to prioritize and work effectively in a constantly changing environment.
- Continuous development and self-training programs to improve work knowledge and best practices
Principle Working Relationships and Remarks