There’s a concept of “best practices across industry”, as I experienced in Macq. Using new technology, things can be done faster, at a large scale, and more automated, even though I may feel it doesn’t make such a difference.
Due to FOMO, CTO’s don’t want to be labelled as laggards. Same motivation at MS-Iceman, Quoine, Nautilus …
- PWM-billing, PWM-comm. I remember Mark wanted “strategic improvement” not incremental improvement. He needs it for his promotion 政绩
- RTS infrastructure was considered (by Jack He and outsiders) outdated and lagging behind competitors
- SCB (c++ heavy) tech stack looked to me like a dinosaur .
You can call it “ruthless march of technology” — a ruthless progress. At a fundamental level, this “progress” can wipe out the promised benefit of “slow-changing, stable domain knowledge”
- quant skillset
- SQL skillset — affected by noSQL
- c++ skillset — perhaps affected by c++0x
- FIX skillset — perhaps affected by faster proprietary exchange APIs?
- … However, the skills above are still relatively robust. Other skillsets (they are not today’s focus) have proved arguably more robust against this march — sockets, pthread, STL, coreJava, bond math,.. I listed them in my spreadsheet pastTechBet.xlsx.
—  c++ as in SCB vs java as in my MS department vs newer languages
c++ feels so archaic, arcane, and /unwieldy/ compared to the clean API of java. Java also looks that way compared to newer languages such as but not limited to python, php, ruby, node.js. These newer languages will suffer heavy churn and get displaced by the next flavor of the year.
See my blogpost on “c++too hard for young coders”
For the app developer, The biggest area of c++ improvement has been template, starting with STL, but templates encapsulate and simultaneously introduce/impose a lot of complexities, so if you ask me “Does template make c++ easier to use?” I would give a mixed answer. That partly explains why I perceived the then SCB dev stack as dinosaur.
In MS (my department), the versatile java was chosen as the primary language for web and batch jobs. I guess it also looked like dinosaur because newer languages seem to do these same things more easily.