##xp: enough localSys⇒GTD #but respect≠guaranteed

Did localSys effort save me? See my rather surgical tabulation analysis of past PIP + survivals

  1. GS — No, not a lot of respect, but I was able to hold my end of the log. With insufficient localSys I would get even less respect.
  2. Quest — No. The PIP was due to many factors. I feel my Quest GTD was adequate. With insufficient localSys, I would get even less respect.
  3. 🙂 RTS — yes
  4. 95G + volFitter — limited localSys .. nice green field projects for me.
  5. Macq — No. However, With insufficient localSys, I would have been kicked out within Y1

— Macq? I now feel my localSys at Macq was deeper than at Quest or RTS

  • I put in lots of effort and was able to diagnose most build errors on MSVS and Linux.
  • I needed lots of localSys knowledge to modernize codebase for MSVS-2015 and c++14.
  • I needed localSys + innovative on-the-fly code gen + other skills to add the logging decorator into pymodels. This hack alone is worth a bonus. This hack is more effective more valuable than all my hacks in OC.

However, I feel the expectation was too high so in the end I got PIP and felt like damaged good.

I need to challenge that negative impression of the entire episode.

Advertisements

## delights]tsn: engaged,leverage

Sugg — I think we can try and develop a powerful habit to focus on the delights in our memory. Such a perception would help us focus on the delights in the current “struggle”.

The delight should NOT be related to anything “strategic “(mirage) My expectation was invariably way too high in terms of strategic value, leverage and ROTI, therefore underwhelming. These expectations were crushed by job market demand fluctuations.

In terms of engagement … my expectation was slight high.

Against this backdrop, there have been little delights, but stigma/respect (not salary!) was too huge as a factor and has overshadowed those little delights. For a perspective, please look at the spreadsheet “predict next 3-5Y job satisfaction”

I chose a python job at Macq .. engaged for a few months, to my delight.

I chose the c++ job at RTS .. engaged for 6 months, to my delight.

  • Reason: interviews — traction in interviews and also in GTD and zbs
  • Reason: interviews — socket QQ and linux system QQ .. was in-demand
  • Reason: QQ discussions with colleagues .. visible progress

Both job decisions produced good/superior leverage over 3-5Y.

I chose a c# job … engaged for a year and then disengaged, shorter than expected. Leverage was good.

I chose a Quant dev job … engaged for a year and never disengaged. Leverage was underwhelming.

I chose a c++ large scale eq OMS job … engaged for a few months. Leverage is unknown

## IV skills: disaster-rescue 逃生

I have relied on this parachute over and over again. Therefore, I have real motivation to strengthen this parachute and keep it in good condition.

  • OC — parachute saved me from transfer to BAU
  • 2007 after first entry to U.S., parachute saved me from sitting on bench for months as happened to … Florence
  • Vz — after my contract was cut unexpectedly, parachute saved me from sitting on bench. This proves to be the first of many rescues including 95G, Barclays,
  • [B] Stirt — after the layoff, parachute helped me avoid sitting on bench for months.
  • [B] Macq — after the PIP, parachute saved me from another slow job search on SG job market
  • [B] deMunk — parachute gave me confidence that I had the technical capabilities to escape — My “parachute” was my marketable skillset
  • [B=example of boxer cornered n beaten]

Other people’s examples:

  • [B] Youwei — his java IV skills rescued him from the MS layoff
  • Venkat of OC — it rescued him from a terrible boss
  • Shanyou and Deepak — need better parachutes
  • Jack Zhang
  • Davis Wei

##Design competency based@localSys nlg

Have I blogged about this topic elsewhere? Perhaps some elements of this topic. Today I’m specifically addressing — Your competitive strength in tech designs based on localSys.

My self-assessment — I think I’m better than average with my design skill, assuming roughly equal level of localSys know-how. I’m more detailed, so I tend to take care of many localSys constraints.

Q: do other people see my strength in this space?
%%A: some colleagues do.  Some managers do, such as Yang, Sundip, Ravi, Anand, Saurabh (bbg module), Venkat@RTS (on config generator)

I basically chose not to care much about their appraisal. The risk is — The more I care about quality of my design and other people’s appraisal of it, the more contention, more emotional attachment

Therefore, My attitude — I put in (creative) effort but if they don’t like my design I won’t insist.

Nowadays I avoid design confrontation as I risk losing my reputation. I got my fingers burnt before, including Macq, GS .. when I cared too much about my designs. I think Rahul, Zhurong .. are unlike me. They put their heart into it … and cared about the designs.

— Scale — I usually refer to module-level, usually an enhancement or small feature. Bigger projects seldom come to me as a contractor or new-comer but here are some examples

  • 95G: race condition control via stored proc
  • 95G: wait/notify
  • Barclays everything
  • RTS
  • SwapBust
  • SIM trailer replacement for AISE
  • mtg comm

— job hopping factor  — I feel I have benefited from frequent job changes. I feel I had more success stories to tell. However, due to limited localSys, I wasn’t confident/competent to create bigger designs.

— Strength/weakness view
I think my competitive weakness is brown field GTD — figure-out-speed, localSys learning speed, speed code reading …

In green field, or design projects, I’m not so weak, but not always strong either.

I think some guys can design against ambiguity more effectively.

many IV failures before 1st success #c++/HFT/CIV

  • i had so many failures at c++ interviews before I started passing. Now I look like a c++ rock star to some
  • I had so many failures at HFT interviews before I started passing at DRW, SIG, Tower
  • I had so many failures at remote speed coding before I started passing.

With west-coast type of companies including nsdq, I can see my rise in ranking. If I try 10 more times the chance of further progress is more than 70%.

I /may never/ become a rock star in these west coast CIVs but I see my potential as a dark horse in 1) white-board CIV, 2) pure-algo

“May never” means “may not happen” … Scott Meyers

## 2 portable skills gained{each job

These are portable, longevity skills either for IV or GTD.

+1 +2 +3 .. = subjective valuation as of 2018
[grey color = portable financial domain skill, not tech skill ]

  • NIE +1 — 1) hacking open source php
  • GS +3 higher value than all other jobs —
    • 1) java GTD 2) SQL 3) database tuning 4) Database batch processing architecture
  • Citi +1~2 — 1) bond math 2) market-maker quote pricing system “architecture”
  • 95G +2 high value over mere 5 months —
    • 1) java wait/notify 2) store-proc for trade booking 3) FIX connectivity 4) Tibrv (basics only) and MOM system architecture
  • Barc +1 — 1) option math 2) analytics library integration
  • OC +1 — 1) c# GTD 2) basic MSVS 3) quote distribution architecture
  • Stirt +0 — 1) curve building basics. This job paid reasonably well, so I won’t prefer it for a low-paying top “contexx”
  • Mac +1 — 1) serious use of standard (portable) python 2) devops including git
  • RTS +2 — 1) c++ instrumentation 2) raw mkt data feed 3) order book replication 4) bash/perl for personal automation 5) socket (basics only)
  • mvea +1 — 1) lowLatency, high volume eq trading architecture 2) c++ (not C) GTD in one of the biggest c++ trading platforms including multi-file build, gdb, crash investigation 3) advanced language features including TMP and shared_ptr

##[18]orgro lens:which past accu proved long-term # !!quant

(There’s a recoll on this accumulation lens concept…. )

This post is Not focused on IV or GTD. More like zbs.

Holy grail is orgro, thin->thick->thin…, but most of my endeavors fell short. I have no choice but keep shifting focus. A focus on apache+mysql+php+javascript would have left me with rather few options.

  • —-hall of famers
  • 1) [T] data structure theory + implementation in java, STL, c# for IV — unneeded in projects
  • 2) [CRT] core java knowledge including java OO has seen rather low churn,
    • comparable to c++
    • much better than j2EE and c#
  • 3) [T] threading? Yes insight and essential techniques. Only for interviews. C# is adding to the churn.
  • 4) [j] java/c++/c# instrumentation using various tools. Essential for real projects and indirectly helps interviews
  • [C] core C++ knowledge
  • [C] GTD knowledge in perl/python/sh scripting
  • [j] google-style algo quiz — Only for high-end tech interviews. Unneeded in any project
  • [R] SQL? yes but not a tier one skill like c++ or c#
  • coding IV — improved a lot at RTS
  • ————————also-ran :
  • devops
  • [C] personal productivity scripts
  • [T] probability IV
  • [C] regex – needed for many coding interviews and real projects
  • [C] low level C skills@RTS {static; array; cStr; reinterpret_cast;  enum; typedef; namespace; memcpy}
  • [!T] bond math? Not really my chosen direction, so no serious investment
  • [!T] option math?
  • SQL tuning? not much demand in the trading interviews, but better in other interviews
  • [R] Unix — power-user GTD skills.. instrumentation, automation? frequently used but only occasionally quizzed
  • [R] Excel + VBA? Not my chosen direction
  • [jR !D] JGC +jvm tuning

–strengths
C= churn rate is comfortable
D = has depth, can accumulate
R= robust demand
T= thin->thick->thin achieved
j|J = relevant|important to job hunting

## past vindicative specializations

see also — For the “domains nlg” (first 5 rows), marketable_domain_xp spreadsheet is more comprehensive but not necessarily more updated.

Quant and other Unsuccessful diversifications aren’t the focus here, but are listed below the table.

 scales 0-5 mkt value given my direction robust
demand
entry barrier accu achieved %%expertise
among peers@WS
tsn: determination
+sacrifice
I was delighted wage ROI val4IV
mktData #socket  4 growing not everyone has xp  2~3 2 #few worked@socket-level 2  5 some 2
bondMath  2 robust math is not natural
to most dev
 2  3 1 #spare time++  3 some 2
orderBook, OMS, FIX #Eq/FX  3-4 robust medium 1 #cod`IV 1 3 #CVA sacrificed  3 none
forex #sg 2 robust medium 1 1 0 #spare time 1 none
c++  5 ok not
growing
higher than I thought  5 #critical mass  3 5 #huge sacrifice  2 minimal
coding drill  5 Growing high 4 #XR disagrees  3 2 #spare time  5 none 4
python  4~3 growing low  2  3 #unknown 1  4 none
bash scripting + unix #devops  2 robust medium  4  3 0  3 none 1
threading xLang 5 growing high  4 #critical mass  5 0 4 some 5
(abstract?) xLang collection internals 5 unexpected strength the deeper the harder  4 #critical mass  4 0 4 some 5
RDBMS 3 shrinking low  4 #critical mass  4 0 #spare time 1 #under-whelming none
[00-06] web dev 1 sustained high growth low  5 #critical mass  3 0 3 none

–algo practice for IV
^ good amount of accumulation
^ my confidence is boosted esp. in c++
^ I’m rising to the challenge of coding test growing popular

–Python
^ boosts my IV confidence
▼no critical mass yet
▼low traction
▼don’t know my expertise relative to peers

–option domain knowledge including BS:
▼ much lower demand than bond math

— C# and XAML
^ Microsoft is a major force
▼not aligned to my current direction

–MSVS:
^ was my Achilles heel, now slowly gaining confidence

–C++ GTD and IV
^ I made real progress in 1) GTD and 2) IV but not during Mac days — wrong job nature
^ deepens my java understanding
▼ those high paying domains (HFT, quant) are too hard to break into

–MOM architecture, products…
▼falling out of favor
▼ not as widespread as I perceived. Probably used in finance and legacy systems

–javascript, php, mysql
▼not aligned to my direction

–gemfire
▼ market too fragmented

–EJB, Spring, Hibernate
▼falling out of favor

j4 stick2c++: Score big{losing@quant/c#

See also vindicative specializations , what if I transition to desk quant role but don’t rise up@@ and j4 c#: hind sight

I already give up several “investments”. If I take a java job, I would again forgo so many years of investment in c++. Now after I got more c++ offers, I feel /triumphant/vindicative/.

swing py c# quant 2010~13 quant af 2013 c/c++  (Zoom out …)
 $0 $0  $0 S$70k $ invested
 $0 $0 S$5k/Y  $0 $1k/Y cf
nonQuant job
up to USD20k/Y pretax opportunity cost
6M 2Y since barc 2Y  1Y 3Y 6Y since 1998 nominal effort
3M 4M 1Y  6M 2.5Y 4Y serious effort incl. STS
3M 2M 1M  2M 2Y 2Y spare time sacrificed(STS)
-2 -3 -6  -5 #more than py -15 -16 points invested
Barx passed some IVs OC, Bbg, Reuters 95G/OC Stirt/Mac/CVA ~18 offers job “offers”
Trex,bbg.. DRW; Nomura; Mako; Trex; Pimco analytics too many help interviews
helps my WPF xx value@algo IV deepens java nlg brain teasers; math cfd; contrarian insight into bigData/quantTrading; see y re-enter c++ other ROTI
2 more than
invested
3 #built real
professional xp
more than invested 9 #50%+ more than invested points SCORED
 no loss? no loss -3 no loss -7 no loss net points lost

[18] IV (!! GTD)body-build`logbook by skill

I’d like to keep the table columns simple.

muscle delta when duration intensity
2D coding Q 3->5 2018 2D 3
perm/combo 5->8 2017 4D 3
string/array 6->7 2
backtracking 1->6 2018 2D 3
tail recursion 0->5 2017 x hours 1
big O analysis 7->8 2018 1
sorting algo nlg 7->8 2018 x hours 1
advanced recursion 3->5 2018 x Days 3
whiteboard best practice 6->7 2018 2 days 3
shared mem 2->4 2018 2 H 2 coding experiment
c++ for coding Q 3->8 2017 10-20 D 2 bbg
socket 3->6 17-18 x days 2 thanks to IV, not project
rvr/mv/forward 2->5 16-18 x days 2
noexcept 0->5 2018 1 H 1 Trex IV
other c++11 2->4 1
py basics 4 coding test 3->5 2
FIX?
STL?

9 income sacrifices: often2avoid stagnation

Update — relevant for my hibernation decision.

I demonstrated a habit of giving up higher income, in order to keep learning something of strategic value ( or managing mgr expectation )

  • 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.
%sacrifice higher income forgone lower income to gain … ROI realized intangible ROI strategic?
2002 50% Zed ->SCS presales none brave
2003 40% SCS ->self-employ entre none brave
2004 70% Sperion ->self-employ entre none brave
2007 10% est. UBS/Headstrong GS branding unsure
20012 7% Barc #Swing 150k picked OC 100% c#, quant dev learned enough to crack some c#IV confidence no:(
2015 10% est. sign-on increment Macq lower mgr expectation year1 bonus as a self-image boost #short-lived no:(
2017 10%+ Pimco C++/FI offer 100+/H c2c picked RTS 100% c++ more c++ offers yes  [1]
2017 10% java jobs picked RTS c++ more c++ offers ensued yes 🙂
2018 10% java jobs picked mvea c++ c++ job market cracked c++ skill is harder, rarer conviction
2018 15% CVA picked mvea low-latency high-volume eq trading big OMS framework job satisfaction yes 🙂 [3]
—-  —- —————
2013 not a job [2] UChicago formal math training Master’s degree, branded uni confidence in math; self-confidence no:(

[1] 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. The RTS full time job turned out to be that power drill.
[2] For the UChicago motivation, there’s a separate blog post.
[3] no regret taking this lower offer!

productivity@past jobs: questionable patterns

Be careful with the assessment — I may not be so productive on my past US projects
Be careful with the assessment — I may not be so un-productive on the recent projects

Pattern – Barc, ML … were java, my turf
… but Citi was java as well. My java skill did help, but I didn’t make use of my strongest java skills.
… but at GS, Perl was my turf too. My Perl experience did help but the colleagues were too strong.

Pattern – Barc, ML … not many peers to compare with me
… but Chien was a direct peer. I think Rao also.
… but later stage GS, I was benchmarked

Pattern – OC, … familiar with the codebase
… but OC codebase was rather big.
… but Stirt codebase wasn’t big.

Pattern – GS, OC … spent long time on the existing codebase. In contrast, Creating code from scratch is easier. … but Stirt was code from scratch

##past easy jobs : my80% did exceed benchmark

Ideally, I want to get a job role slightly lower than the highest salary, where my 80% effort can start to exceed the expectation of THE appraiser.

Grandpa said “At 100% if you don’t hit their requirement, then you don’t need to put in 120% and sacrifice family. It’s their hiring mistake. Their problem. if they don’t pay a compensation package then just leave.” Am I afraid of job change? See separate blogpost.

Looking at past jobs, the numbers below are very imprecise and subjective.

[G/g=Greenfield]
[B/b=brownfield]

  • [b] Citi muni — my 70<-80% might be enough, or might earn me no bonus like many Citi guys.
  • [B/g] GS — after the steep learning curve, my 100% was indeed enough to meet the high bar, but I feel 95% would not be
  • [G] 95G — after I proved myself, my 80<-90% was exceeding.
    • Big factor — colleagues were weaker
    • Big factor — my designs were favored by the boss
  • [G] Barc — after I proved myself, my 70<-90% was exceeding.
    • Big factor — I built a high-value, high visibility part of the system
    • Big factor — no one else was qualified to work on that
  • [g] Macq role was very senior — my 100% was NOT enough even on the basic devops part of the job. I once felt my 80% was fine in the 1st year, but actually expectation is much higher than I thought.
  • [B] Stirt — my 100% was barely good enough but not enough to earn a bonus. The project was a few months old when I joined but I struggled with the Qz platform:(. I was unfairly bench-marked against 3Y veterans! I would look decent if bench-marked against freshers.
  • [b] OC — my 70% would be enough but too relaxed
  • [b] RTS — After initial 9 months (NYSE+Aquis), my 40<-50% would be enough

 

##how fast I figurED things out relative2teammates

GS — Initially I was much slower than my colleagues. After 18 months I was 80% as fast as them. Everyone needed to learn and memorize lots of details in a big system. Without that “mileage” you can’t be as fast as the rest.

I relied on my colleagues to give me pointers and detailed explanations. Otherwise it was too many details to wade through by one self.

Citi — no comparison — No “team mates” per-se. I had two old-timer colleagues who were very familiar with the system. I was not benchmarked against them.

I didn’t need to understand the ins and outs of the 5-year old codebase. I never became productive with it.

95G — not slower — i joined this greenfield project from beginning (luckily). I was as fast as the other consultant. Also, I designed a few key components, so I had the “original designer” advantage.

Barclays — not slower — i joined this greenfield project from very beginning (luckily), replacing a half-finished c# system. I had very few “team peers” to benchmark against. I designed one of the most valuable and complex components, so I had the “original designer” advantage. Huge advantage. I basically name my price when it came to effort estimates.

I did read some old code to replicate the logic, but I was fairly fast, and no team member ever read the same codebase anyway.

OCBC — not slower — I was seen as slower, but actually I became 70% to 90% as fast as the other team members. I had to spend many long hours on the existing codebase but it’s a small codebase (1 man-year) so I was able to get a hang of it over a few months.

I also designed some minor modules, where I had the “original designer” advantage. The other c# developers had to come to me and understand my designs.

Stirt — I was much slower than the old-timers, but I was not slower than the new joiners. I should have given up earlier. It was hopeless. Codebase was rather opaque and you need to ask many people to understand it.

Other new joiners seemed to ask only within their own team, but I stick out my neck and asked all around my team. It may have made me look slower and /greener/, but I was trying to learn faster. Did I learn faster than them? Not enough time to show.

Macquarie — The benchmark was my predecessor + my boss. I think I was much slower than them. My boss only complained about it in the 2nd year, months after paying me a small bonus.

RTS — not slower — I’m probably faster than some team members. I feel confident how fast I can figure things out now. There are many team members to compare, so from Day 1 it was crucial to hit the average standard.

#1 career SAFETY enhancer@past5Y #muscleBuild`IV

See also I can professionally qualify as …

From 2010 to 2015, “IV muscle building” was my #1 career safety enhancer. That’s why I had so much “joy”. That’s where I invested so much time and money.

  • MSFM to open “new market” or at least cement my position on the quant-dev job market
    • SQL is, intriguingly, similar
  • c++, c#, py
  • swing– as a distinct job market segment

Now in 2017 I don’t see it as my #1 career safety enhancer. In retrospect, I find it not very simple to reach a conclusion.

One factor — I think core java skill demand turned out to be extremely robust (whereas c# and c++11 were underwhelming)

One factor — traditional pricing quant is shrinking as a job category

One factor — For both high end c++ and quant domains, bar is much higher than anticipated.

[17]orgro^unconnecteDiversify: tech xx ROTI

Update — Is the xx fortified with job IV success? Yes to some extent.

Background – my learning capacity is NOT unlimited. In terms of QQ and ZZ (see post on tough topics with low leverage), many technical subjects require substantial amount of /laser energy/, not a few weeks of cram — remember FIX, tibrv and focus+engagement2dive into a tech topic#Ashish. With limited resources, we have to economize and plan long term with vision, instead of shooting in all directions.

Actually, at the time, c#+java was a common combination, and FIX, tibrv … were all considered orgro to some extent.

Example – my time spent on XAML now looks not organic growth, so the effort is likely wasted. So is Swing…

Similarly, I always keep a distance from the new web stuff — spring, javascript, mobile apps, cloud, big data …

However, on the other extreme, staying in my familiar zone of java/SQL/perl/Linux is not strategic. I feel stagnant and left behind by those who branch out (see https://bintanvictor.wordpress.com/2017/02/22/skill-deependiversifystack-up/). More seriously, I feel my GTD capabilities are possibly reducing as I age, so I feel a need to find new “cheese station”.

My Initial learning curves were steeper and exciting — cpp, c#, SQL.

Since 2008, this has felt like a fundamental balancing act in my career.

Unlike most of my peers, I enjoy (rather than hate) learning new things. My learning capacity is 7/10 or 8/10 but I don’t enjoy staying in one area too long.

How about data science? I feel it’s kind of organic based on my pricing knowledge and math training. Also it could become a research/teaching career.

I have a habit of “touch and go”. Perhaps more appropriately, “touch, deep dive and go”. I deep dived on 10 to 20 topic and decided to move on: (ranked by significance)

  • sockets
  • linux kernel
  • classic algorithms for IV #2D/recur
  • py/perl
  • bond math, forex
  • black Scholes and option dnlg
  • pthreads
  • VisualStudio
  • FIX
  • c#, WCF
  • Excel, VBA
  • xaml
  • swing
  • in-mem DB #gemfire
  • ION
  • functional programming
  • java threading and java core language
  • SQL joins and tuning, stored proc

Following such a habit I could spread out too thin.

##xp@career diversification

  • biz wing — in addition to my tech wing. I learned a bit but not enough. Not strategic
  • quant? diversify. The on-the-job learning was effective and helped me with subsequent interviews, but further push (UChicago) are not bearing fruits
  • data science? diversify
  • big data java jobs? stack-up
  • —-tsn hits good mkt depth, or hits poor leverage
  • 😦 quant dev, real time risk
  • 😦 hft
  • 🙂 py
  • 🙂 mkt data
  • 🙂 socket
  • 🙂 c#
  • 🙂 windows dev
  • —-tsn within the tech space, where I have proven strengths
  • py? bearing fruits. Confidence.
  • unix -> web dev -> java? extremely successful
  • [10 Citi] c++? slowly turning positive
  • [12 Barc] swing? positive experience
  • [12] dotnet? reasonable
  • [14] real time risk, in-house framework (Quartz)? disillusioned
  • [17] raw mktData
  • [18] high-volume, low-latency equity Order Management
  • [18] FIX? diversify

[17]FASTEST muscle-growth=b4/af job changes]U.S.

I now recall that my muscle-building and, to a lesser extent, zbs growth are clearly fastest in the 3 months around each job change. I get frequent interviews and positive feedback. This is a key (subconscious) reason why I prefer contracting even at a lower salary. I get the kick each time I change job.

My blogging activity shows the growth…

  • #1 factor … positive feedback from real offers from good companies.
  • #2 factor — I actually feel real zbs growth thought it tends to be less strategic in hindsight.
  • factor — on a new job, I am curious to learn things I have wanted to learn like Xaml, FIX, Tibco, kdb, SecDB, multicast, orderbook, curve building

Beside the months immediately b4/af job change, I also experienced significant growth in

No such environment in Singapore:(

##a few projects technically too tough4me

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: code generator in Mac Quant team
  • 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”

I worked harder as FTE than contractor@@

My experience – in terms of work attitude, professionalism, ownership, my contractor jobs were not really lower than FTE. However, longer hours were rare. When I work longer hours as contractors, manager often recognize more easily.

Personal sacrifice was lower.

Ownership of project is often with FTE.

Expectation of bonus is real as FTE.

All in all, the bitterness (and pain, blow to self-esteem…) of a poor appraisal and low bonus is deep, hard, pervasive. It last many months and is a bigger stress than marriage issues, kids poor studies, investment failures etc. I was “shaken to core” (Michelle Obama once said) by those events.

Generally I choose to work at slightly higher than the minimum level to get by.

  • as contractor — sometimes this hurts me (Citi) but often my standard is well above the manager’s
  • as FTE — I don’t like to work way harder than the minimum, because often (Stirt, GS) it’s still not good enough for various reasons, so I would feel “not worth it”.
  • I also have a conviction that managers decide which FTE they like based on non-technical reasons, so why bother to work so hard? If manager doesn’t like me then hard work won’t help a lot.