By some accounts, Q might be one of the best coding languages to learn if you want to be assured of a technology job in financial services. Developers proficient in both Q and kdb+, the database system that goes with it, tend to be both hard to find and in constant demand globally. Gary Davies should know - he spent nine years working for Citi's equities platform as a kdb+ specialist.
"Kdb started in the finance world," says Davies. "It's the fastest time series database that exists, and it lends itself very well to the sort of time series data you get in finance."
Davies left Citi in September 2019. Today, he's head of kdb+ engineering at AquaQ Analytics, a Belfast-based provider of data-related products and services to capital markets and other clients. People who specialize in Kdb typically work in its querying language Q. Every year, AquaQ hires around 60 graduates that it trains-up in both elements of the system.
"We bring on graduates that we think have the aptitude to pick up and run with kdb+, and we put them through a training programme that lasts 3-6 months," says Davies. These graduate recruits - most of whom come from computer science and STEM backgrounds - are selected based on their responses to what Davies describes as 'challenges' during the interview process. Although kdb+ is seen a mathematically oriented system, Davies says you don't need to be a mathematician to work with it. "It's about problem-solving," he says; maths helps, but an ability to solve logical problems is what's key.
Kdb+'s popularity in finance comes from the fact that the system was conceived by Arthur Whitney, the brilliant but reclusive computer scientist who previously worked for Morgan Stanley. If you want to go really deep in the system, you'll learn K too - K being the low level language that codes the Kdb database. However, outside of Kx systems, the company founded by Whitney and now owned by First Derivatives (also in Belfast), programming in K tends to be unnecessary. "Most people just use Q," says Davies. "K is under the hood."
How difficult is it to learn Q and kdb? "Kdb can be difficult, but if you have a mathematical and problem-solving background, it's very easy to get into the mindset of working with it," says Davies. "Once you realize how it works, it can all come together quite quickly." One issue can be that Q is a functional language, he adds: if you're used to an object-oriented language like Java, it can take more getting used to.
The students trained by AquaQ work on consulting projects on banks' high speed databases everywhere from Belfast to London, New York or Hong Kong. Davies says pay is competitive and varies by market and seniority. AquaQ salaries on Glassdoor indicate that its juniors start on around £25k, that its mid-ranking developers earn up to £35k, and that more senior consultants are on around £46k. They also receive a benefits package and allowances for food and accommodation when working on client sites. When some graduate developers at banks in London are on £100k that might not sound like much - and doesn't seem to justify kdb's reputation for high pay - but you can get a lot more if you work in-house for a bank, and if you work for AquaQ there are significant upsides in that your living costs are covered by expenses.
Learning Q and kdb should stand you in good stead. - The kdb database remains widely used in finance, and there are comparatively few people proficient in it. It's also spreading into other areas, like healthcare and manufacturing. AquaQ itself is branching out too. "We have expanded beyond kdb into other areas of data science," says Davies. " - We now offer services in Java, React, BigQuery, Kubernetes, Python and potentially C++ too."
Whereas once graduates would have specialised solely in kdb+, it's therefore more common to combine it with our languages and systems. "A lot of our engineers are cross-siloed," Davies says.
Have a confidential story, tip, or comment you’d like to share? Contact: email@example.com in the first instance. Whatsapp/Signal/Telegram also available.
Bear with us if you leave a comment at the bottom of this article: all our comments are moderated by human beings. Sometimes these humans might be asleep, or away from their desks, so it may take a while for your comment to appear. Eventually it will – unless it’s offensive or libelous (in which case it won’t.)