Are you a top-tier 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.
This role is for the framework team that builds the subsystems that are used in all other parts of the trading system.
- 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. We are also open to exceptional junior candidates without experience too. 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 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 gradually 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 building 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 data processing algorithms.
- Create thorough test cases to ensure software stability and reliability.
- Collaborate with operations teams regarding building new features and improving existing functionality.
- Support production issues, including root-cause analysis and diagnosis.
- Process business requirements with guidance from the team lead, and build the software that delivers the necessary functionality.
- 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.
- 3+ years of professional core Java development experience.
- A computer science degree from a top Polish school
- Experience working remotely.
- Strong collaboration and teamwork skills.
- Experience with financial and trading applications.
- Familiarity with distributed systems or concurrent programming.
- Experience with low-latency systems.
- Submit your CV.
- Answer a few written questions (simple and focused).
- 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.