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.)