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 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 editortips@efinancialcareers.com. 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.)

author-card-avatar
AUTHORAlex McMurray Reporter
  • Bi
    Bismarck
    4 September 2024

    It's not that obtuse - q follows a logical structure that (quite deliberately) prioritise speed over user-fuckupabilitiness, which is why most junior coders just want to doodle in a workflow diagram and then get a load of python to do the obvious.

    Z80A - now that's a language for MEN

  • ja
    janon
    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
    DoubtingThomas
    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.

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.