HFT developers seldom need to optimize latency

I bet 90% of HFT developers (non-architects) Never need to optimize latency or throughput, based on my experience in

  • RTS
  • mvea

Why? The latency sensitive codebase is low-level and stable, so no change required. Regular developers only need to use existing frameworks and avoid latency penalties.

If the frameworks are strict, then there are few chances to hit latency penalty.

Best way to acquire professional experience in latency engineering — put your ideas to work in a real project and tune it until it works. Look at my wait/notify code in 95G. I think Kam did something similar in the TREP project in RTS.

If you don’t have such an opportunity, then you must read up in your spare time and ask some good questions in a good contexx.


## Beat Sg2011Search !

  • reason: I’m now open to java
  • reason: c++ muscle building showing
  • reason: python
  • tactic: will accept 140k jobs without complaint
  • tactic: will seriously target the fertile grounds — FX, mkt data…
  • tactic: will seriously prepare for architect roles
  • tactic: will fly back for job interviews

##(family) safety enhancers: next sg job

see predict next 3-5Y job satisfaction #engaging

see what determined7past job satisfaction #nextSgJob

Conclusion: As of Apr 2018 the top 2 enhancers are

  1. Appr — appreciation
  2. MktDepth — market depth
  3. –others…
  4. comp? important to satisfaction but not really important to “safety”
  5. engagement? important to satisfaction then-n-there but not really important to safety

max salary: simple game-plan for sg@@

  • Some quant skill? tend to pay a premium
  • algo trading? tend to pay a premium
  • java/c++ combo role? will Not pay lower
  • architect/leadDev like Sourabh?
  • what if 50% on Windows? OK

Whether I ask for a big base or modest base, there’s a high chance I may not meet manager expectation. So let’s just go for the max salary and forget about learning.

If a HFT shop makes a real offer at S$150k base I will decline.

market-depth^elite domains esp. algoTrading

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):

  1. stagnation in my orgradient
  2. may or may not use my specialist skills in math, concurrency, algorithms, or SQL …
  3. robust demand
  4. low churn — a critical criteria whenever I mention “market depth”. I don’t like the market depth of javascript and web java.
  5. 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.

However, HFT developers seldom need to optimize latency

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.

I can qualify as tech lead on___(system)

Q: what kinda systems can you be an architect or lead developer? See also ##a few projects technically too tough4me

A: In an optimistic mood …

domain firm tech used cfd personal advantage
trade execution b2b sql, tibrv  4
blotter + backend #essential to any citi sql  3
mkt data parser ICE socket  3
bond repricing/risk engine reo sql, async  4 bond math, curve-based pricer
billing, commission PWM SQL, batch  5
STP none sql, batch, MOM  3 SQL
java web … PWM sql, batch  5 many
web … Catcha, NIE lamp, javascript  5 many

I can get these systems to work, although

  • I’m not the fastest
  • i may not use latest, most efficient technology
  • reliability and stability ?
    • Look at GMDS .. MMF is an unstable base technology
    • LOok at Gauardian ssh? not a mature , well adopted base technology

## realistic 2-10Y career planning guidelines

Background: not easy to have a solid plan that survives more than 3Y. Instead of a detailed plan, I will try to manage using a few guidelines.

  • –top 5 guidelines:
  • Singapore — much fewer choices. Better consider market-depth^elite domain
  • trySomethingNew — may/not be justifiable
    • stagnation — could be the norm
    • engaging — keep yourself engaged, challenged, learning, despite the stagnation
  • Expertise accu or sustained focus — holy grail
  • family time — how2get more family time #a top3 priority4Sg job
  • ——– secondary:
  • interviews — Let’s accept : extremely important to me but much harder in Singapore. Even in the U.S. I may need to cut down.
  • distractions — Let’s accept
  • appreciation/appraisal(esp. by manager) — Let’s accept: may not be easy to get
  • Peer pressures — Let’s accept.
  • Entry-barrier — could be too high for me in the popular domains like algo trading
  • non-lead dev role — Let’s embrace. Don’t feel you must move out or move up. Hands-on coding is gr8 for me. Feel good about it
  • Shrinking Choices — many employers implicitly prefer younger programmers
  • Entry-barrier — could be too low for some young guys — the popular domains will have many young guys breaking in
  • Churn — Avoid


Update: I told bbg (Karin?) and Trex interviewers that domain isn’t a big concern to me. Even a back office IT role can turn out to be better.

  1. quantDev
  2. algoTrading
  3. bigData

… are the 3 big directions for trySomethingNew. I’m cautious about each.

quantDev (not pure quant) — low demand; poor market depth; unable to find another job; least jobs and only in banks. CVA is not really quant dev, based on what I gathered. See also %% poor accu ] quantDev

algoTrading — perhaps I should try java and medium frequency?

bigData — no consolidation; questionable accumulation and value-creation

expertise demand]sg: latency imt quant/HFT

Q: which skill in Singapore looks to grow in terms of salary, and less importantly, # of jobs
A: latency,

Q: which fields in S'pore has a skill shortage based on your recent observations
A: possibly latency. not so obvious in quant field. There are many real quants in Singapore. Generic c++/java is no shortage.

Q: which fields in S'pore present entry barrier in terms of tech?
A: thread, latency, data structure mastery (eg: iterator invalidation); green_field_ground_up design in general; high volume market data sys design in particular;

Q: which fields in S'pore present entry barrier in terms of domain knowledge?
A: FX (…..), P/Y conversion, duration, IRS pricing, bare bones concepts of a lot of major derivatives
A: I feel a lot of employers want relevant biz experience. That experience is a few weeks (or months) of on the job learning, but (the lack of) it does cast a long shadow.

strength/weakness ] sg dev talent pool

+++ core trading engine green field development, not just maintenance
+++ [d] java keywords and syntax nitty gritty
+++ [d] threading, data structure, STL
+++ [d] integration of MOM, dispatchers, queues, threads in a high volume design
+++ java and c++
+++ sybase
+++ [d] DB tuning
+++ unix
+++ bond math
+++ tibrv
+++ complex query
+ concurrent package
+ [d] low latency techniques + theory
+ swing
+ java mem mgmt
+ pre-trade quote pricing
+ trade execution, order matching
+ marking, pnl
+ design patterns

– greeks
– unix tuning for low latency
– python
— mkt data
— c#. Many candidates have c# and c++

[d = details]

What Wall St xp valued in Singapore

(blog post)

If an IT veteran comes to Singapore job market from silicon valley, he is welcome by Singapore employers, but if he comes from Wall Street, he is more valued.

Singapore positions itself more as a financial center than a technology hotbed. In many arenas, Singapore is playing catch-up with world leaders. Singapore is more successful pushing to the forefront in oil, air transportation, freight logistics (best sea port), medical services, and financial services, esp. commodities trading.

Singapore is somewhat less successful in electronics (once successful), life science, research, telecom…

A technology hotbed requires more resources — more talent, more research, more funding … than city state Singapore has.

One of the wall st experiences/know-hows needed most is real experience in trading system architecture.

value-add for S’pore financial-IT cluster competitiveness

Let’s say we want to add value to Singapore financial-IT sector’s competitiveness, either in a software house or an in-house dev team on Shenton Way. Look at the competitive landscape described in http://www.zaobao.com/cs/cs070802_509_1.html. What kind of people do these companies have difficulty recruiting?

* insight [1] into building key financial IT systems. In reality, a department often need a single “navigation guide” to help make (a myriad) key decisions including what to avoid. This guide will help recruit and buy other resources.

[1] gained from deep xp

* Generic PM zbs, generic tech zbs, professionalism … are fundamental, but i think easy to find in Singapore. Perhaps there’s no special personal quality for this sector. Perhaps the top 3 make-or-break personal characteristics are similar to other IT sectors such as logistics, telecom, education …

Even without prior dnlg, if you are sensitive, motivating, strong, self-sacrificing, visionary … you will add value to that “cluster-competitiveness”.

* domain knowledge? As a “cluster”, the SG financial IT sector must offer specific expertise such as remittance and those listed on http://www.zaobao.com/cs/cs070802_509_1.html. However, as individuals techies, … I think the dnlg can be acquired in a few weeks to 1 year, and you will be competent even as a team lead. Look at Henk.

* low latency high frequency

* algo trading

Now (2010) i feel generic or entry-level domain knowledge or tech knowledge is not hard to find. Some people say low latency and analytics is now commodity expertise. I don’t agree.

If i need someone to build a billing system, a veteran can guide me to avoid the “good try” routes, but the imperfect design vs the proven design aren’t going to make a huge difference. What about a pricing system? If you don’t have a good guide, maybe you won’t get it done.