software dev is a 10x profession

In software projects, one lead developer can replace 10 mediocre developers. Many successful products/solutions/tools are the elegant creations of single alpha geeks.

Look at building architects. One key person to control and influence most of the key areas of a construction project, involving hundreds of workers.

Look at car designers, phone designers.

Now contrast restaurant managers. A good manager can’t replace 10 average employees.

Also contrast accountants. No 10x individuals.

Also contrast teachers.

Advertisements

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

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”.

#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.

talent + attitude = great developer

In your gym, we discussed that some developers could be very sharp, knowledgeable, analytical, fast-thinking, fast-learning, but most of these developers don’t achieve the greatness like the achievement of your “Hibernate” colleague. I can think of a few other “great” achievers.

– A Citi developer who built the pricing engine almost single-handed, with so much logic thrown in. Perhaps design wasn’t great, but this engine works — no mean achievement given the tons of functionality. There’s so much logic that it took initially 2 developers and later 3/4 full time guys to support it. (One of the guys said this implementation is overcomplicated.)

– A ML manager who knows the entire trading engine (execution, offer/bid, RFQ, PnL, pricing, ECN..) inside out. The other 4 full time developers under him can’t support the app as well as he can by himself. When he is on leave for 2 weeks, we worry about if production issues will stay unresolved.

It takes more than talent + diligence to achieve greatness. For one thing, the guy must spend a few years dedicated to researching and experimenting with the core parts of the system, without cold feat. In my GS team, everyone did this. Outside of GS, i don’t see many doing this sort of hardcore inside-out system hacking, which is mandatory to mastery. Typically it takes 3 (up to 5) years to become a master, but the great developers take 25% of the time. They focus, they work (much) harder, they go deep — fearless and relentless. They seem to (quietly) believe that they “can do it” in 25% of the time, and they stick to the timeline and finish it. Determination, confidence, commitment and drive — common qualities of a few of my team leads.

They also must know when to give up on something hopeless, fruitless, worthless, or something with poor cost/benefit ratio. Without this critical Judgment, one would invariably waste time in all kinds of situations, and lose momentum, lose opportunities, lose management support, lose confidence. I believe the few great achievements I know are all achieved with a tight deadline. Wasting time is deadly. Great developers must know how to identify and avoid deathly traps.

Almost always, they also need to work with many others to finish a big task quickly, so some people skill is required, to varying degrees. I’m not good at analyzing this so let me skip.

Needless to say, none of these qualities are testable in an interview. Everything can be faked up. Therefore I believe it’s impossible to identify powerful achievers by job interview.

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.

[11] fwd: chicken head vs phoenix tail

JL,

My 2 cents worth as a fellow software programmer…

I feel you have potential as a lead developer or even chief architect in a team, but I don’t know how large (by headcount) a team. I myself don’t have enough political sensitivity or influencing power to operate at the top technical echelon or a large company (like Intuit), so I only aim at the team lead or better still, lead developer level. (I feel I have the perception to see through confusing/subtle technical issues though.) It’s important to have a specific self-assessment as to how high you feel you can rise, so my suggestion #1 is to think hard about “how high” and in what type of company (big/small, start-up, product vendor, RnD…).

Some things we can do at age 55; other things we can’t (meaning unlikely) do after we pass 40. For example, switching from team lead to a director is doable at an older age. Mastering (beyond the basics) java/c# on large enterprise projects takes years and can be hard when we are old — very few people at that age accept a junior java dev role; most team members are in their 20’s; interviewers may not like the idea… My suggestion #2 is to list out what kind of opportunities will disappear in 2 years.

Personally, I always emphasize Accumulation. These 2 years of working should build on my previous 10 years, and make me a more valuable contributor. Random jumps won’t accumulate, as a rolling stone won’t gather moss. It’s rare for a big company to need skill in both java and php. If my long term specialization is java, then 2 years in php is not effective accumulation. My Suggestion #3 is to avoid dispersion of energy or “spreading yourself too thin”. A questionable exception — If someone is already expert in win32 programming (for example), then she might want to branch out to database tuning or whatever, because of “diminishing return”.

I think all my suggestions so far are rooted in a long term career vision. However, software guys often witness/experience too many destructive changes to have a vision. If you aren’t sure about long term, then perhaps play it safe. Go for more money, better family life, more job security, more mainstream technologies and brand name companies (adding credibility to resume). These choices are less likely to be a waste of time.

Let’s face it, thanks to destructive changes or whatever, most of our past years are a waste of time. (If you remember thermodynamics) We are particles in hot air, getting knocked left and right. The trick is how to reduce loss of energy and accumulate momentum.

I feel you have always wanted to get into java in a big shop. In that case this is a rare opportunity.

y c++ dominates telecom industry

According to a friend in AT&T…

Call center runs on PBX ( a special hardware machine with embedded
software: http://en.wikipedia.org/wiki/Private_branch_exchange ) and
control server on UNIX/WINDOW machines as well. C++ is used often in
telecomm because:
(1)  there is no JAVA at that time. 🙂
(2) legacy systems are C/C++
(3) people thought C++ is faster high throughput  than Java
(4) special hardwares only have C/C++ complier
(5) old fashion guys only know C/C++

But java is also finding its way into telcom.
(http://www.javaworld.com/javaworld/jw-07-1996/jw-07-telecom-lawton.html).
I saw a lot of applications in Bell Labs and AT&T Labs are built by
Java right now.

Singapore is a trickier work place

Singapore is a trickier work place than US. It would be great to find a mentor and a protective manager.

I usually have good rapport with users, but it's possible that I may not jell well with some traders and some colleagues.

I hope to fall back on my ability to get-things-done and my system knowledge so they would feel it's hard to find someone to replace me.