4 ms·
My friend spent two years working for a large bank as a (his words) "trader's bitch". Every day the trader would request a new feature and my friend had at most
by Tade0 6y ago
My friend spent two years working for a large bank as a (his words) "trader's bitch". Every day the trader would request a new feature and my friend had at most two hours to implement it.
They used a combination of Python and highly GC-tweaked Java.
This was six years ago, but I see that similar techniques are still used to this day.
- RankingMember 6y agoDamn, seems like a good way to have a ton of buggy code in production.
- lkbm 6y agoI'm guessing most people are familiar, but if you're interested in this, look up "Knight Capital flash crash". They lost $440MM in about 45 minutes. As I recall, they reused an old feature flag accidentally reviving some old code.
- bywaterstreet 6y agoThanks for the ref. I'll bring this up the next time somebody questions my "let's clean up these flags in prod".
- Tade0 6y agoOh yeah. But the traders had just one KPI - money made.
- dudul 6y agoWhen you do HFT, nobody cares about that. The only thing that matters is to make money. I also worked on HFT software written in Java (not the one in this article), and the mindset was completely different from other industries. F QA, F unit tests, F your F-ing AbstractProxySingletonFactory, just write the code that makes it work, see you after lunch to deploy. Yes, in a lot of ways it is awful, but OTOH it is really great intense bootcamp to learn how to write very modular, easy to change and to read code. No time to over engineer, no time to build these fancy generic abstractions to support the one use case you have and the dozen hypothetical use cases product never asked for.
- bloat 6y agoIn my experience this is a pendulum. Traders hire a few desk developers who are paid by the business, and who work directly with the traders in the same physical area. They crank out code under a lot of pressure for fast turn around, and eventually it becomes completely unmanageable and / or there is some disaster in production. At that point the technology organisation starts taking by over, the desk developers are let go or they move into technology and start getting paid by technology instead of by the business. Things are now done in a more normal enterprisey software development way, and things are generally done more safely, with more design up front, and more documentation. Of course it also takes a lot longer to get anything done. So traders decide to hire a bunch of developers, answerable only to them, and back to the start we go...