Addax Office Tower Reem Island, Abu Dhabi, United Arab Emirates
Full-time
Division: GCOO
Sub Division: Group Technology
Company Description
Now it\xe2\x80\x99s your time to join the #1 bank in the Middle East and one of the most prestigious financial companies in the region. Shaking up the world of banking requires a lot of smarts and skill. We\xe2\x80\x99re looking for the brightest and best to help us reach our goals and we\xe2\x80\x99ll also help you reach yours. Your success is our success as you grow stronger in your career. Join us and leave a legacy of your own, as a pioneer in both the company and the industry.
Software engineer that works to design, implement and provide support to various software applications.
Support product owners to manage the complete software development process up to deployment
Participating in the design and creation of scalable software
Design client-side and server-side architecture on-prem or cloud
Write effective APIs
Write technical documentation
Maintain and upgrade the software following deployment
Troubleshooting software or infrastructure issues using relevant tools and debugging codebases as required
Perform the analysis, writing, building, and deployment of software
Conduct peer review of deliverables produced by team members.
Continuously refactor code to improve compliance to coding standards, non-functional requirement benchmarks, and to reduce technical debt.
Create security and data protection settings for software\'s/applications
Ensure application performance, uptime, and scale, maintaining high standards of code quality and thoughtful application design
Ensure that build coding standards are adhered and security and performance testing practices are incorporated into the development
Contribute to automated testing and providing feedback to management during the development process
Modify and test changes to previously developed programs
Work with agile development methodologies (test driven development, feature toggling, continuous integration etc.), adhering to best practices and pursuing continued learning opportunities
Senior Engineer as part of an Agile squad
Translate application storyboards and use cases into functional applications.
Ensure the best possible performance, quality, and responsiveness of the solutions. Identify bottlenecks and bugs, and devise solutions to these problems.
Extensive knowledge about mobile application development (ideally both Android and iOS)- from the first line of code to publishing in the store(s)
Experiences with code refactoring, design patterns, design-driven development, continuous deployment, highly scalable applications, application security, and reliability.
Excellent programming skills in at least 2 modern programming languages/ frameworks, such as Swift, Objective C, Java, Kotlin, Flutter, React Native or others.
A solid understanding of RESTful applications, authentication & authorization (IdP and OAuth2).
Experience with third-party libraries & Integrations.
Experience with offline storage, threading, and performance tuning
Familiarity with cloud message APIs and push notifications
Proven work experience in design patterns mobile architecture using frameworks such as MVVM/MVC/MVP/VIPER
Ability to understand business requirements and translate them into technical requirements and open-minded about technologies but particularly skilled in native Android/iOS development.
Strong knowledge of different versions of Android and iOS, and how to deal with different screen sizes
Understanding of Apple\xe2\x80\x99s/Google\xe2\x80\x99s design principles and interface guidelines
Have published at least one or more Apps to the App Store. (Apple, Google).
Professional approach to time, efforts, and deadlines and strong communication skills to collaborate with various Stakeholders.
Experience with full-native, hybrid, and pure-web mobile app development.
Qualifications
5-10 Years of Experience in Software Development Life Cycle or Service Management (e.g. Incident, Problem, Change, Configuration, Availability, IT Continuant Management)
Deep expertise in 1 or 2 technology stacks and ability to quickly learn new technologies
Knowledge of multiple front-end languages/frameworks such as such as Swift, Objective C, Java, Kotlin, Flutter, React Native or others.
Proven work experience in design patterns mobile architecture using frameworks such as MVVM/MVC/MVP/VIPER/Clean architecture
Implements functionality as per design specification, provides correct estimation of implementation efforts
Works at the component level and responsible to build, test and automate on a component level
Writes well designed, efficient, testable code/configurations
Understands modern SDLC or ITIL models as well as experience with Jira and CICD tools