I have a real self-esteem problem as I tend to belittle my theoretical and low-level technical strength. CHENG, Shi was the first to point out “你就是比别人强”.
- eg: my grasp of middle-school physics was #1 strongest across my entire school (a top Beijing middle school) but I often told myself that math was more valuable and more important
- eg: my core-java and c++ knowledge (QQ++) is stronger than most candidates (largely due to absorbency++) but i often say that project GTD is more relevant. Actually, to a technical expert, knowledge is more important than GTD.
- eg: I gave my dad an illustration — medical professor vs GP. The Professor has more knowledge but GP is more productive at treating “common” cases. Who is a more trusted expert?
- How about pure algo? I’m rated “A-” stronger than most, but pure algo has far lower practical value than low-level or theoretical knowledge. Well, this skill is highly sought-after by many world-leading employers.
- Q: Do you dismiss pure algo expertise as worthless?
- How about quant expertise? Most of the math has limited and questionable practical value, though the quants are smart individuals.
Nowadays I routinely trivialize my academic strength/trec relative to my sister’s professional success. To be fair, I should say my success was more admirable if measured against an objective standard.
Q: do you feel any IQ-measured intelligence is overvalued?
Q: do you feel anything intellectual (including everything theoretical) is overvalued?
Q: do you feel entire engineering education is too theoretical and overvalued? This system has evolved for a century in all successful nations.
The merit-based immigration process focus on expertise. Teaching positions require expertise. When laymen know you are a professional they expect you to have expertise. What kind of knowledge? Not GTD but published body of jargon and “bookish” knowledge based on verifiable facts.
Deepak told me that Rahul, Padma etc stayed in RTS for many years and became “complacent” and uninterested in tech topics outside their work. I think Deepak has sharp observations.
I notice many Indian colleagues (compared to East European, Chinese..) uninterested in zbs or QQ topics. I think many of them learn the minimum to pass tech interviews. CSY has this attitude on coding IV but the zbs attitude on socket knowledge
–> That’s a fundamental reason for my QQ strength on the WallSt body-building arena.
If you regularly benchmark yourself externally, often against younger guys, you are probably more aware of your standing, your aging, the pace of tech churn, … You live your days under more stress, both negative and positive stress.
I think these RTS guys may benchmark internally once a while, if ever. If the internal peers are not very strong, then you would get a false sense of strength.
The RTS team may not have any zbs benchmark, since GTD is (99.9%) the focus for the year-end appraisal.
These are some of the reasons Deepak felt 4Y is the max .. Deepak felt H1 guys are always on our toes and therefore more fit for survival.
Context — professional (high or low end) programmer career till my 70’s. The #1 derailer is not physical health  but my eventual decline of “brain power” including …?
 CSY and Jenny Lu don’t seem to agree.
This discussion is kinda vague, and my own thoughts are likely limited in scope, not systematic. Therefore, external inputs are extremely useful. I posed the same questions to multiple friends
Q2: what can I do now given my dev-till-70 plan defined above.
Q1: how do I keep my brain healthy, and avoid harmful stress?
— Josh felt that the harmful stress in his job was worse in his junior years when he didn’t know the “big picture”. Now he feels much better because he knows the full context. I said “You are confident you can hold your end of the log. Earlier you didn’t know if you were good enough.”
— Grandpa gave the Marx example — in between intense research and writing, Marx would solve math problems to relax the brain. I said “I switch between algo problem solving and QQ knowledge”
— Alex V of MS — Ask yourself
Q: compare to the young grads, what job function, what problems can you handle better? My mental picture of myself competing against the young guys is biased against my (valuable) battlefield experience. Such experience is discounted to almost $zero in that mental picture!
When I told Alex my plan to earn a living as a programmer till 70, Alex felt I definitely need a technical specialization. Without it, you have very little hope competing with people 40 years younger. I said I intend to remain a generalist. Alex gave some examples of skills younger people may not have the opportunity to learn.
- low-latency c++
- c++ memory mgmt
- specific product knowledge
- — I said
- .. I have a few skillist blogposts related to this
Mental gymnastics is good, like board games and coding practice and Marx’s math practice, but all of these are all secondary to (hold your breath) … physical workout, including aerobic and strength training!
Grandpa said repeatedly the #1 key factor is physical health, though he didn’t say physical health affects brain capacity.
I told Sudhir that I personally enjoy outdoor exercise more than anything else. This is a blessing.
Also important is sleep. I think CSDoctor and grandpa are affected.
Sudhir hinted that lack of time affects sleep, workout and personal learning.
- Me: I see physical exercise and sleep as fundamental “protections” of my brain. You also pointed out when we reach home we often feel exhausted. I wonder if a shorter commute would help create more time for sleep/workout and self-study. If yes, then is commute is a brain-health factor?
- Sudhir: Absolutely, shorter commutes are always better, even if that means we can only afford smaller accommodation. Or look for a position that allows working remotely more frequently.
Sudhir also felt (due to current negative experience) an encouraging team environment is crucial to brain health. He said mental stress is necessary, but fear is harmful. I responded “Startup might be better”.
–Jenny Lu felt by far the most important factor is consistent physical exercise to maintain /vitality/. She felt this is more important than mental exercise.
I said it is hard to maintain consistency. She replied that it is doable and necessary. See ##what U r good@: U often perceive as important2everyone
–Junli…. Felt mental exercise and physical exercise are both important.
When I asked him what I can do to support dev-till-70, he identified several demand-side factors —
- He mentioned 3 mega-trends — cloud; container; micro-service.
- Serverless is a cloud feature.
- He singled out Spring framework as a technology “relevant till our retirement time”
— CSY pointed out the risk of bone injury.
He said a major bone injury in old age can lead to immobility and the start of a series of declines in many body parts.
— XR’s supply/demand-oriented answer is simple– keep interviewing. He felt this is the single most effective thing I can do for dev-till-70.
— Chris Ma: ##types@Work2slow brain aging #campout
update: old timers are safe in some teams like MLP, but not in MS.
Q: Why are so many old timers unable to get out of a shitty job in a pressure-cooker company?
- A small number of old timers change job but some of them regret as new job turns out worse. Other old timers hear those war-stories and prefer the certainty of known pain in the current job. They don’t feel confident they can find a better job.
- bench time — Many old timers can’t afford bench time due to low reserve and high burn rate.
- Old timers tend to be very unused to unstable income.
- Damien (Macq) relied on his bonus payout..
- Some had no savings at all.
- Most old timers won’t even consider a 6M contract.
- Most old timers will never consider a voluntary pay cut to get a more comfortable job
- golden handshake — Some old timers (UBS?) can’t let go of the promised compensation package. They would not resign and give up on a 100k promised windfall
- some old timers worry about job loss so much that they work their ass off to keep the job, even if the workload is unreasonable/unfair. I think in GS I was like them. I have a friend in a similar situation. I think the boss wants to let him go but may feel merciful, so they keep him but give him shitty tasks and demand fast turnaround at good quality…. unreasonable/unfair workload.
- Some old timers may have a wife who completely opposes job change due to potential impact on family.
Q: why XR and I can afford to quit a job, stay home, and find a lower job?
A: Supportive wife, burn rate, passive income and savings.
Primarily supply-demand driven
* Reason (demand-side): age discrimination — Davis pointed out that many ibank and other employers would accept (reality) to pay higher salary to a fresh grad than an old-timer because these employers long for fresh blood
* Reason (demand-side): core dev teams — are more central than peripheral teams like devops (eg QAPM), QA, DBA, reporting,.. Consider Ling, the QAPM devops scripting guru.
* Reason (demand-side): Jay Hu pointed out that hard-core dev skillset — is perceived as more valuable, harder than “tools” including reporting tools, devops tools, automation tools, vendor products that encapsulate the underlying complexities.
Similarly, c++ skillset is often perceived as harder than coreJava
Similarly, coreJava skillset is often perceived as harder than jxee
Similarly, c++java skillset is often perceived as harder than scripting
On the supply side, there are fewer hardcore c++ developer than coreJava developers, and a lot more jxee developers. However, there’s also the Curious case of quant dev — tight supply, but dwindling demand.
If you have some brain power (like the 华中理工 compScience friend of Jay Hu), then don’t be put off by hard-core dev, even though it’s dry, boring, tough, unglamorous. See my blogpost on my geek profile.
Davis agreed the quality of education is good in Canada universities, but students are less aggressive (I would say hungry) than in the U.S. He studied in a lesser-known college in Canada. His (and classmates’) salary grew but remained much lower than in U.S. even in pre-tax.
I feel U.S. pays high salary to software engineers. Canada may not.
(Same can be said about U.K. and France.)
Davis said “no investment banking jobs” (Same can be said about Australia.)
He gave examples to show — job opportunities are much fewer there.
(Same can be said about Australia.)
U.S. college graduates can find internships + job in the U.S., but Canadian college grads can’t so they usually work in Canada, with much (per Davis) lower salaries. Like in other countries, only a minority in Canada can break into more lucrative job markets overseas (ie US). There’s clearly an invisible barrier between Canada and U.S. job market. I thought there was none. Now I think the barrier is visa —
Canadian graduates need visa to work in U.S. TN is usable but still employers need extra legwork. Overall, Davis perceives a real barrier of entry. In 2016 I experienced something similar — Beyond the heavy door there’s a land of lucrative job opportunities. I wrote a blogpost about it.
- I overestimated the “level playing ground” in U.S. job market. In reality, local candidates have an advantage bigger than I assumed.
- I tend to overestimate my (or my kids’) raw talent. With extraordinary talent we can kill any interview, but we are not so extraordinary.
- I underestimated the entry barrier.
- Best example — I can see the advantage of Wall St as a job market relative to London (per Ram) and Singapore. Even a mediocre java guy can earn 150k. However, so many competent techies in Asia experience many obstacles when they try to break into Wall St. Most of them don’t bother to try.
banking & eco
Long-term trend — I asked my friend Davis Wei about noSQL displacing SQL. He pointed out that banks need full ACID compliance.
Now I feel the more strict transactional requirement we have, the closer we would move towards SQL. Banking has the most strict requirement.
My friend Davis revealed to me that many non-VPs earn below the $115k salary offered to a fresh Master’s grad.
- Davis said employer won’t give you more than 3% annual increment, so quite often it can’t reach $115k.
- Anthony also said the big hike happens only when you change job .
- Jack Zhang said over 10 years the total increment could add up to below 20k.
Q3: what’s the market rate for your skill as an old timer?
A: probably higher than the grads.
Q3b: so why the old-timers don’t get a better job elsewhere?
A: they don’t feel they can.
A (Davis): these old timers have value-add only because of their localSys knowledge. In a sense, some new-age employers have a prejudice against people of loyalty. They probably associate Loyalty with stagnation and obsoleteness.
Therefore, one-long-job resume can be bad when you change career. I always felt my job-hopper resume is a liability, but some west coast shops don’t care.
I feel these old-timers are afraid of failure  at the new job, perhaps after a long, stressful
adjustment. I think people do notice that adjustment to a new environment can be very tough and often unsuccessful.
adjusting.. stronger, more adaptable, more confident than those loyal old-timers.
Q6: why is employer willing to pay grads so much more?
A: Employers don’t want to but that’s the market rate set by supply-demand. Ibanks want to bring in fresh talents and must pay the market rate.
 A.Gambino discussion .
Some buy-side tech interviewers have two bars:
- The low bar – Can this candidate do the job? Some 80% of rejected candidates can do the job, at least in theory.
- The high bar – can this candidate add value to the team, surpassing current team average standard in at least one tech domain? I feel this high bar is mostly QQ — theoretical and low-level, to my delight.
Out of 100 candidates, if 5 clear the high bar but all become unavailable, then the position may stay vacant for months and years, even though 80 of them clear the low bar.
The hiring team would allocate some man-hours every month to recruitment. Some of these highly paid engineers would take the interview as a relatively relaxed session, and she may learn something from the interaction with the candidates.
Above is the buy-side hiring culture. On the opposite end of the spectrum is WallSt contractor hiring. High bar is very close to the low bar, more like “out of 30 resumes, and 10 onsite candidates, we will make 2 offers.”
It’s possible that as easy coding IVs spread or grow, tough coding IVs decline i.e. less wide-spread. In such a case, my t-investment now will have lower ROTI than expected.
It’s possible that as easy coding IVs spread or grow, tough coding IVs also grow … for differentiation of talent.
Rahul responded to my question and pointed out the two styles of interviewers he observed:
* interested in can/can’t solve — can this candidate get the problem solved in time?
* interested in thought process
Rahul felt the first type will want to use ever tougher problems to pick outstanding candidates… selectivity
Rahul felt the second type will want to use easier problems to get more insight into the candidate’s thought process.
Rahul felt to differentiate, employers can compare completion time on easy questions
My hypothesis based on discussions with CYW:
Bottom line –YW said if the pure tech salary is only 20k lower, then he may prefer the workload. The work-life balance, the freedom-from-care and simplicity .. are often highlighted by my tech-lead friends (like Su form GS?), though I suspect most of them still take tech lead roles (or higher).
A techLead has (usually difficult) deliverables for multiple business groups pushing for conflicting priorities. The techLead also need to enlist support from external teams. As such, he as nontrivial additional workload including supervising his own team members, managing users, liaising with other teams … all in addition to he development workload.
- 😦 吃力不讨好
- 😦 It’s not easy to mobilize other people to work for your deliverables.
- 😦 The extra workload often requires
overtime. RTS’s Venkat might be an example when he claimed he works 7 days a week.
The power dynamics is based on loyalty. Some big boss might value your loyalty more than your GTD capacity. Loyalty is tricky investment. If you invest in loyalty to big boss A, but A gets replaced by big boss B (as often happens), and B invariably brings in his own loyal lieutenants, then you have a problem. I think Jerry Zhang (Citi) faced this situation when Srini took over.
Unlikely the tech lead, the typical pure-tech contributor doesn’t need to demonstrate loyalty.
I think some senior developer roles are pure-tech-contributors.
My reflections after a discussion with Alex Vinokur. “mgr” in this context means any lead role.
When I feel left behind on the slow track, it’s usually in comparison to the manager peers. Alex knows some Morgan Stanley developer. The guy rose to ED but after a while, he wanted hands-on development so he stopped managing teams and became a very senior developer. But his performance/value-add was bench-marked against those hands-off manager EDs. After a while, presumably he was seen as too expensive as a developer and got the golden handshake in Mar 2019.
When Alex told me this story, I gave this illustration — Suppose with hard work I am competent at Level 5 (mid-level VP) and very comfortably at Level 4 (junior VP) but struggle a bit at Level 6 (ED) when bench-marked to Level 6 peers. In such a case, for job safety I may want to remain at Level 5 rather than moving up. For an easy life, I may even prefer Level 4. If I get promoted to Level 6 I face stiff peer competition, from guys competent at Level 6. The benchmark-risk can be real. 高处不胜寒
When you get promoted to Level 6, you can’t avoid the peer bench-marking. You will get bench-marked, like it or not. I find this peer bench-marking unhealthy and hazardous, but Alex is very explicit when describing the benchmark/calibration system in many firms. GS 360-degree review system explicitly asked reviewer not to give the same score to 3 reviewees if there are 3 at that level. Basically, the system wants to identify the bottom 5% performers, even if all of them are doing a good job.
Promoted to a lead role, your chance of survival can drop, unless you decide to give up the leadership role and return to a non-leader role.
Conclusion — Better remain at a level you can perform well relative to peers.
grandpa’s advice is 随遇而安 — “Do your best. If they decide it’s a role mismatch then look for another job”. I will expand on his advice and add relevant tips and observations
- academic self-image .. fragile — Ashish pointed out I was academically too successful and unable to cope with put-downs
- best effort — I don’t need to bend over backward and sacrifice family
- no shame
- no fear of stigma — sounds impossible but it is possible !
- no regret
- guilt — the guilt should be on employer for making a wrong hire and creating hardship in my life.
- stay positive — there’s a chance I can survive for 1-2 years
- peer caliber — Ashish said those guys aren’t rock stars
- Saurabh attitude — I believe at a high salary or as the first technology hire for Julian, expectation would be rather high. Can I withstand the pressure as Saurabh did?
- GS pressure cooker — I survived there, so I should be able to survive anywhere else.
- learning to cope — At GS/Qz/Macq, did I learn coping strategies to manage the pressure? I hope so.
The pressure to perform would likely create real stress in the family, as i’m not as ‘carefree’ as in Bayonne. I feel some of the past stigmas would come back to haunt me.
- don’t look at ranking
- yoga — I CAN keep up this practice. This practice is good for my mental health and family well-being
- yoga — I feel even if i don’t improve visbly, the fact that my participation count is increasing means I’m improving
- if I don’t do the contest then I may not do any coding drill at all
- What if I give up after one or a few episodes?
- impact on family well-being?
- leverage over long term?
In [[who moved my cheese]], we discover the world has changed. The harsh reality is, in this profession, your experience (like doctors) is heavily discounted. Your current runtime performance is easily benchmarked, just like a painter, or pianist, or chef.
My friend CSY said some students like his son could conceivably focus “all their time” on one skill (coding drill) for fours years in college, so they will “surely” outperform.
I pointed out that I am often seen as such an individual, but my speed coding interview performance is hardly improving.
I pointed at the number of Leetcode problems I solved with all tests passed. It grew by up to 10 each year, but a student can solve 10 leetcode problems in half a day.
I gave an analogy of my Macq manager’s weekly slow-jogging, for health not for performance. Consistent jogging like that is great for health. Health is more important than athletic performance. I said jogging and my coding drill are life-style hobbies and recreations.
For years I practiced continuous self-learning on
- java, c++, SQL, MOM, swing — IV and GTD growth
- Unix, python — mostly GTD
I consider my continuous self-learning a key competitive advantage, and an important part of my absorbency capacity.
I asked a bright young Chinese grad ChengShi. He practiced real coding for months in college. I said “fast and accurate” is the goal and he agreed. A few years into his full time job, he stopped practicing the same. Result? He said for the same coding problem he was able to make it work in 10 min then, but now probably 20 minutes. I think this is typical of the student candidates.
I asked “Do you know anyone who keeps up the coding drill?” He didn’t tell me any individual but gave a few points
- he believed the only reason for coding drill is job hunting
- when I said continuous practice all year round will make a big difference compared to practice only when job hunting, he agreed wholeheartedly and reiterated the same observation/belief
- but he disagrees that continuous coding drill would lead to significant professional growth as a programmer, so he would probably channel his spare energy elsewhere.
- I think he has other ideas of significant growth. At my age, I don’t foresee any “significant growth”.
The background was localSys, focus@GTD i.e. productivity ….
In my final catch-up, I singled out distraction as the first factor. It was something easy to identify. I was distracted by interview preparation, nutritional research, housing market research, …. but that distraction was not a key factor.
I said another side factor was raw memory capacity — lots of facts to remember and other people seem to show better retention.
I also said I didn’t get a project where I could exceed expectation and gain momentum.
Boss suggested that I lost motivation. Then he suggested — “Take the attitude of a student. Be willing to learn and to take on anything.”
By “student” he didn’t mean a fresh grad or an intern, a desire for new knowledge.
Update: many developers seem to suggest that any risk analytics experience would not help me move into “front office”, though I’m not so hung up about front office.
Many people also point out budget is typically lower in back office.
Thanks for your input. I feel bad about repeated failed attempts to break into a few quantitative domains (listed below) so I need to consider some negative what-ifs. What if the risk system is similarly “underwhelming” like:
* volatility surface fitter in Barclays
* curve building and real time “ticking” risk sensitivity in Baml
* quant library integration at Macquarie
* equity and FX volatility product pricing in OCBC
* (I guess your Barclays mortgage system could be another quant domain?)
Armed with my formal education and analytical competence, I have tried valiantly to find a foothold in a quant dev domain. I was unable to dig in my heels.
I will not go into details on these “broken dreams”. Suffice to say that I had enough of these … that recently I decided to walk away from a higher-paying ($120/hr) contract because it looks like another system with some complicated financial math.
I don’t want to give up completely on my (large) investment in quant study. This is the source of one of the biggest pains in my career. As I said, I am also cautious about throwing good money after bad money…
Thanks for pointing out the “infrastructure” part — I can imagine that like your friends, most tech guys in risk systems are only responsible for the infrastructure. In some banks, there’s an army of developers supporting the risk systems, so the infrastructure is presumably quite complex and large scale. Presumably, if a developer can understand a sizable infrastructure or the complex “plumbing” in a risk system, he would be considered competent, valuable, and strong even though he doesn’t understand the math.
Across domains, math is not the only domain knowledge — I believe 1) system architecture and 2) jargon are important domain knowledge too, esp. in risk systems.
Among the millions of java/c++ developers in risk systems, I guess 2% to 10% need some quant knowledge? In such a case, the market depth would be rather poor, because risk quant developer roles would be few and far between, just like the pricing quant developer market.
As I discussed with Kyle, a worker’s sense of productivity is complex and subtle, far from objective. It’s influenced by many factors.
The sense of productivity is an important part of job satisfaction, sense of inadequacy + inferiority, duty ^ guilt, self-hate ^ compassion.
I tend to use this incredibly vague concept as a whip to beat myself up. I guess some managers (Mark, Venkat, Stirt) also use it on me…. harsh.
- It depends on the visible progress on project assignments. Projects are stuck frequently– like wheel-spinning. eg: StirtRisk projects were often stuck and I felt less productive. I had a short-n-sharp discussion with Rahul, who identified context-switching as the productivity killer
- It depends on visible impact on users — the #1 most visible sign of value of my output.
- Eg: RTS, 95G, mortgage commissions, Quest,
- proficiency in prod support has big impact. It is seen as low value, associated with ops team in Barc, 95G, Citi, but perceived as high value in GS
- It depends on localSys + understanding of user’s logical bubble. Those developer in close contact with users would have better gauge of which to-do (and which solution) scratches a big itch. 四两拨千金, 事半功倍.
- It depends on Perceived impact of my output relative to coworkers
- eg: outstanding in Barclays
- It depends on our personal (highly inaccurate) estimate of how many focused hours/day. If “visible” items unavailable, then this is my default basis.
- It depends on My vague perception of coworker productivity. Kyle felt the perception is not that vague.
- It depends on How early coworkers come and leave; Coworkers working-from-home. Note Many hiring managers say (honestly) that if an efficient worker can get things done in time, then boss doesn’t mind shorter hours or WFH.
- It depends on How much leisure time I see in coworkers’ day, including chitchats
- It depends on Role model set by manager. Eg: Saurabh often took Friday as a lite day.
- It depends on User’s feedback on my output, often in brief emails — RTS
- It depends on Coworker feedback on me – OC, Macq
- figure-out-by-self — is a controversial yardstick. In most places (Ashish) it is a top 5 sign of productivity, but in GS I was told to not waste time researching. My GS colleagues always ask each other and I had to.
My colleague Alan pointed out that some hiring managers are cautious with young bright candidates.
Some companies have a policy to promote younger employee. In terms of competitive threat, the older candidates are perceived as “disarmed” weapons.
Some hiring managers may also want to protect his old loyal employees, who may be put under threat by a young bright newcomer.
Young bright guys are more likely to leave.