- Sr. Java backend engineer
- Fully remote for Bank of Montreal
- Finance - prime brokerage system
- Part of the core team (not legacy or outsourced team B)
- Passionate about programming, deep understanding of the tech at hand, least mid-to-senior level, 5+ years experience
- Nice to haves: Capital market or trading systems experience, Spring Boot, good understanding of CI/CD concepts, experience with AWS-based systems.
Are you a passionate Java developer who thrives on solving complex problems in low-latency, high-throughput trading systems? Join the Capital Markets team at Bank of Montreal and work on interesting financial system engineering problems.
- Work on a large-scale, low-latency trading system processing millions of daily transactions.
- Contribute to systems built primarily in Core Java (Java 17 & 21) with minimal external dependencies.
- Collaborate with a world-class team of developers across North America and Europe.
- Enjoy a long-term, fully remote role with flexible hours after onboarding.
- Competitive compensation and ample paid time off.
A successful candidate will have a few years of experience in software development. You must be very strong in Java and programming in general. You must also be curious, open-minded, and desire to learn new things. English proficiency is a must.
This role is for developers who excel at programming core Java from the ground up, not just integrating frameworks or APIs. If you’re fascinated by understanding systems ‘under the hood,’ this role is for you. Successful candidates enjoy geeking out about data structures and program performance.
This is a fully remote backend Java development role for a developer in Poland. You will be working through a Polish company that will provide the support and administrative assistance to make you successful in the role. We are looking for people to join the team long-term.
To ensure efficient onboarding, you’ll work in sync with the American team during US Eastern business hours for the first two months. Working this way maximizes your time overlap for answering questions, which means you can learn quickly. That means working until 21:00 CET. After that, your schedule will be flexible and can shift closer to standard Polish business hours.
Only open to residents of Poland. Polish citizens, as well as legal residents with permission to work in Poland are welcome.
-
Work that matters in the financial domain: Work on a live trading system at an established financial institution, processing millions of transactions daily.
-
Professional growth: Collaborate with smart, highly capable developers in a supportive and challenging environment.
-
Direct collaboration: You will work directly with the Bank of Montreal team in North America and in Poland.
-
1st-tier work: This is not a technical support or legacy maintenance role. The system is functional and is actively being built and you will take part in updating it. The people who built the system are still part of the team.
-
Long-term commitment: This is not a fixed-scope or fixed-term outsourcing role; we value people who want to grow and contribute long-term.
-
Flexibility & remote work: Fully remote position based in Poland with increasing schedule flexibility post-onboarding.
-
Competitive Compensation: Above-average pay and generous time-off options.
- Design and implement robust software solutions for the bank’s trading systems using core Java (17 and 21).
- Understand, develop, and improve the subsystems used by other teams in the trading platform.
- Create thorough test cases to ensure software stability and reliability.
- Migrate prime brokerage systems into modern cloud-based infrastructure in AWS.
- Collaborate with operations teams regarding building new features and improving existing functionality.
- Support production issues, including root-cause analysis and diagnosis.
- Strong understanding of programming concepts, including algorithms, complexity, and data structures.
- Knowledge of the internals of Java data structures.
- Strong analytical and problem-solving skills.
- Open mind, curiosity, and a strong desire to learn new technologies and business domains.
- Ability to clearly explain non-trivial systems and algorithms.
- Ability to follow and understand technical conversations.
- Humility to ask questions where necessary.
- Ability to align your working schedule to US Eastern business hours during onboarding.
- 5+ years of professional core Java development experience.
- Experience with financial markets and trading systems.
- Knowledge of AWS.
- Experience working remotely.
- Strong collaboration and teamwork skills.
- Familiarity with distributed systems or concurrent programming.
- A computer science degree from a top Polish school.
- Experience with Sprint Boot.
- Submit your CV.
- Answer a few written questions and a short programming exercise which you can do at your own pace.
- Participate in a three-step interview process:
- Discuss your experience and skills.
- Solve verbal algorithm problems (focus on clarity and understanding).
- Tackle live coding challenges (no trick questions).
No take-home assignments – we respect your time.
Successful candidates will need to pass a standard background check.