Senior Android Engineer
Job Summary
Youll have visibility into and influence over all parts of the technology stack and enjoy a high degree of autonomy in your work.
Youll have a clear view of the product roadmap the business long-term vision and the opportunity to contribute to both constructively.
Youll interact with product management and design and be able to influence what solutions are chosen to meet customer needs.
Youll lead the planning design development deployment monitoring and maintenance of significant portions of the software that supports the chosen solutions.
Youll have the chance to provide and receive feedback from your peers and coach less experienced engineers both within the team and the broader organization.
Youll use modern tooling throughout whether thats something currently part of our stack or something new that you assess needs to be added to reliably deliver the desired user experience.
A snapshot of whats currently in-use:
Kotlin and RxJava
Room persistence library and SQLite
CI/CD: Docker Github Github Actions
Youll enjoy the flexibility tempo and ownership of being part of a startup and the job security of being employed by one of Canadas most valuable companies.
Youll work with an extremely committed team of colleagues whore constantly challenging each other compassionately and in a transparent structured way to get to the next level in our careers.
Youll be responsible for leading the design and delivery of a significant portion of the software that supports the business and for monitoring and maintaining that software in production.
Youll be responsible for pushing the team to make small improvements to our tech continuously leading by example in your regular work.
Youll put in the work necessary to empathize with the softwares users and understand their challenges on an emotional level whether those users are fellow developers immediate team members representatives of partner organizations or end users.
Youll embrace an owners mindset: continually striving to make an impact; investing time energy and capital as if they were your own; and understanding that no part of the business is outside the scope of your position.
You have significant production Android app experience and have formed clear opinions about how different development patterns and practices can both negatively and positively impact your ability to be productive in a codebase and by extension the reliability of a business software platform.
You have a practiced curiosity and continually learn new technologies techniques and interpersonal skills that in your assessment improve your own productivity happiness and the productivity and happiness of those around you.
You enjoy what you do and you like learning how to do it better.
Youre passionate about mentoring and coaching other engineers and have a practiced ability to spot when help is needed and tactfully provide guidance to get things unstuck.
You have excellent spoken and written communication time management and project management abilities.
You behave proactively when confronted with unforeseen challenges and complexity in your projects.
Your team members can clearly understand the state of your work your delivery plans and your ideas for improving the business software technology processes and team culture.
You have excellent written and verbal communication skills.
You have experience with:
Kotlin and Java
Standard library components like Coroutines & Flows
Jetpack Compose declarative UI development and creating shared components
RESTful APIs
You are familiar with dependency injection and test-driven development for Android.
You are passionate about shipping apps with exquisite UI and excellent performance.
You care deeply about application security and understand the importance of protecting sensitive user data.
Experience with RxJava or other reactive programming frameworks.
Experience with the OpenAPI Specification.
Experience contributing to open-source projects.
Experience with CI/CD pipelines preferably Github Actions.
Required Skills:
Top 3 Required Skills: 1. IBM Financial transaction 2. Payment flow 3. Support Modernization Detailed Job Description: Design develop and maintain applications built on IBM Financial Transaction Manager (FTM) to support core payments processing. Contribute to the development of payment flows supporting transaction processing. Build and support integrations between FTM and upstream/downstream systems using enterprise integration patterns. Participate in the design development testing deployment and production support. Troubleshoot and resolve application and integration issues in a complex regulated environment. Collaborate with architecture QA and operations teams to ensure platform stability scalability and performance. Support modernization initiatives and enhancements to existing payment hub capabilities. Produce clear technical documentation and participate in code reviews and knowledge sharing.