Senior Software Engineer
20 hours ago
Winnipeg MB, Winnipeg Census Division, MB; Manitoba, Canada
Jobgether
Full-time
Free with email or Google
Save this job and keep your search organized
Create a free account to save jobs, create alerts and return to this listing from your dashboard.
Free with email or Google
By continuing, you agree to our Terms & Privacy Policy.
This position is listed on behalf of a partner company, who manages all applications and next steps. Our partner is looking for a Senior Software Engineer - Trading based in Canada. As a Senior Software Engineer, you will design and build a high-performance algorithmic trading platform that powers reliable, scalable, and developer-friendly brokerage services. You will play a key role in architecting critical systems that support trading workflows, order execution, and risk management. Working in a lean, globally distributed engineering team, you will combine deep technical expertise with hands-on development to solve complex challenges across the software stack. From low-latency processing and concurrency control to distributed systems and data modeling, your work directly influence platform performance and reliability. This role offers the opportunity to shape foundational infrastructure, make important architectural decisions, and contribute to products used by financial institutions worldwide. If you thrive in a demanding, fast-paced environment where ownership, innovation, and technical excellence matter, this is an opportunity to make a lasting impact on the future of financial technology. Accountabilities: Design, develop, and maintain a robust, scalable algorithmic trading platform that delivers high performance, reliability, and an exceptional experience for users of brokerage services. Build and optimize systems supporting trading workflows, including Order Management Systems (OMS) and Risk Management Systems (RMS). Develop high-throughput, low-latency services by applying advanced knowledge of algorithms, concurrency, CPU-level performance optimization, and distributed system design. Contribute across the entire software stack, from low-level programming and backend services to frontend components, databases, and system architecture. Architect distributed systems with a focus on scalability, high availability, fault tolerance, and long-term maintainability. Design effective messaging and event-driven architectures using message queues and brokers to support reliable communication between services. Make critical technical and architectural decisions, balancing performance, reliability, complexity, and future growth. Collaborate with a globally distributed team of engineers and financial technology professionals to deliver high-quality software and continuously improve platform capabilities. Apply analytical and data-driven approaches to identify bottlenecks, benchmark system performance, and optimize infrastructure for demanding trading workloads. Take ownership of engineering initiatives from design through implementation, testing, deployment, and ongoing improvement. Requirements: Significant professional experience in software engineering, with previous experience building or maintaining trading or exchange systems, such as Order Management Systems (OMS), Execution Management Systems (EMS), exchanges, market-making platforms, algorithmic trading systems, or quantitative trading infrastructure. Strong programming skills across low- and high-level languages, such as C/C++, Go, Zig, Rust, Java, Scala, or Python. Demonstrated experience optimizing systems for low latency, high throughput, and efficient resource utilization. Strong understanding of algorithms, distributed systems, scalability, high availability, database technologies, concurrency control, and performance-critical architectures. Experience with messaging queues, message brokers, and distributed communication patterns. Proficiency in system design, object-oriented data modeling, service-oriented architectures, and system abstraction, with an emphasis on maintainable and scalable solutions. Practical experience developing and implementing Order Management Systems (OMS) and Risk Management Systems (RMS). Strong analytical and problem-solving abilities, supported by a data-oriented mindset and a focus on measurable engineering outcomes. Ability to work independently, take ownership of complex technical challenges, and make sound architectural decisions in a fast-moving environment. Previous technical leadership experience is preferred, particularly the ability to guide technical decisions and contribute to engineering best practices. Experience with algorithmic trading, whether professionally or through personal projects, is a plus. Familiarity with the FIX protocol and financial market infrastructure, including exchanges, broker-dealers, and clear