3stressors: FOMO^PIP^ livelihood[def1]

  • PIP
  • FOMO/FOLB including brank envy
  • burn rate stress esp. the dreaded job-loss

jolt: FSM dividend has never delivered the de-stressor as /envisioned/. In contrast, my GRR has produced /substantial/ nonwork income, but still insufficient to /disarm/ or blunt the threat of PIP ! In my experience, Job-loss stressor is indeed alleviated by this income or the promise thereof 🙂

Excluding the unlucky (broken, sick,,) families, I feel most “ordinary” people’s stress primarily come from burn rate i.e. making ends meet, including job-loss fear. Remember the OCBC pandemic survey: 70%Singaporeans can’t last beyond 6M if jobless. I feel the middle class families around me could survive  at a much lower theoretical burn rate of SGD 3.5-4.5k (or USD 6k perhaps… no 1st-hand experience) …. but they choose the rat race of keeping up with the Jones’s (FOMO). Therefore, their burn rate becomes 10k. See also SG: bare-bones ffree=realistic #WBank^wife^Che^3k and covid19$$handout reflect`Realistic burn rate

For some, FOLB takes them to the next level — bench-marking against the high-flyers.

—– jolt: PIP^job-loss fear

Note Many blogposts (not this one) explore FOMO^livelihood.

For the middle class, any burn rate exceeding 3k is a real (albeit subconscious) stressor because the working adults now need to keep a job and build up a job-loss contingency reserve. Remember Davis Wei….3-month is tough for him? How about 30 years? In a well-publicized OCBC survey during covid19, most Singaporean workers can’t last 6M

With a full time job, salaried workers experience a full spectrum of stressors including PIP. PIP would be impotent/toothless if the job is like a hobby. I would say very few people have such a job.

Aha .. Contract career is free of PIP.

For me (only me), job loss is a lighter stressor than PIP fear. In fact, I don’t worry about end of contract [2] and bench time. I worry more about humiliating bonus. I’d rather lose a contract job than receiving a token bonus after PIP.

I think PIP is the least universal, shared stressor among the three stressors[1]. Even though some percentage of my fellow IT professionals have experienced PIP, they seem to shrug it off. In contrast, I lick my wound for years, even after it turns into a permanent scar. Most people assume that my PIP fear was fundamentally related to cashflow worry, but I am confident about job hunting. So my PIP fear is all about self-esteem and unrelated to cashflow.

[1] In the covid19 aftermath (ongoing), SG government worry mostly about job loss i.e. livelihood. Next, they worry about career longevity, in-demand skills, long-term competitiveness, housing, healthcare and education… all part of the broader “livelihood” concept. As parents, we too worry about our kids’ livelihood.

[2] Because I have a well-tested, strong parachute, I’m not afraid of falling out (job loss)

Q: imagine that after Y2, this job pays me zero bonus, and boss gives some explicit but mild message of “partial meet”. Do I want to avoid further emotional suffering and forgo the excellent commute + flexible hours + comfortable workload + hassel-free medical benefit?
A: I think Khor Siang of Zed would stay on. I think ditto for Sanjay of OC/MLP. Looking at my OC experience, I think I would stay on.

— PIP^benchtime experience: My PIP experience was traumatic enough to leave permant scars, but my unpaid benchtime experiences left no scars:
* before Polaris, after layoff from OceanLake
* between 95G and Barcap
* between RTS and mvea

— what are (not) part of “livelihood” concerns. These clarifications help define “livelihood/生计”

  • housing — smallish, but safe, clean home is part of livelihood
  • healthcare — polyclinic, TCM, public healthcare system in Malaysia … are important components of an adequate healthcare infrastructure, which is livelihood. Anything beyond is luxury healthcare
  • commute to work/school — 1.5H commute is still acceptable. in 1993 I had a 1.5 hour commute to HCJC. A desire for a shorter commute is kinda luxury, beyond livelihood.
  • job security for those of you aged 40-65 — is NOT a livelihood concern if you already have enough nonwork income to cover basic living expenses. Job is really a luxury, for joy, occupation, contribution. Consider grandpa.
    • job security above 65 — is clearly NOT livelihood, unless there’s insufficient retirement income.
  • Life-chances — are more about livelihood and less about FOMO.

— Deepak’s experience

Deepak converted form contractor to perm in mid 2014, but on 30 Oct 2014, lost his job in UK. He sat on the bench for thirteen months and started working in Nov 2015, in the U.S. This loss of income was a real blow, but in terms of the psychological scars, I think the biggest were 1) visa 2) job interviews difficulties. He didn’t have a PIP scar.

 

op=(): java cleaner than c++ #TowerResearch

A Tower Research interviewer asked me to elaborate why I claimed java is a very clean language compared to c++ (and c#). I said “clean” means consistency and fewer special rules, such that regular programmers can reason about the language standard.

I also said python is another clean language, but it’s not a compiled language so I won’t compare it to java.

See c++complexity≅30% mt java

— I gave interviewer the example of q[=]. In java, this is either content update at a given address (for primitive data types) or pointer reseat (for reference types). No ifs or buts.

In c++ q[=] can invoke the copy ctor, move ctor, copy assignment, move assignment, cvctor( conversion ctor), OOC(conversion operator).

  • for a reference variable, its meaning is somewhat special  at site of initialization vs update.
  • LHS can be an unwrapped pointer… there are additional subtleties.
  • You can even put a function call on the LHS
  • cvctr vs OOC when LHS and RHS types differ
  • member-wise assignment and copying, with implications on STL containers
  • whenever a composite object has a pointer field, the q[=] implementations could be complicated.  STL containers are examples.
  • exception safety in the non-trivial operations
  • implicit synthesis of move functions .. many rules
  • when RHS is a rvalue object, then LHS can only be ref to const, nonref,,,

unrolled linked list with small payload: d-cache efficiency

This blogpost is partly based on https://en.wikipedia.org/wiki/Unrolled_linked_list

This uniform-segment data structure is comparable to deque and can be a good talking point in interviews.

Unrolled linked list is designed as a replacement for vanilla linked list , with 2 + 1 features

  1. mid-stream insert/delete — is slightly slower than linked list, much better than deque, which is efficient only at both ends.
  2. traversal — d-cache efficiency during traversal, esp. with small payloads
    • This is the main advantage over vanilla linked list

There’s a 3rd API operation, somewhat uncommon for linked list

  1. jump by index — quasi-random access. Almost constant-time. Count of non-dummy elements in each segment is non-uniform.  See [17]deque with uneven segments #GS

— comparison with deque, which has a fixed segment length, except the head and tail segments

  • Deque offers efficient insert/delete at both ends only. At Mid-stream .. would require shifting, just as in vector
  • Deque offers O(1) random access by index, thanks to the fixed segment length