- biz wing — in addition to my tech wing. I learned a bit but not enough. Not strategic
- quant? The on-the-job learning was effective and helped me with subsequent interviews, but further push (UChicago) are not bearing fruits
- data science?
- —-diversify within the tech space, where I have proven strengths
- swing? positive experience
- unix -> web dev -> java? extremely successful
- c++? slowly turning positive
- dotnet? reasonable
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.
I believed (and still believe) the initial learning in any technology is fastest. But was the enrichment worthwhile? Now I think yes and no.
– no I didn’t become a “grown-up” python veteran or deepen my domain knowledge in curve fitting, real time risk, risk attribution, risk bucketting..
(Below is Adapted from a letter to Hu)
Most of my developer friends (mostly senior developers) in Goldman and Baml shun the in-house frameworks (SecDB or Quartz). Key reason cited is skill mobility and market value. There are other reasons unmentioned. Indeed, we have to spend many late hours learning the idiosyncrasies of the framework, but that value…
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/
eg: the mysterious “tp” in the g++ command line when I run “make debug”
- It’s possible to code C for years without using pointers (except string functions), or malloc
- It’s possible to code C++ for years without using virtual, new/delete, STL, or even class.
- It’s possible to code java/c# for years without any threading, or reflection
- It’s possible to code perl for years without using interesting regex or hard/soft references.
- It’s possible to code SQL for years without writing outer joins. I guess I wrote lots of mysql queries without any join.
- It’s possible to code python for years without creating
- eg quartz — the python experience didn’t make a strong python developer. The other tech knowledge gained has even lower market value.
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.