Raw mkt data tech skill is better than soft mkt data even though it’s further away from “the money”:
- standard — Exchange mkt data format won’t change a lot. Feels like an industry standard
- the future — most OTC products are moving to electronic trading and will have market data to process
- more necessary than many modules in a trading system. However ….. I guess only a few systems need to deal with raw market data. Most down stream systems only deal with the soft market data.
Q1: If you compare 5 typical market data gateway dev  jobs, can you identify a few key tech skills shared by at least half the jobs, but not a widely used “generic” skill like math, hash table, polymorphism etc?
Q2: if there is at least one, how important is it to a given job? One of the important required skills, or a make-or-break survival skill?
My view — I feel there is not a shared core skill set. I venture to say there’s not a single answer to Q1.
In contrast, look at quant developers. They all need skills in c++/excel, BlackScholes, bond math, swaps, …
In contrast, also look at dedicated database developers. They all need non-trivial SQL, schema design. Many need stored procs. Tuning is needed if large tables
Now look at market data gateway for OPRA. Two firms’ job requirements will share some common tech skills like throughput (TPS) optimization, fast storage.
If latency and TPS requirements aren’t stringent, then I feel the portable skill set is an empty set.
 There are also many positions whose primary duty is market data but not raw market data, not large volume, not latency sensitive. The skill set is even more different. Some don’t need development skill on market data — they only configure some components.
I always prioritize instrumentation over effi/productivity/GTD.
A peer could be faster than me in the beginning but if she lacks instrumentation skill with the local code base there will be more and more tasks that she can’t solve without luck.
In reality, many tasks can be done with superficial “insight”, without instrumentation, with old-timer’s help, or with lucky search in the log.
What if developer had not added that logging? You are dependent on that developer.
I could be slow in the beginning, but once I build up (over x months) a real instrumentation insight I will be more powerful than my peers including some older timers. I think the Stirt-tech London team guru (John) was such a guy.
In reality, even though I prioritize instrumentation it’s rare to make visible progress building instrumentation insight.
Both mental stress and physical stress. Let’s take a step back and compare the stress intensity during job hunt vs GTD stress on the job.
Many people say it’s too stressful and tiring to keep interviewing compared to a long-term job in a big company. Well, I blogged many times that I need to keep interviewing…. The stress is so far manageable.
On a regular job, the GTD stress levels range from 5 to 7 on a scale of 10 (Donald Trump on women;). Often rise to 8.
Became 9 or 10 whenever (as FTE) boss gave a negative feedback. I know from several past experiences. In contrast, contract projects felt much better.
(To be fair, I did improve after the negative feedback.)
During my job hunt including the challenging Singapore lap, my stress level felt like 4 to 7, but often positive stress, perhaps due to positive progress and positive energy.
Conclusion — I always felt more confident on the open market than recovering from setback on a job.
–coding IV topics ranked
- #1 array, string, list, queue
- qsort + other sort
- generate permutations etc (probability + very little discrete math)
- binary trees
— beyond top 5, within top 10
- hashmap? if we exclude QnA questions, then this topic is not in top 5
- primitive types
- non-tree graph traversal
- combining multiple data structures? needed for bigger problems
- 2D image
–beyond top 10
See also https://bintanvictor.wordpress.com/2017/05/29/transparentsemi-transparentopaque-languages/
I was technically very, very confident in my 20’s to early 30’s until I was bogged down in some tough projects. I think many successful and competent techies experience the same at least once in their career. They though they were powerful, invincible but then a tough project was given to them that they struggled to get done. Later someone else got it done without much effort. (For a public domain example, look at the kernel project in GNU.)
It can be harmful to dive so deep into past personal limitations but then a hard, honest review could be life-enhancing. I see myself as a tough grown-up guy so I can take the pain.
Eg: GS rule-engine re-architecture in 2007 — too early
eg: see the opacity issues in https://bintanvictor.wordpress.com/2017/06/12/xp-3typestech-zbs-challenges/
If you choose the specialist route instead of the manager route, then you may find many of the successful role models need focus and accumulation. An individual’s laser energy is a scare resource. Most people can’t focus on multiple things, but look at Hu Kun!
eg: I think many but not all the traders I know focus for a few years on an asset class to develop insight, knowledge, … Some do switch to other asset classes though.
eg: I feel Sun L got to focus on trading strategies….
eg: my dad
All the examples I can think of fall into a few professions – medical, scientific, research, academic, quant, trading, risk management, technology.
By contrast, in the “non-specialist” domains focus and accumulation may not be important. Many role models in the non-specialist domains do not need focus. Because focus+accumulation requires discipline, most people would not accumulate. “Rolling stone gathers no moss” is not a problem in the non-specialist domains.
I have chosen the specialist route, but it takes discipline, energy, foresight … to achieve the focus. I’m not a natural. That’s why I chose to take on full time “engagements” in c#, c++ and UChicago program. Without these, I would probably self-teach these same subjects on the side line while holding a full time java job, and juggling the balls of parenting, exercise, family outings, property investment, retirement planning, home maintenance…. It would be tough to sustain the focus. I would end up with some half-baked understanding. I might lose it due to lack of use.
In my later career, I might choose a research/teaching domain. I think I’m reasonably good at accumulation.
 home maintenance will take up a lot more time in the US context. See Also
https://1330152open.wordpress.com/2015/08/22/stickyspare-time-allocation-history/ — spare time allocation
As stated in other posts, it’s all about local system knowledge + tools
Survival (and bonus, stress..) is always linked to benchmark against team peers, not
external teams like another department, not the manager himself. If entire team is low-calibre, then it’s a problem for the manager, but rarely your own problem. (It might threaten your team’s survival…)
LG2: system performance. Most guys in the team probably aren’t so good at this kinda thing, unless the team has a specific mandate to monitor and fix performance.
LG2: test coverage. May affect your reputation, but once I figure things out I can often relax and test
LG2: code smell. May affect your reputation but is clearly a LGlp compared to getting things to work.
LG2: code quality
LG2: readability by the team lead. OK team lead may complain, but if it works then it’s relatively easy to improve it.
LG2: extensibility. Yang is big on this. Many books are big on this, but it’s an art not a science. Many team members probably aren’t good at it.
LG2: system stability such as occasional hangs. Often a non-show-stopper.
** eg: my VS2015 build tends to hang and I had to research on how to fix it — show-stopper.
All of the above are secondary to … “figuring things out” i.e. how to get something to work, at a minimum usability.
Design? See also posts on arch_job. Can be a real problem, because if your design gets shot down, you waste time on rework.
I want to grow stronger/broader/versatile as a survivor, not necessarily grow my value-add. Actually I don’t have to grow.
— IV skills – Compared to GTD skills, these skills give me more confidence, more protection, more stress-relief. It works in big job markets like Wall St.
Lots of theory, which is my sweet spot.
Selective on what IV topics to learn!
coding IV + algo — favored by SiV
— (portable) GTD skills
Lots of tools….
Selective on what GTD topics to learn!
Needed for a lead developer, but such a role is stressful. I guess some good lead developers are also good at IV, but I’m not sure and I assume I’ll not be good at both.
Warning – a lot of projects don’t provide real GTD enrichment. Eg: Quartz, tibrv wrappers, Gemfire wrappers, FIX wrappers
Macquarie environment lets me learn lots of GTD skills.
OC gave me IV (c#) and GTD enrichment.
Stirt – none!
A java environment would give me some additional GTD enrichment but less IV enrichment
In SG, I continued my previous strategy, learning IV skills + GTD skills. Not effective so far. I feel my c# IV skills improved a lot but still not there. C++ IV skills didn’t improve much partly due to distractions.