As a managing director in charge of a major front office technology unit at a U.S. investment bank in New York, I get a lot of young people asking me the best coding languages to learn for banking jobs. The answer is, that it depends. However, there’s one language I will always advise people to learn: Python.

Python may be slow compared to some other coding languages, but it’s the number one language used in finance now. We use it for data analytics and for data investigations and interrogation. Python is also the language of machine learning and AI, and as AI becomes more widely used in finance, so does Python.

Python’s big advantage is that it’s easy to learn. The syntax is human-readable and intuitive. Its power derives from the multitude of open source libraries available in Python for use with machine learning and many other applications.

Alongside Python you should choose at least one other language. OCaml will catch attention, but it’s hard to learn – way harder than Java and harder even than C++. However, it’s the kind of language that – if you can code well in it – will give you prestige among geeky computer science nerds. Other languages in this category include Lisp and Haskell. 

Do you really want to learn an ultra-obscure language though? In finance, we use Java for the broad decision-making within algorithmic trading code, and C++ for the higher frequency portion of it. Java derivatives like Scala are used for data ingestion and languages like R and MATLAB are used in bespoke research scenarios, and are losing ground.

The languages you choose to learn should therefore depend upon the sort of banking technology job you aspire to. Always learn Python, but your second language will differ. If you want to work on trading execution algorithms, learn Java. If you want to work on derivative pricing, learn C++. If you want to work on user interfaces (UIs), you could also learn Javascript. If you want to work on tick-data level work, there’s also Kdb/Q…

There are three languages I would always avoid. These are: Pascal (too old); Julia (too new); and Slang (too proprietary).

Ananda Vyas is the pseudonym of a managing director in technology at a U.S. investment bank

Have a confidential story, tip, or comment you’d like to share? Contact: [email protected]

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

Photo by Ilse Orsel on Unsplash


Leave a comment

Your email address will not be published. Required fields are marked *