Software Engineer - Kx

ITG   •  

Toronto, ON

Industry: Financial Services


5 - 7 years

Posted 290 days ago

This job is no longer available.


ITG is looking for an experienced senior-developer to join a growing team of KDB+/Q software engineers to work on a large-scale, entirely from-scratch, green-field project.


The goal of the project is to build a firm-wide central data-platform across all asset-classes, providing market, transactional, and reference data and analytics via multiple interfaces (Q, Python, Java, etc…).  This platform will be the primary source of all real-time and historical data-requests at the firm.


Here at ITG, technology is our middle name. Literally. With nearly half of our staff working in technology roles, our technologists empower our business to provide best-in-class service to our clients around the world. From conceptualizing ideas to bringing them to market, ITG engineers work alongside our business units to build technology for institutional traders that enables them to improve returns for investors.


  • Help build a new and dynamic KDB+ core framework at the firm with the latest version of KDB+ (3.5+) – to be extended by all KDB+ projects at the firm
  • Develop new APIs to provide data to real-time subscribers, as well as complex real-time and historical request-reply users (including GUI platforms)
  • Develop feed-handlers, tickerplants, RDBs, etc… for real-time data-capture
  • Develop and manage generic tools and mechanisms to build databases in KDB+ from legacy historical data-sources
  • Think out-of-the-box and build dynamic components outside of the bounds of the conventional KDB+ stack: CEP engines, dynamic caching services, etc…
  • Manage and improve performance in the entire stack as the product grows
  • Help us bridge our API to users in othertechnologies (Python, R, Java, etc…)
  • Mentor and help train junior developers on the team


  • At least 4-5 years of experience in developing applications in KDB+/Q
  • A full understanding of core KDB fundamentals: partitioned databases, real-time capture, IPC+callbacks, performance tuning, asynchronous gateways, data-compression, multithreading
  • Unix/Linux OS fundamentals: system-level troubleshooting, scripting, managing an environment
  • A basic understanding of financial markets, electronic trading flows, financial data
  • A general understanding of writing scalable code in KDB+
  • A basic understanding of how KDB+ works on a Linux architecture – disk reads/writes, memory management, DOs and DON’Ts
  • Experience in developing KDB+ at the framework-level desired
  • Expertise in financial data-standards – e.g.: FIX protocol desired
  • Experience developing in C/C++ and Python desired