Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

That’s a fairly accurate overview. If you’re a bank, there is also code to handle market parameters/fits, software to handle positions/booking, exotic payoffs ( and the accompanying compiler to compile the dsl ), regulation, GUIs and custom tools for trading/sales, risks, etc.

6 million sloc is indeed a fraction of what you’ll find in an investment bank. It’s also (I think) what makes it very interesting: an IB is a huge software system, with a mixture of extremely legacy (30y) and bleeding edge tech, and very strange human made rules.



6 million lines of Haskell. A language known for the ease of creating domain specific languages and thus writing the business logic declaratively. You would assume that is what is also done in Standard Chartered.

6 million lines of Haskell maintained by around 40-50 engineers. Sounds like a lot of tech debt in the making.

Maybe the 6 million lines includes their fork of GHC?


40-50 people is tiny indeed, but Haskell is supposed to help quite a bit here. 6 million lines of c++ and 50 people could be very hard. I’ve seen 4 million sloc of c++ and 80 eng, and it is hard.

Investment banks are extremely complex systems - 6 millions sloc, even in a very expressive language, make sense to me.

What’s harder to grasp is the real complexity of an IB - it took me years to get that. 30 years of random, non homogeneous software evolution, coupled with 30 years of funky human made rules in 200 countries. It’s going to be big and messy! And I really wish it were easier.

To some extent, it’s a bit like Unicode, or font rendering, or the tax code : on paper it’s just a bunch of rules, but for real, it’s big and complex.


Perhaps it also includes (quasi) dead code that is not used anymore because regulations changed, and code for one-off analyses and experimentation?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: