Senior Android Developer
Business Group: Canadian Digital Banking Engineering – Digital Payments – Mobile team work on the mobile component of the Banking apps, trading apps, internal android applications for employees.
Typical Day in Role:
– Participate in daily Scrum meeting
– Review team members codes – use a peer review system for code review
– Refining sessions -look ahead at upcoming work – give estimates
– Champions a customer focused culture to deepen client relationships and leverage broader Bank relationships, systems and knowledge.
– Work with product owners and business system analysts to refine ticket requirements in JIRA and Confluence, review pull requests, and implement documented designs.
– Develop high-quality code by reviewing work with designer and product owners and resolving any issues quality assurance testers.
– Collaborate closely with a team of Android, IOS, and backend developers to work on both new features and incremental improvements to the bank’s flagship mobile app
– Adheres to and demonstrates good coding conventions and best practices, and helps to maintain the architecture of the project
– Stays on top of reviewing others’ code, actively contributing suggestions and catching potential issues
– Always works to balance user experience, performance (client and backend), and security
– Understand how the Bank’s risk appetite and risk culture should be considered in day-to-day activities and decisions.
– Actively pursues effective and efficient operations of his/her respective areas in accordance with its Code of Conduct and the Global Sales Principles, while ensuring the adequacy, adherence to and effectiveness of day-to-day business controls to meet obligations with respect to operational, compliance, AML/ATF/sanctions and conduct risk.
– Champions a high performance environment and contributes to an inclusive work environment.
Candidate Requirements/Must Have Skills:
1. 5+ years of previous experience Android development
2. 5+ years of design patterns such as MVVM and clean code architecture,
3. 5+ years of Kotlin, RxJava, Dagger, Android Studio and other tools used in Android Development
4. Previous experience with Authentication Systems
5. Experience building applications that consume RESTful APIs
Nice to have Skills:
• Knowledge of unit testing
• UI testing
• Experience with accessibility and analytics
• Experience in integrating Third Party libraries and SDKs
• Competent in software engineering and computer science principles
Soft Skills Required:
• Strong communication skills – both oral and written
• Self-starter
• Leadership experience -projects/teams
• The position requires concentrated use of sight and touch at a computer terminal on average 5-6 hrs/day.
• The incumbent must work under tight deadlines, conflicting priorities and changing project requirements.
• The position requires ability to work laterally across many diverse department structures and with a wide range of people at differing levels of the organization.
• Good problem solving skills and excellent communication
Education: Post-secondary preferable in computer science or engineering.