I used to dismiss “commodity” skills like market data, risk system, J2EE… I used to prefer high-end specializations like algo-trading, quant-dev, derivative pricers.
As I get older, it makes sense to prefer market depth rather than “elite”(high-end niche) domains. A job market with depth (eg market-data) offers a large number of positions. The typical salary of top 10% vs the median are not very different — small gaps. In contrast, the elite domains feature bigger gaps. As I grow older, I may need to reconsider the specialist vs generalist-manager choices.
Reminders about this preference (See also the spreadsheet):
- stagnation in my orgradient
- may or may not use my specialist skills in math, concurrency, algorithms, or SQL …
- robust demand
- low churn — a critical criteria whenever I mention “market depth”. I don’t like the market depth of javascript and web java.
- salary probabilities(distro): mgr^NBA#marketDepth etc
–case study: Algo trading domain
The skillset overlap between HFT vs other algo systems (sell-side, OTC, RFQ, automated pricing/execution..) is questionable. So is “accumulation” across the boundary. There seems to be a formidable “dragon gate” — 鲤鱼跳龙门.
Within c++ based HFT, accumulation is conceivable. Job pool is so small that I worry about market depth. My friend Shanyou agreed that most of the technical requirement is latency. C/C++ latency techniques are different from java.
Outside HFT, the level of sophistication and latency-sensitivity varies. Given the vague definition, there are many (mostly java) jobs related to algo trading i.e. better market depth. Demand is more robust. Less elitist.