Senior Engineer-Flutter

  • Full-time
  • Sub Division: Group Technology
  • Division: GCOO

Company Description

Now it’s 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’re looking for the brightest and best to help us reach our goals and we’ll 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.

Job Description

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’s/Google’s 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
  • Creates / reviews technical design brief/specification document
  • Has working experience in using various development, automation or Service Management tool suites
  • Has working experience in version control and source control software (GitHub/GitLab)
  • Strong analytical and reasoning skills
  • Passion for solving problems and providing workable solutions
Privacy PolicyImprint