Senior Software Engineer – Execution & Order Management Systems

Senior Software Engineer – Execution & Order Management Systems

Temporary No home office possible
Cititec

At a Glance

  • Tasks: Design and build a cutting-edge trading platform for global commodities.
  • Company: Join a dynamic team at a leading trading firm in London.
  • Benefits: Competitive pay of ~£950/day, flexible work environment, and growth opportunities.
  • Other info: Collaborative culture with direct engagement between engineers and traders.
  • Why this job: Take ownership of innovative projects and make a real impact in trading technology.
  • Qualifications: Experience in execution/order management systems and strong coding skills in C++, Rust, or Python.

Our client is building the next generation of execution and order management (EMS/OMS) infrastructure for global commodities trading. You will join a small, fast‑moving engineering team designing and delivering a cloud‑native trading platform from the ground up, tightly integrated with risk, pricing, and market data systems to support high‑performance trading environments. This is a senior, hands‑on role for an engineer who wants end‑to‑end ownership – from low‑level protocol integration through to distributed execution services and trader‑facing tooling.

What You’ll Be Doing

  • Design and build core components of a modern EMS/OMS platform, including order routing, order lifecycle management, venue connectivity, and execution analytics.
  • Implement and maintain FIX protocol and venue‑specific integrations across exchanges, brokers, and liquidity providers in commodities markets.
  • Develop low‑latency, distributed execution services with a strong focus on correctness, resilience, and performance under load.
  • Collaborate closely with traders, quants, and risk engineers to translate trading workflows and execution strategies into robust production systems.
  • Ensure seamless integration with risk systems, including pre‑trade checks, position tracking, and post‑trade processing.

Requirements

Essential

  • Proven experience building execution systems and/or order management systems in production.
  • Strong systems engineering fundamentals, including concurrency, distributed systems, networking, performance, and correctness under pressure.
  • Production experience in at least one of C++, Rust, or Python, with willingness to work across multiple languages.
  • Demonstrated ability to deliver production systems with a strong bias towards shipping, iteration, and user feedback.
  • Comfortable working in a collaborative environment with direct engagement between engineers, traders, and quants.
  • Experience working in cloud‑native environments, particularly Kubernetes‑based architectures.
  • Familiarity with distributed data and event‑driven systems (e.g. Kafka‑style messaging patterns).
  • Experience with observability, monitoring, testing, and production incident response in live systems.

Highly Desirable

  • Experience in commodities markets (energy, metals, agriculture, freight) or other complex, multi‑venue asset classes.
  • Deep understanding of the FIX protocol, including session handling, message customisation, and venue‑specific behaviour.
  • Experience with algorithmic trading systems, smart order routing, or execution algorithm development.
  • Exposure to real‑time risk systems, including pre‑trade controls and position/PnL infrastructure.
  • Experience with columnar databases such as ClickHouse.

Senior Software Engineer – Execution & Order Management Systems employer: Cititec

Join a dynamic and innovative team in London, where as a Senior Software Engineer, you will have the opportunity to shape the future of execution and order management systems for global commodities trading. Our collaborative work culture fosters creativity and growth, offering you the chance to take ownership of impactful projects while enjoying competitive compensation and a flexible working environment. With a focus on cutting-edge technology and continuous learning, this role provides a unique platform for professional development in a fast-paced industry.

Cititec

Contact Detail:

Cititec Recruiting Team

StudySmarter Expert Advice🤫

We think this is how you could land Senior Software Engineer – Execution & Order Management Systems

Tip Number 1

Network like a pro! Reach out to your connections in the trading and tech space. Attend meetups or webinars related to execution and order management systems. You never know who might have the inside scoop on job openings!

Tip Number 2

Show off your skills! Create a portfolio showcasing your projects, especially those involving C++, Rust, or Python. Highlight any experience with cloud-native environments or distributed systems. This will make you stand out when chatting with potential employers.

Tip Number 3

Prepare for technical interviews by brushing up on your systems engineering fundamentals. Be ready to discuss concurrency, performance under load, and your experience with FIX protocol. Practising coding challenges can also help you feel more confident.

Tip Number 4

Don’t forget to apply through our website! We’ve got some fantastic opportunities waiting for you. Plus, it’s a great way to ensure your application gets seen by the right people in our team.

We think you need these skills to ace Senior Software Engineer – Execution & Order Management Systems

Execution Systems Development
Order Management Systems
C++
Rust
Python
Concurrency
Distributed Systems

Some tips for your application 🫡

Tailor Your CV:Make sure your CV is tailored to the role of Senior Software Engineer. Highlight your experience with execution and order management systems, and don’t forget to mention any relevant projects that showcase your skills in C++, Rust, or Python.

Craft a Compelling Cover Letter:Your cover letter is your chance to shine! Use it to explain why you’re the perfect fit for our team. Talk about your hands-on experience with cloud-native environments and how you’ve successfully collaborated with traders and quants in the past.

Showcase Your Problem-Solving Skills:In your application, give examples of how you've tackled complex problems in high-pressure situations. We love engineers who can think on their feet and deliver robust solutions under load, so make sure to highlight those experiences!

Apply Through Our Website:We encourage you to apply through our website for a smoother process. It helps us keep track of your application and ensures you don’t miss out on any important updates from us!

How to prepare for a job interview at Cititec

Know Your Tech Stack

Make sure you’re well-versed in the technologies mentioned in the job description, especially C++, Rust, and Python. Brush up on your knowledge of cloud-native environments and Kubernetes, as these will likely come up during technical discussions.

Understand the Trading Domain

Familiarise yourself with execution and order management systems, particularly in commodities trading. Knowing the ins and outs of FIX protocol and how it integrates with trading workflows will give you a significant edge in the interview.

Showcase Your Problem-Solving Skills

Be prepared to discuss past projects where you’ve tackled complex problems, especially those involving distributed systems and low-latency services. Use specific examples to demonstrate your ability to deliver robust production systems under pressure.

Engage with the Team

Since this role involves close collaboration with traders and quants, be ready to discuss how you’ve worked in team settings before. Highlight your communication skills and your approach to gathering user feedback to improve systems.