Senior Software Engineer
- Remote, Canada
Remote
Full-time
Applications open in a new tab.
Job details
- Job type
- Full-time
- Workplace
- Remote
- Posting language
- English
- Posted
Original job description
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 innovative 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.
More about this job
Responsibilities
You will own a domain service end-to-end, including schema design, API development, and managing workflows that are resilient to failure. Additionally, you will be responsible for production support, code reviews, and mentoring other engineers while leveraging AI coding agents to accelerate development.
Requirements
Candidates must have several years of experience shipping backend services in a statically typed language and possess deep expertise in SQL and distributed systems. A strong testing habit and the ability to work independently on complex, unfamiliar specifications are essential for this role.
Skills
- Go
- Java
- C#
- Rust
- TypeScript
- SQL
- Distributed systems
- gRPC
- API design
- System architecture
- Database schema design
- Transaction management
- Idempotency
- Containerization
- AI coding agents
- Technical documentation
Remote locations
- Ontario, Canada
- United States
Remote locations (standardized)
- Ontario, Canada
- United States
Visa sponsorship
Not detected in the job text
Categories
- Software
- Engineering
- Finance & Accounting
- Technology
Keywords
- Software Engineering
- Backend Development
- Go
- Java
- C#
- Rust
- TypeScript
- SQL
- gRPC
- Distributed Systems
- API
- Schema Design
- Transactions
- Idempotency
- Containers
- AI Coding Agents
- Banking
- Payments
- Ledger
- Compliance
- Infrastructure
- System Architecture
- Production Support
- Code Review
- Mentoring
- Data Modeling
- Event Consumers
- Workflows
- Integration
- Financial Technology