Senior Engineer-Flutter
Job Description
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 s
- 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.
- Experiencewith 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
Job Details
Employment Types:
Full time
Industry:
Banking / Accounting / Financial Services
Function:
Banking , Advertising / Entertainment / Media
Roles:
Other Banking , Correspondent / Reporter