(See also http://bigblog.tanbin.com/ post on HFT)
Just to share some observations and reflections. More than one Asia (and to a lesser extent US) recruiters have reached out to me as a potential lead-developer for a HFT engine, to be created from scratch. I believe there are not many old hands in Singapore. Even in the US, this is a relatively small circle. Not a commodity skill.
A small trading shop would have very different needs than a big bank, so their HFT engine will use off-the-shelf tools for all but the most critical, customized modules. (I had a brief blog post on it.) What are the 10 essential know-how i.e. Essential functionalities you must know how to create (prove)?
- see also my 2018 post on execution system^OMS^FIX…
- executing strategy for order origination, i.e. machine trading
- market data processor, sockets
- order book replicated from market data? perhaps at the center of the engine
- OMS (Kenny) ? in some cases we leverage the exchange query API or 3rd-party solutions
- [W] FIX or other order submission protocol
- in-sample testing. I used Matlab for this. Can be much simpler than the production system.
-  real time pnl, updated by market data
-  barebones blotter, or perhaps command line interface?
-  store historical data for analysis. Perhaps SQL or KDB.
- [3N] reference data
-  post-trade STP
Low-level tech knowledge
• [N] threading
• [NW] Boost
• [N] memory leak detection
• [W] socket programming
[3 = 3rd party products could be good enough in Every component, but this one is more likely]
[N = Not needed in every shop, but often required by interviewer]
[W = my weakness, relatively speaking]