08 Nov
|
Maximum Technologies
|
Toronto
08 Nov
Maximum Technologies
Toronto
Maximum is AI infrastructure for banks, delivering an operating system purpose-built for the next century of banking. By embedding intelligence natively at the foundation, Maximum empowers banks to automate complex operations, surface real-time insights, and drive growth with cutting-edge financial products. The entire platform is engineered from the ground up to defend against modern, sophisticated threats protecting the bank and its customers.
About the Role
Maximum is building a core banking platform.
Not a layer on top of a legacy core: the ledger, product, payments, card and compliance systems a bank actually runs on. You would be involved in many big design decisions from day one. It also means correctness sits with you.
You would own a domain service outright: its schema, its API, its workflows, its tests. When a change touches twelve other services, you follow it into all twelve. We use AI coding agents heavily, and directing them is part of the job.
Responsibilities
- Own a domain service end to end: schema, gRPC API, workflows, event consumers, tests, and the docs that explain why you built it the way you did.
- Design tables and queries in our schema DSL.
- Write workflows that survive partial failure: replay-safe, idempotent, and resumable from the step that broke.
- Test against real environments in containers. Mocking is a last resort, and we will ask why you needed it.
- Review pull requests from humans and from agents, with the same suspicion for both.
- Turn messy external inputs into a data model that holds: a vendor file spec, a regulation, a feature or integration.
- Carry your service through production: on-call, incidents, and the follow-up work that stops the same failure twice.
- Help less experienced engineers with design and code review, and pairing.
Qualifications
Must Have
- Several years shipping backend services in a statically typed language. Go preferred. Strong experience in Java, C#, Rust or TypeScript etc. is also welcome.
- Real SQL experience: transactions, isolation levels, query plans, indexing, and migrations that have to run against tables with data already in them.
- You have debugged a distributed system in anger. You know what idempotency, at-least-once delivery and out-of-order messages do to a design.
- A testing habit, and an argument for why you test against real dependencies rather than mocks.
- You can read an unfamiliar spec, ask the two questions that matter, and start building without waiting for perfect requirements.
- You use AI coding agents seriously and know when to throw away what they give you.
Nice to Have
- Banking, payments, ledger, card or ACH experience helps. We can teach the domain. We would rather hire for judgment.
📌 Senior Software Engineer (Toronto)
🏢 Maximum Technologies
📍 Toronto