"Slang at Goldman Sachs is great. It's like Python, but easier"
Goldman Sachs uses a lot of Slang. And at Goldman, Slang means something very specific - it’s the internal proprietary programming language (Securities LANGuage) used across most of the front office. Slang is somewhat similar to Python, but in many ways is easier to learn and use.
To understand Slang, you need to understand its history. It was invented at Goldman 30+ years ago and was decades ahead of its time. A group of technologists including Armen Avanessians, Mike Dubno, Glenn Gribble and Kevin Lundeen created a language to underpin SecDB, the Goldman risk and pricing engine they were building at the time. However, unlike most other big banks and Institutions who also dreamed up their own internal programming languages, Goldman kept their own when others migrated away to more universal languages such as C++ or Java.
That’s not to say Goldman only uses Slang. - Java is a core language used across most of the technology teams within the firm too. Python is also commonly used nowadays for all the Machine Learning efforts. Other languages are used as well, based on the respective team’s requirements. But there was a time 10+ years ago when the philosophical mandate from leadership was for most things to be in Slang and SecDB.
Slang isn't good for everything though: over the years, people have tried to shoehorn it into working on things it wasn't designed for - like GUI work, but that was quickly dropped in favour of more modern web-based UX frameworks like Angular/React. Slang also doesn't handle large scale parallelization well and can be painfully slow if used for things it was never designed to be fast for. Slang is (in)famous internally for its blue-screen user interface - experienced users love it, but newer grads or external hires find the learning curve frustrating.
There have been efforts to integrate Slang within a more modern IDE recently, but this has had slow uptake due to the limited feature sets currently available outside of the classic blue-screen. Slang also still uses CVS as the code commit repository, which is several generations behind Git.
The key power of Slang is how it integrates with SecDB (SECurities DataBase). SecDB, and the Dependency Graph on which the risk modelling capabilities are built upon, has been critical to Goldman’s ability to manage risk effectively across the Firm. SecDB allows bi-temporal access to all trades, all positions, all product data and all market data within a single unified framework.
Slang was created for this purpose and for that reason, it's very good at its core capabilities. Slang was designed for sensitivity analysis and for running Goldman's risk engine. If you have a financial product like a swap or an option and you want to see the change to its net present value (NVP) given changes to the underlying parameters like exchange rates or interest rates, Slang and SecDB are very quickly able to perform that calculation. It has incredibly powerful graph technology that simply invalidates a few parameters to give you a new NVP based on a particular market scenario. It enables you to get a very quick and up-to-date view on your pnl.
When you’re at Goldman, Slang is also almost entirely open-source internally. Everyone with Slang access can see all Slang that was ever written by every team across the whole Firm (except for a very few libraries which are responsible for data permissions). Slang has the advantage of being mostly client-side run-time executed, meaning developers can quickly test their code locally before pushing it to production.
For decades, this was Goldman's competitive advantage. Slang and SecDB were entirely created in-house and Goldman didn't have the disadvantage that other banks had of merging with rivals and rewriting systems or mashing things together. Instead, there was Slang and SecDB, and Slang made SecDB quick and light to develop. And because this system was open source internally, anyone in the markets division could access whatever anyone else had already built - so there was no need for different teams to duplicate efforts by rebuilding the same product multiple times when they could just directly use whatever already existed (be it the booking screens, tradables, or downstream pipes).
This is why Slang and SecDB were for a long time been the secret-sauce for how Goldman effectively risk managed all its positions in a consistent way. However, other banks have been catching up fast (JPM, BofA, Etc.) who have been hiring Goldman people for years to implement their own versions of SecDB in-house. There are even several vendor solutions now offering a Slang/SecDB -like platform (Coremont.com, beacon.io, Etc.), which have been designed from the ground up to leverage more modern technology capabilities and to address some of SecDB's core limitations.
Some people don't want to join Goldman and work in Slang because they fear that in doing so they won't gain transferable skills that will be relevant elsewhere. But good developers can always pick up new languages. Moreover, Slang has a huge number of advantages. Having coded in it for over a decade, I'm a still a big supporter.
Slang has its place and is going nowhere soon. Yes, Goldman is making efforts to move away from Slang and is using a lot more Python and Java, but there are millions of lines of Slang code at the firm, and it will take decades to phase them out. In the meantime, developers who join Goldman should embrace the language. I'm probably biased, but in my opinion, Slang is excellent.
Have a confidential story, tip, or comment you’d like to share? Contact: firstname.lastname@example.org in the first instance. Whatsapp/Signal/Telegram also available (Telegram: @SarahButcher)
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.)