- GTD – make the damn thing work. LG of quality, code smell, maintainability etc
- KPI – boss’s assessment often uses productivity as the most important underlying KPI, though they won’t say it.
- productivity – GTD level as measured by __manager__, at a higher level than “effi”
- effi – a lower level measurement than “Productivity”
- zbs – real, core strength (内功) of the tech foundation for GTD
Since 2010, I have carefully evaluated and executed 3 broad strategies:
- deepen – for zbs + IV
- diversify or branch-out. Breaking into new markets
- stack-up – cautiously
- eg: Deepened my java/SQL/c++/py knowledge for IV and GTD. See post on QQ vs ZZ.
- eg: diversified to c++, c#, quant, swing…
- eg: diversify? west coast.
- eg: diversify? data science
- eg: diversify? research + teach
- eg: stack-up to learn spring, hibernate, noSQL, GWT.
Stack-up — These skills are unlikely to unlock new markets. Lower leverage.
GTD stress/survival on the job? None of these help directly, but based on my observation GTD skill seldom advance my career as a contractor. It could create a bit of spare time, but it’s a challenge to make use of the spare time.
What specific topics to improve for c++ (not pure algo) coding IV? (X years experience doesn’t guarantee anything)
- · Write code to print alternative item reversely
- · Write ref-counted string
- · Write auto-ptr
What specific topics to improve for c++ QnA IV? (X years experience doesn’t guarantee anything)
- C++ Design patterns
- Try interviews and read up
- See also https://bintanvictor.wordpress.com/2017/04/26/insight-accumu-due-to-5ya-job-by-default/
- What specific topics to improve for c++ GTD? (X years experience doesn’t guarantee anything)
- See also post on X years needed to become effective….
- A reasonable struggle with a big codebase
- Deep dive in a few modules
So in any of these areas, x years spent using a language could leave you still total beginner!
–Mac over 18M
C++ compilation/linking? a bit
–OC over 23M
MSVS? But no critical mass yet
Spare time for UChicago
(There’s a recoll on this accumulation lens concept…. )
Holy grail is orgro, thin->thick->thin…, but most of my attempts failed.
–hall of fame
- 1) data structure theory + implementation in java, STL, c#
- 2) [C RT] core java 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] instrumentation in java codebase and to a lesser extent c#. Essential for real projects and indirectly helps interviews
- [C] core C++
- [j] google-style algo quiz? Only for high-end tech interviews
- —-also-ran :
- [!T] bond math? Not really my chosen direction, so no serious investment
- [!T] option math?
- [R] SQL? yes but not a tier one skill like c++ or c#
- SQL tuning? not much demand in the c++ interviews, but better in other interviews
- regex – needed for many coding interviews and real projects
- py? increasing use in projects
- [R] Unix instrumentation, automation? frequently used but only occasionally quizzed
- [R] Excel + VBA? Not my chosen direction
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
Update — It would be good to have some measurable yardsticks for GTD competence. Right now the g_GTD_zbs tag includes at least 50 blogs.
XR, (letter sent in July 2010)
Here the goal is not getting the job but keeping the job. You said there’s a difference between a knowledgeable java student and an experienced java developer.
I said I only did java for 3 years.. well maybe 4. I think much of that time I was doing repetitive work, not learning. About half the time (1-2 years) I was learning, by experimenting, reading, discussing, debugging… (I actually learned a lot of java from our long phone conversations.)
I feel if a bright young guy is given a good training project, then in 6 – 24 months he might be able to reach my level of java proficiency.
I also said a lot of young coders could become faster than me with a specific java task after a few months of java learning. Well … an apprentice carpenter could become faster than his master at sawing along a line, but can’t replace the master completely. I feel the hundreds of decisions made each week by an experienced java developer are often based on more experience.
C# is probably same thing – 6 to 24 months to become effective. A very experienced c# friend told me “3 months”. I spent about 6 serious months and another 12 repetitive months on c#…
Venkat, one of the fastest-learning developers I have worked with, said (in Lau Pa Sa) “To get really competent with a new language (like java, c#, python) honestly you need at least one year.” Venkat had the strongest C++ skill I know. I witnessed how he picked up c#. He later struggled a bit with java.
The 64 million dollar question is, what are the really effective learning strategies. I don’t have good answers. Guo Qiao was an advocate of programmer online learning. Some people even suggest taking part in open source projects, to learn from practicing master programmers… I’d love to hear your input.
I have seen both, and tried both.
minority of developers spend the time studying and understanding the important details of threading, generics, templates … before writing code.
Majority of developers don’t have the time, vision or patience, and only learn the minimum to get the (sloppy) job done. They copy-paste sample code and rely on testing, but the test cases are limited to realistic UAT test cases and will not cover edge cases that have yet to occur. For concurrency designs, such tests are not good enough.
AA is often seen as unnecessary except:
* Interviewers often go in-depth
* In a product vendor rather than an in-house application team
* If requirement is unusual (eg: B2BTradingEngine), then BB won’t even pass basic developer self-tests. Sample code may not be available — see my post http://wp.me/p74oew-1oI. So developers must bite the bullet and take AA approach. This is my sweet spot. See
On Wall St projects, I learned to abandon AA and adopt BB.
On Wall St interviews, I still adopt AA.
On West Coast, I think AA is more needed.