:Role: Associate Android DeveloperLocation: Abu DhabiRole Purpose:
Associate Android software engineers will have a range of responsibilities from understanding the delivery process, increasing and improving the knowledge in software development and being able to accomplish small complexity tasks by themselves.
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 an Associate 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:
To understand what Agile and Scrum means and what is the involvement of the developer in the delivery model.
To understand the concept of a story, estimations and the different ceremonies that come as a part of Scrum.
To understand what teamwork is and how to collaborate with members to accomplish tasks that have been assigned to the developer.
To understand the different roles in the delivery model and identify where to go when questions may come up.
To clearly communicate effectively with team members and other stakeholders.
To understand the developing cycle of an Android application from the beginning to the end.
To adhere to principles and good practices as a developer and be able to take small challenges to resolve them autonomously.
To start applying the best practices for development based on the principles and standards created within the bank and supervised by the Squad Lead in the team.
Specialist Skills / Technical Knowledge, Technical Competencies Required for this role:
A passion and an attitude to learn continuously and try new technologies with an open mind.
Understanding of pair programming, continuous integration and test-driven development.
Familiarity with the concepts of Functional Programming and Microservices is a nice to have.
Community contributions as Github, OpenSource project, etc. is a nice to have.
Should be a change agent that always challenges status quo.
Fluent in English and being able to communicate effectively.
Previous experience:
Basic understanding of agile and scrum and other methodologies.
Software development experience in one objects-oriented programming language as Java or C++.
Mobile development experience using Android, Android Studio and Gradle to develop both phone and tablet apps is a nice to have.
Understanding of the SDLC end-to-end.
Understanding of the stakeholders that are involved in the SDLC process.
Basic experience in data formatting and manipulation, APIs and databases.
Basic understanding of security applied to software development.
Understanding of the main software development patterns and the implementation of them.
Basic understanding of the mobile application delivery process in iOS or Android is a nice to have.
Understanding of iOS development is a nice to have.
Basic experience with Git, such as branching, merging, tagging and Pull Requests.
Basic experience with development processes and tools e.g. crash reporting, debugging, Atlassian JIRA/Confluence, etc.
Basic experience with mobile CI-CD (Jenkins or similar).
Knowledge in infrastructure knowledge including RESTful APIs, Single Sign On, LDAP, Search Technologies is a nice to have.
Principles with code refactoring, design patterns, design-driven development, continuous deployment, highly scalable applications and application security.