DescriptionRole: Senior 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
- As a senior Developer you 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) is a plus
- Should be a change agent that always challenges status quo
- Fluent in English
Previous experience:
- At least 7 years of software development experience with experience working in Agile teams using SCRUM
- Experience in leading and managing a team of Developers
- 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 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
Required Experience:
Senior IC