I have this habit of giving up higher income, in order to keep learning something of strategic value,
- before it’s “too late” — i.e. before the opportunity disappears
- The prospect of blood-letting (wasted cycles) is too painful.
- I felt my peers were moving ahead of me, while I stood still.
||higher income forgone
||to gain …
||Barks FX offer
||100% c#, quant dev
||learned enough to crack some c#IV
||Pimco C++/FI offer
||not a job
||formal math training
||Master’s degree, branded uni
||confidence in math; self-confidence
For the UChicago motivation, there’s a separate blog post.
In 2017, I felt my c++ had not reached the critical mass despite my long self-study. A power drill was required to break the stone wall.
Reason – the salary gap between my c++ offers and java offers. I think the highest c++ offer was PIMCO, around $100/hr paid to agency (Huxley?). Most of the time, the java offers paid me (significantly) more than c++.
Reason — I also felt I could fairly easily crack the typical c++ interviews from then on. Now (2017) I doubt it.
Reason — some of the c++ jobs were not so “glamorous” less trading, less mainstream. Now (2017) I don’t care so much
A few times in my career I considered to (or did) take a pay cut, mostly to break into some domain or learn something hard to acquire, things like
* C++ HFT
* oracle DBA
* technical pre-sales
* threading, MOM for trading engine
Each time, it’s crucial to question and be critical about the promised benefits. Most of the time, we would regret the sacrifice.
https://bintanvictor.wordpress.com/2015/11/14/c-learning-aids/ has some c++ learning aids that could possibly reduce the need for those pay-cuts
background: My laser (and time) is a scarce resource. Need to economize it and prioritize.
Upshot — Perhaps algo practice has higher ROI than quant xx…
Both are seldom needed on the job but valuable to IV. Which one is more valuable? See post on algo IV for bbg
Most of Quant math is too hard to self-study, though the probability quizzes are manageable.
I believe our mind (esp. our memory) is like a muscle. If we don't
seriously use it, it tends to age, weaken and lose capacity.
Over the last 5 years, i spent 2009-2011 in the US on my own —
tremendous learning and improvement, perhaps the most active learning
period in my professional life. Then after I came back to SG, i
studied financial math program, c#/dotnet, and some c++.
I feel the serious study keeps my mind active. However, over the last
18 months, I notice various signs of my learning capacity reducing,
but it's not all due to aging —
* biggest factor is lack of concentration, due to kids and family commitment
* not enough time to periodically re-visit each topic,
After all, I feel it's vital and paramount to keep our mind in
constant learning mode. 活到老学到老.
Q: Do you prefer a job (under a boss) you are comfortable with, at a typical IT salary? Or do you prefer a job with above-average income, but suppressive boss? In both cases, let’s assume long term job security is average (far from ideal), workload is reasonable.
A: I’d favor the income if it’s more than $1k diff, but not sure if I can cope with the unfriendly environmental factors.
Health + employability(security) are my real, long term priorities.
Recall the GS/Macquarie experience – workload, job nature, security.
* c++ (and analytics) requires more accu and know-how than java — my strength
* accu — I want to build on my insight and knowledge, rather than chasing the tail of new technology. C/C++/java/c# (Big 4) build on each other.
* Looking at the most influential c++ books, the style suits more better
* c++ is more error prone — my strength
* c++ needs more care and feeding — my strength
* c++ doesn’t have “someone else” taking care of lots of things for you the developer, so you must take care of lots of things yourself.
* c++ is not a rapid development language
* c++ is an older language, undergoing less rapid change
* c++ has a higher entry barrier. Look at mainframe.
* c++ is more “engineering” and requires more crafting than java/c# — my strength
* c++ is more low-level — my strength
* c++ is less accessible to self-taught developers. More things to go wrong.
* c++ (and analytics) is non-trivial portable knowledge.
* the more “bookish” a subject, the more suitable. Hopefully with unifying principles, not knowledge-intensive like medicine. I read about cold calling but it’s not bookish.
* Unlike c++, python, socket …, this is real project, real value to me, real requirement from myself. I tend to finish much faster and with tangible outcome
* Even though I did a few swing projects in AutoReo, this is relatively new territory, so ascent is fastest.
* Together, swing and wpf are in a class of their own. Specialized skill and experience.
* I live nearby and with no family. This is one of the best ways to utilize the advantage.
* SQL and Unix are more “civil-engineering” but very hard to make visible, lasting progress.
* Unlike WPF, i can leverage on my strong java foundation including threading.
* Also, my previous professional experience needs “something” to reach critical mass and hit the next level. That something is probably hands-dirty experiments. I recall my java design experiments in ErrorMemos.
By age 30, many peers have decided to focus on Cisco, on Oracle, on Microsoft dotnet, on IBM, on SAP, on Powerbuilder. Other choose to focus on a domain like online gaming, financials …
(By “focus”, i mean 50%-100% of their tech experience is related to the chosen field.)
I always feel what if one day you discover you don’t like your role in that particular ecosystem, or the vendor starts making questionable moves, or you don’t like the vendor’s tech support, or u notice their discrimination policy .. you would feel locked in, cos you have invested too much into it, putting all your eggs in a single basket.
In my case, i have several years experience in each of
– solaris, linux, hpux, freebsd
– Oracle, mysql
– java, C, perl, php
– weblogic, tomcat, sunone