Role: Android Developer
Location: Abu Dhabi
Role Purpose:
- Android software engineers will have a range of responsibilities from shaping and implementing digital products to ensuring that we stay on the leading edge of technology.
- Our engineers contribute across the full technology stack, from database and DevOps infrastructure that supports continuous deployment, over native apps, to front end development.
- Will work in a cross-functional team with the Product Owner, Designers and engineers to co-develop the digital products.
Key accountabilities of the role:
- Use Agile engineering practices and various software and mobile development technologies to rapidly develop creative and efficient solutions that enhance the client customer and employee experience
- Work in a team to craft clear user stories, design tests for prototypes and products, and continuously deliver product enhancements
- Liaise with other teams within and outside the Digital unit to negotiate timelines, deliverables and dependencies
- Collaborate closely with Product Owners, Designers and team members to identify and socialize product and delivery risks
- Drive forward and role-model best practice engineering processes and Agile behavior and ensuring teams members follow suit
- Communicate with business stakeholders about Agile processes to set and manage expectations about delivery methods and timelines
- Own and drive best practice in terms of automation such as continuous integration and deployment
Specialist skills / technical knowledge, technical competencies required for this role:
- Real passion for development and a demonstrated appetite for continual learning
- Knowledge of pair programming, continuous integration and test-driven development
- Familiarity with the concepts of Functional Programming and Microservices is a plus
- Community contributions (e.g., open source work, GitHub, StackOverflow, publishing / speaking on technical ideas) are a plus
- Should be a change agent that always challenges status quo
- Fluent in English
Previous experience:
- At least 5 years of software development experience with experience working in Agile teams using SCRUM
- Extensive mobile development experience using Android, Android Studio and Gradle to develop both phone and tablet apps.
- Extensive experience with Android SDK, Google Play Services, and Android Compatibility Library.
- Experience in Android development patterns - including Java OOP, MVP, SQLite, JSON/Rest APIs, and multi-threading/background tasks.
- Experience with Android front-end/UI development (with knowledge of Google Material Design), Web services & XML/JSON/REST connectivity/consumption, and local storage/databases/SQLite.
- Experience with common Android libraries such as Dagger2, Retrofit2, etc.
- Experience with build tools such as Fastlane
- Expert knowledge of using and writing Android Libraries
- Extensive experience with Playstore deployments and has deployed apps to the Playstore
- Extensive experience of TDD and writing unit and UI tests using Junit, Mockito, espresso, etc.
- Experience with code coverage and unit testing tools JaCoCo
- Experience with converting High-Fidelity designs to mobile UI, familiarity with tools such InVision and Zeplin.
- Experience with IBM Mobile First Platform is preferred
- Extensive experience with Git, such as branching, merging, tagging and Pull Requests.
- Experience with development processes and tools e.g. crash reporting, debugging, Atlassian JIRA/Confluence, etc.
- Experience with mobile CI-CD (Jenkins or similar) is preferred
- Excellent programming skills in at least 2 modern programming languages/ frameworks, such as Swift, Objective C, Java, Node.JS, JavaScript, C, C++, Python, or others.
- Infrastructure knowledge including RESTful APIs, Single Sign On, LDAP, Search Technologies
- Experiences with code refactoring, design patterns, design-driven development, continuous deployment, highly scalable applications, application security
- Experience with build tools such as Fastlane
- Expert knowledge of using and writing Android Libraries
- Extensive experience with Playstore deployments and has deployed apps to the Playstore
- Extensive experience of TDD and writing unit and UI tests using Junit, Mockito, espresso, etc.
- Experience with code coverage and unit testing tools JaCoCo
- Experience with converting High-Fidelity designs to mobile UI, familiarity with tools such InVision and Zeplin.
- Experience with IBM Mobile First Platform is preferred
- Extensive experience with Git, such as branching, merging, tagging and Pull Requests.
- Experience with development processes and tools e.g. crash reporting, debugging, Atlassian JIRA/Confluence, etc.
- Experience with mobile CI-CD (Jenkins or similar) is preferred
- Excellent programming skills in at least 2 modern programming languages/ frameworks, such as Swift, Objective C, Java, Node.JS, JavaScript, C, C++, Python, or others.
- Infrastructure knowledge including RESTful APIs, Single Sign On, LDAP, Search Technologies
- Experiences with code refactoring, design patterns, design-driven development, continuous deployment, highly scalable applications, application security
الإبلاغ عن وظيفة