##2009which parts@c++ r u most comfortable && hands-on

* STL data structures
* inheritance, overriding
* ctor/dtor
* virtual
* big 4
* pointers and references
* strings
* input/output

Advertisements

in hind sight: Quartz ^ java job

See also https://bintanvictor.wordpress.com/2017/04/11/quant-devops-job-in-hind-sight/
When taking up Quartz, I decided to avoid the diminishing return of java.

I  believed (and still believe) the initial learning in any technology is fastest. But was the enrichment worthwhile? Now I think yes and no.

– yes more java probably wouldn’t have improved my technical capabilities.
– no I didn’t become a “grown-up” python veteran or deepen my domain knowledge in curve fitting, real time risk, risk attribution, risk bucketting..

(Below is Adapted from a letter  to Hu)

Most of my developer friends (mostly senior developers) in Goldman and Baml shun the in-house frameworks (SecDB or Quartz). Key reason cited is skill mobility and market value. There are other reasons unmentioned. Indeed, we have to spend many late hours learning the idiosyncrasies of the framework, but that value…

(Quartz position is predominantly programming) Someone said if you stay outside mainstream programming technology like java/c#/c++ for a few years (like 3Y)  then you will forget most of the details and have a hard time on the job market — 1) getting shortlisted or 2) passing the tech screening.
I thought I could learn some serious python programming but left disappointed. I didn’t use a lot of python constructs, python hacks, python best practices, python modules (there were so many). I don’t have a good explanation — I feel most of the technical issues we faced were Quartz-specific issues like DAG, Sandra …. For an analogy, I can give you a 3Y job to develop c++ instrument drivers but restrict  you to my framework “CVI” so you are shielded from basic pointers, smart pointers, STL, threading, virtual functions, Boost, the big 3 (copy ctor, assignment operator, dtor) or any of the c++11 features. Over 3 years you would learn close to nothing about c++, though you would learn a great deal about CVI (C for Virtual Instrumentation, used in my early jobs.) So over 9 months I didn’t go up a rewarding learning curve in Python and emerge a “grown-up” developer in python.
Besides, I hoped to learn some financial analytics, pricing, risk, stress test, back test, linear algebra, matrix operation, curve fitting, etc. Not much. Would a longer stay help? Maybe, but I doubt it.
It’s true that many Quartz projects give you more direct exposure to “domain knowledge”, since most of the low-level nuts and bolts are taken care of by the Quartz framework. In my projects we worked directly with trades, live rates, accounts, PnL, PV, risk sensitivity numbers, curves, risk buckets, carry costs, and (a large variety of) real securities,  …
However, there was no chance to work on the quant library as those modules belong to other teams in a well-organized dev organization like Quartz.
Resolving technical problems is always frustrating (until you have 3 years experience in Quartz) because the knowledge is kept in people’s heads, so you can’t google it. The documentation appears extensive, but actually very very limited compared to the technical resources on Python or any popular language.
Quartz has good dev practices like automated build/release, test coverage, code reviews, so you might benefit by learning these best practices.
Database technology is an essential skill. If you like object-oriented DB, then Quartz gives you the exposure, though the valuable skill of developing an OODB is reserved by the early pioneers of Quartz. In my opinion, relation db RDBMS) is more widely used then OODB, so it’s more valuable to learn how to write complex SQL queries and tune them.
Quartz offers elaborate event subscription, so changes (on market prices or positions or user input or configuration) propagate throughout the OODB fabric in real time. I think this is one of the sexy (and powerful, valuable, enabling) features so I was excited initially. But it’s too complex too big. I used this feature extensively but didn’t learn enough to benefit. Analogy — you can learn many Korean words but still not enough to converse, let alone using it effectively to communicate.

West Coast^Wall St techies #per HenryWu

Henry Wu felt

* west coast techies have clearly higher calibre.

* Wall St is more busy. I guess he means higher workload, faster pace, more quick-n-dirty and lower quality.

* Very few older guys on the west coast. There’s probably implicit age discrimination that’s hard to prove.

* Perm roles pay higher on the West coast. However, his sample may be different from David Leak’s

value-creation sectors – turn tech2highest profit

Notes on Raymond Teo discussion:  west coast shops … creating big value through high user base, high data, …..innovation is high risk — “risk premium”. In contrast, Singapore IT projects have a fixed “value” i.e. the project budget. ($1m is quite big.) Directly impacts IT salary.

Those “upstream” sectors often needs a smaller number of elite techies.The “upstream” don’t really exist in Singapore. Therefore, only a small elite of  techies in Singapore would end up in the financial IT domain. The vast majority of techies live in a totally different world and earn S$60k (up to $100k) a year as non-managers.

As I stated elsewhere, an mediocre techie easily earn a Wall St salary on Wall St, but the same guy would earn $60k in Singapore.
—–
Database/OperatingSys vendors enjoy highest margins (in silicon Valley) but no all Oracle clients get the same ROI buying oracle. Let’s compare the major client-industries that are using technologies. In which sectors does technology create the most profit? Note consumers are the largest user population of technology, but consumers don’t make profit and are not an “industry”, and (crucially) won’t pay us a salary. Our focus here is the major commercial sectors/industries using technology to make profit.

Telecom equipment makers make heavy use of technology and have good margin. Like the DB/OS creators, a small number of elite engineers create industry standards…. Anyway, here are a few sectors.

#1a) HFT or algo trading, either sell side or buy side
1a) other trading engines
2) risk engine, but is the calc really useful, relevant and accurate to be reliable?
2) settlement system can be just as critical and valuable to an i-bank

1b) search engine?
1b) facebook, linkedin, Amazon …

1c) DB/OS/language, as described above, is not a client industry, but DB/OS profit margin is higher than all other domains.
?) Atlassian

4) Telecom equipment maker, as described above
5) commercial banking, corporate/retail banking, insurance. Lower margin than trading, but higher than non-financial service industries. ecommerce like amazon, ebay…? I feel thousands of online services offer useful services but have low margin. B2B better than B2C.

#eor

telecom operators? I know a lot of operators (US or S’pore) don’t pay very high, partly because technology is at equipment makers. health care? logistics? no no no

Fwd: what tech skills are in demand OUTside Wall St?

Roland,

How is it going? I believe what you wrote. JQuery is purely browser-side but I'm short (i.e. biased against) browser technology. I have chosen to move away from it, so I am seeing all the reasons to support my short position …

For trading systems
* most biz logic is on some kind of server side daemon, i.e. no web server
* the dominant user interface is not browser but a desktop GUI in c#, swing or something older
* there are often some reporting tool. I think they are often but not always browser based.
* In addition, there are some web interfaces that expose in ReadWrite mode the data residing on the server-side.

For risk and backend systems
* i feel the UI tends to be browser, and server side would include a web server.
* the business logic is usually on the server side. Sometimes it's a batch job. Sometimes message driven in real time.

For other financial/banking apps, I'm not sure, but web technology is used more for sure.

How about the GS private wealth systems? Which category? I would put it under the “other financial” category. It has a lot of database-centric software modules, and there's also a lot of online service modules.

Outside finance, I feel web technology is prevalent, mainstream, dominant, often the default choice for a given requirement. Financial technology is a niche. I said the same thing in my 2010 blog http://bigblog.tanbin.com/2010/06/web-skillset-to-keep-our-head-above.html.  If we want to stay close to the mainstream and be employable across the tech world, then invest in web skillset.

—- your wrote —
However even with financial sectors, there seems to a growing need for front end technologies.  JQuery seems to be very hot.

a small example of negative projection

I learnt long ago that if you do something unusual and you want to gauge people’s reaction, you need to assume everyone around you is lazy, selfish, insecure, unforgiving, fearful, over-protective of personal image… Here’s one example.

Suppose boss gives you a task, and you suggest another team member as a better candidate for the task. This can easily invite criticism (from everyone) like “avoiding work”, “pushback”, or “acting like a boss”.

## lasting achievements as a techie?

Backdrop: Technological innovation is fast (less so in commercial banking, i was told) so “lasting” means … maybe 5 to 10 years (rarely longer)?? Few achievements meet this criteria.

See also http://bigblog.tanbin.com/2010/09/accu-and-longevity-compare-with-civil.html, http://bigblog.tanbin.com/2011/02/classical-engineering-field.html

– open source — software have real lasting values. I guess you can learn to Read their source code — usually in C.
– [L] contributions to foundation modules such as VM/CLR, compilers, threading library, GC, STL — real lasting values

What skills contribute to lasting value-add to an organization?

– tuning – DB — needed in many big and small systems
– tuning – low latency systems — more rare
– [L] instrumentation i.e. refactor/design a given (complex) system to make it easy to trace and follow
– [L] ? introspection – tend to be rather powerful in many new languages
– ? interpreting bytecode; decompilers
– ? system security; white hat hacker

[L = I feel most of these skills are low-level]

In theory almost everything can be learned by a young guy in a few years provided they get full (rare!) access to all source code and manage to make sense of it all. However, look at how many bright young people become kernel developers even though so much open source operations systems exist.

#1 essential communication skill #in office

Whenever a finance IT job spec says “communication skill” or “communicator”, it could mean several things
– can understand business users
– can understand requirements
– can write (non-trivial) email
– can write reports
– can present

But I feel the most important criteria is — articulation.

I don’t know for sure, but i feel most people can do a good enough job of understanding users or requirements, but the level of articulation varies among developers.

I guess outside US and UK, some developers have problem with English.

upstream, knowledge-intensive, high-margin sectors for S’pore

Upstream/strategic, knowledge-intensive, high-margin, high-barrier sectors for Singapore

Singapore is traditionally not a high-tech economy…. To compete, Singapore must seek greener pastures and keep a steady foothold therein. This is what every advanced economy does.

Role models? Switzerland, Hongkong, Taiwan, Silicon Valley, Boston

Entry barriers due to large capital, specialized know-how, talent shortage… Singapore EDB likes a sector with such barriers.

RnD – upstream, knowledge-intensive and entry barrier.

— Now the sectors —
$ finance — #1 most special (“sacred”) sector. One of the pillars of the economy but finance is first among equals [1]. Unlike other pillars, finance is part of the life support of this nation. Singapore gov needs long term strategies to protect (its currency and) financial health, even survival, of the nation. It grows a deep foreign reserve and invests it long term.

Not sure if finance is the most high-margin sector. Commercial banking is lower margin; AssetMgmt, security trading and investment banking create few jobs.

[1] if you shortlist the pillar industries of { oil, logistics}, where Singapore competes successfully on the global arena.

$ oil — perhaps the #2 sacred sector.
$ medical
($ life science? not sure what this includes)
$ electronics
$$ semiconductor fabrication – at the higher end of electronic sector
$$ IC design, esp. microprocessor design – still higher margin

$ telecom equipment and telecom operator — 2 big sectors by revenue
$ enterprise IT solutions, including software production and distribution
$ consumer IT product creation. Not a big sector, but look at Creative Lab
$ aviation — at the higher end of the logistic sector. Servicing, component design, research, airport ..
$ higher education and training

————
Now a small sample of the opposite list. Many traditional sectors don’t meet all the criteria in the title but do support a lot of jobs for Singaporeans —
– logistics?? Singapore’s traditional bread-and–butter economic contributor (commerce is another), but margin is deteriorating.
— distribution, warehousing
– commerce
— traditional retail – i.e. consumer shopping
– construction
– tourism and hospitality, casino
– entertainment – online/electronic gaming, music and film
– marketing and advertising, media, publishing, exhibition, conferencing

Many of these above sectors are domestic. They don’t directly contribute to the Singapore Team on the international front — contrast electronics, aviation, medical, tourism… Every advanced economy must show competitiveness and high value-add on a number of major global markets.