Discover your dream Career
For Recruiters

Should you learn the "obtuse" niche coding language paying $700k+ in finance?

We recently revealed that SQL is the most frequently requested language in financial services in 2024. If you're not a fan, there's another, more niche language for databases with the potential to pay very well... but it's a double-edged sword.

Click here to sign up for our fintech newsletterÂ đŸ€–

Q, the programming language for KDB databases, is a niche skill with niche demand. There are just 32 openings mentioning KDB on eFinancialCareers, but roles have the potential to pay up to $770.6k. It's used by many major institutions like Deutsche Bank and hedge fund Millennium. 

So is it worth learning this niche language? Perhaps not. On HackerNews, a disgruntled KDB user in financial services recently aired some grievances with the language.

The developer, who uses Rust to price options calls Q "a language with origins so obtuse that its progenitor, APL, needed a custom keyboard laden with mathematical symbols." They say KDB and Q are very inefficient for complex data, and that they find themselves needing to do "engineering work for trivial things."



The Rust developer says that, in a team of around 100 developers at their firm, nobody can teach him how to use it for complex data. When they suggest alternatives, they're told "other firms are really invested in KDB and use KDB for this, [so] just figure it out."


KDB aficionados replying said that this is a use case in which KDB actually excels, but this is, in essence, the main problem with KDB. As one former hedge fund engineer put it "very few people can write/read good Q" and "the learning curve is incredibly steep."



The hedge fund engineer also says that it is precisely KDB's obtuse nature that makes people in finance love it. They say, "adding complexity is one way to build a fortress around their job." Because KDB engineers are so hard to hire, they're also hard to fire. It's not perfect for incumbent KDB engineers, either. If they're hard to hire... their jobs are also hard to leave. 


Have a confidential story, tip, or comment you’d like to share? Contact: +44 7537 182250 (SMS, Whatsapp or voicemail). Telegram: @SarahButcher. Click here to fill in our anonymous form, or email Signal 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.)

AUTHORAlex McMurray Reporter
  • ja
    17 June 2024

    "engineering work for trivial things."

    That's funny coming from a RUST developer.

    Add 10 to a list in q?

    10 + 2 4 5 6 7

    Add 10 to a list in Rust?

    let bar = vec![2, 4, 5, 6, 7];
    bar.into_iter().map(|x| x + 10).collect();

  • Do
    13 June 2024

    KDB is indeed very fast, or can be, once the code (or more accurately, scripts) is running. However, getting to that point often requires a huge amount of effort. The experts now all seem to do consulting, rather than be full time employees - maybe as a consequence of the very niche skills they provide.

Sign up to Morning Coffee!

Coffee mug

The essential daily roundup of news and analysis read by everyone from senior bankers and traders to new recruits.

Boost your career

Find thousands of job opportunities by signing up to eFinancialCareers today.
Recommended Articles
Recommended Jobs

Sign up to Morning Coffee!

Coffee mug

The essential daily roundup of news and analysis read by everyone from senior bankers and traders to new recruits.