Why The World Doesn't Need Superman (All The Time)

Look, up on the stage, it’s Bill, it’s Steve, no it’s superman!

Don’t we all love to talk about the superman — the more we talk about them, the more everything about them radiates super aura, including their defeat that probably could be attributed to others, or mistake that probably could not be attributed to others. And the more we forget to ask the fundamental question: Who is superman?

Unlike the superman, who though can be deprived of super power by kryptonite from time to time, will always remain biologically super, among the rest of the 6 billion mortals who do not carry the super Krypton genes, why identify some of them as superman? Bill and Steve are not the only super-rich, many others are too.

Let’s look at Scott McNealy, co-founder and ex-CEO of Sun Microsystem. By April 2000, Sun’s share price has reached $250 after 4 splits. However, not even Scott Super McNealy can spare his stock price from falling back to $10 after a mere two years, followed by a stagnation for another four years, and finally the acquisition of Sun within three years of his departure. As super as he once seemed, maybe he is just a demigod?

How about Jerry Yang, the amazing graduate student who co-founded Yahoo Inc. The once superman was much blamed for Yahoo’s performance lag and even resented for failing to secure a higher bid from Microsoft. Maybe he is just a human who was somehow mistaken as a superman?

How about John Meriwether, the ex fixed income Salomon Brothers trader who went on to found the (in)famous LTCM, a hedge fund which rose and collapsed like a shooting star over a short span of only four years, leaving a permanent crater in the history of the world’s financial market. Many who looked up at him now agree that he is more like a devil disguised as a superman.

The list can go on and on, and what I want to say here is that superman is not entirely self created, it’s also promoted by the public, and when selecting the new superman, it’s always wiser to consider the invisible — things that could happen but have not yet happened.

Last but not the least, consider the hypothetical case: If Apple stagnates/folds after Steve Jobs’ departure, would you consider him as much a superman as William Hewlett and David Packard who established a self-sustaining corporate culture that keeps propelling the firm long after the original founders are gone?

MBA: Rise Of Geek

Have you seen the saga of “The Geek Strikes Back”? It’s not new, and has just been blogged again by Chirs Dixon promoting technical disciplines under a catchy title. While I’m not ready to unconditionaly accept the word “only”, it’s nice to see that technical knowledge is valued higher than it used to be.

Though not a strict zero sum game, the appreciation of geeks does come at some price of the depreciation of the business guys. The perceived value add of the traditional MBA, especially in the Silicon Valley, has declined in recent years. Again I’m not the only one who thinks so. And even on Wall Street, there are people like Nassim Taleb who enjoy making fun of MBAs, even though that might have always been the case as they think they are well qualified to do so because they have PhDs. Anyway, I’m not going to write under the title of “RIP MBA”, which is better to be left to TechCrunch. I just want to do an unbiased mental exercise around the topic.

Before we start the analysis, it’s important to set the baseline assumption, so that we don’t compare apple to orange, and be very careful with logical/statistical fallacy, so that we won’t conclude that college education is useless just because Bill Gates doesn’t have a degree.

First of all, I think MBAs in general are people in the right end percentile of the population by various measures, even though I’m (un)fortunately enough to have also met a few MBAs from top-5 schools who are so horrible as to go beyond my wildest dream. However, MBA, as its name suggests, is a rather general discipline, so penalizing an  MBA for not being able to compete for jobs such as top web designer or software architect is not fair, such highly specialized and/or technical positions should be kept off from the radar for MBAs.

That sure cuts a large chunk off the startup pie, but does it mean no room is left for business wizards? Some might point out that many successful founders, such as those featured in Founders At Work, do not have business knowledge — as they later openly admit — hence business knowledge is not required. This is precisely where the Bill-Gates-invalidating-college fallacy kicks in — those are the founders who succeeded despite their lack of business knowledge, rather than because of it. Statistically, incorrect business decisions have led many more founders to failure, mostly silently. Or see it in another way, just imagine which startup will knowingly turn away Steve Jobs, even though he is not as good a developer as, say, Steve Wozniak? No doubt business knowledge/instinct, however vaguely defined, does make a tangible difference here.

But why do so many think MBA schools are not churning out people with the secrete recipe? Some blame the out-dated materials being taught in MBA schools, but what if we replace the five forces with the four steps, and DCF with Term Sheet, which is indeed happening in some top MBA schools? Will startups suddenly start to embrace those new breed of MBAs? To answer this question hypothetically, let’s imagine another candidate, who has worked equally hard in the business unit of some startup during the two years in which our MBA earns his degree, with that, I hope I’m comparing orange to citrus. Who would be more appealing to startup hiring managers/founders? I guess the answer is obvious, as real life working experience blows away any school education, which serves at the best as a proxy to forecast future achievements. Even though in theory anything can be done with determination, our MBA student has effectively lost two years to his competitor.

However, the MBAs, even in their traditional form, do have one advantage that’s hard for outsiders to compete with — their the network. It can be highly valued by startups doing customer development with organizations that are managed heavily by MBA alumni.

The war is not over, MBA might be losing ground, but they are also adapting to the changing world, or are they already biting back in another way?

An Entrepreneur's Guide to the Management

I am half-way through Thomas Sowell‘s A Citizen’s Guide to the Economy, and can’t wait to finish the rest half. It’s a very easy-to-read book on economy theories and realities, especially those that have long been misunderstood. The book’s main focus is macro-economy phenomenons, assuming an efficient market, which is probably true on the time scale the book is devoted to. If you have recently finished micro-economy/psychology books such as Predictably Irrational, there might be a need for some mental adjustment. While I believe there’s no fundamental conflict between the two school of thoughts, both are trying to interpret the same universe we live in, just on different scales. And how marvelous our world can manage ostensibly self-contradicting effects on different scales in pure harmony — I have always been marveled by how the probabilistic quantum mechanics can aggregate to the very deterministic Newtonian physical world.

But I digress, what the book got me into thinking the most is not economy. Macro-economy is no doubt very intriguing and relevant to us all, however, the influence of which is well beyond the means of most people. What is much more within our reach is management, especially for entrepreneur (wannabe). I believe economy and management is closely related, if not just the different manifestation of the same fundamental force — they both deal with understanding the interaction between people with an emphasis on the aspects rationalized and motivated with financial gain, and both look forward to deriving formulas for setting the best rules and regulations for intended outcomes.

In the book, numerous cases are cited in which the laws set forth by governments end up in situations that’s completed opposite of the intended consequence. For example, rent control, the artificial rental price ceiling imposed, in the long run, always resulted in more suffering to the low income tenants, the same group of people such law was intended to help the most. This reminds me of the daily scene I see.

I’m working for a local bank, I’ve worked for many banks, both local and foreign, but this one has the absolutely most strict control among all banks I have been, or can imagine. The security measure starts from the lobby of the building, which is entirely owned by the bank. To enter the lobby gates, you’d need to enter your personal pin, which is unique for everyone, then insert your finger into a finger print reader to open the gate. So does it make the bank completely free from malicious intruders and imposters? We’ll see… The problem with those readers is that they are a bit fragile — I’ve never seen a finger print reader that operates as reliably as a basic touch-less magnetic card reader and it shouldn’t surprise anybody given the fact that a finger print reader has to communicate with a human, while a card reader process is a much snappier hand-shake between two machines — it’s most probably the human’s fault. And humans fault not only at the finger print reader, sometimes they do key in the wrong pin, or even forget about their pin entirely (Haven’t you, especially when coming back from a three-week vacation? :) . Note that these errors all add up on top of the 5 seconds pin-plus-finger-print transaction as opposed to the sub 1 second touch-less card reader that’s common at other banks. The end result? There’s always a large crowd gathered before the lobby gate every morning at around 9 am waiting impatiently to enter the building one after another. The crowd gets so large almost every morning that the security guard has to let some 20+ frustrated employees storm in through a side gate, at which the only security measure reverts to the security guard visually scanning everyone’s pass. At that point, it’s not hard to imagine how easy it could be for someone unauthorized to get in with the crowd. And when security is breached and possible tragedy happens, reprimand even firing the poor security guard neither makes up for the loss, nor guarantees the absence of similar misfortune in future. Such is a typical management decision, i.e., after spending so much more money and time to implement a solution that’s supposed to be far superior that those of its peers,  fails to secure a result that matches its investment, because it ignores the strong human factor that lies behind many surprising empirical results seen throughout the history in both economy and management.

To Stored Procedure or Not To Stored Procedure

I previously argued that database is the backbone of most web application and you will be rewarded handsomely if you invest heavily in it. Concerning traditional relational database design, one of the most widely diverse views is on the usage of stored procedure. Somehow it seems that there is hostility in the air towards stored procedure from a quick Google search on “stored procedure should use | not“, including from some well-recognized figure, but that could well be the result of selection bias, probably rooted from the resentment of SQL in general among programmers. While some try to bring up a more balanced view, even the most highly voted one is too vague to me.

Here’s my take on the issue — (always) use stored procedure when the action can be performed without the knowledge of the meaning of the affected data at the application level. Imagine yourself being the principle of a university and think application logic as your professor, who routinely visits the library, borrowing and returning books. Now ask yourself, do you want to burden your professor with trivial tasks such as making sure that the books in the library are nicely sorted and stacked? Of course not! And that’s why there’s the librarian, who acts like the stored procedure. It benefits everybody if the librarian is left to do what he does best, sorting and stacking the books without understanding their content; while the professor works on the content of the book, even though she is capable of sorting and stacking books as well.

As a real-life example, suppose you have a “blogs” table, which stores the content in the “content” column. It has another column named “content_hash”, which stores the hash of the content. The “content_hash” value can be used to compare with that of the posted content so as to skip overwriting existing content with identical information redundantly, saving both the precious network and server resource for your database. Since the gist of the operation is only to make sure that a piece of information and its hash are always kept in sync, it’s a perfect candidate to be left with the stored procedure, which can’t care less what that piece of information is for.

However, I am totally against the idea that stored procedures are a database stuff and should be managed separately by the database team. It’s not independent, it’s part of your application, just like any other code, or configuration file, or even icons. So it’s critical that all source of stored procedures must also be kept in the same (version controlled) source repository as any other application related codes and configurations and must also be unit tested. After all, a librarian is just another university staff, who should be bound by the same rules and regulations of the school.

The Anatomy of A (Typical) Web Application

The most distinctive difference I see between non-web applications and web applications, as far as development is concerned, is that web applications have a much greater tendency to deal with a large amount of data, hence the use of database, relational or not, is so much more abundant and critical in web application development than is otherwise.

Such a difference in their genes leads directly to the corollary that database design, web framework, template, and UI helper (JavaScript) of a web application are akin to, respectively, the bone, the muscle, the skin, and the fur of an animal. I.e., bone is the hardest to alter structurally, followed by the muscle, then the skin, and finally the fur. I highly recommend investing heavily in designing a well structured, extensible and scalable database as the very first thing to do before building your next web application.

Blog Recommendation: Chris Dixon

Every entrepreneur (wannabe) should read Chris Dixon‘s blog, which I have added to my Blogroll.

The Meaning of Life

Today I came back from some management training class, the kind that asks the participants to team-work to, say, pass around a ball as fast as possible — you get the idea. It’s not the training itself that I’m going to talk about, other than to confirm that they still exist — quite amazing — I thought they had all died out five years ago. Anyway, this one is conducted as an orientation program of a rather local bank for new joiners. Most of the participants are fresh graduates.

At the beginning of the session, the instructor handed everyone a piece of blank paper and asked us each to draw our “meaning of life” and to present it to the class. When everybody was done, I was amazed (and amused) to see so many versions of the earth as almost one third of the class have the common “meaning of life” to travel around the world. But what’s so funny about some fresh graduates wanting to travel around the world? Because it reminds me of chapter 5 of Felix Dennis’ highly entertaining yet equally insightful How to Get Rich, which I was reading just on my way to the training. Chapter 5 is titled “The Fallacy of The Great Idea”, in which Felix stresses the crucial importance of rational, decisive and relentless execution over fantasizing over an idea. It’s probably best summarized in his opening poem –

Between the idea

And the reality

Between the motion

And the act

Falls the shadow

T. S. Elisot, “The Hollow Men”

Felix’s book is of course about nothing but making money. And I’d like to extrapolate the concept to all aspects of the life — if our fresh graduates’ “meaning of life” is to travel around the world, what are they doing in a local bank? Work 9 to 6 everyday in one (building in a) city for as long as one can foresee? Shouldn’t they already be at some other place in the world planning their next stop? Note that many of them are holding one of the world’s most travel-friendly passports, and their entire “meaning of life” is only a drawing on paper.

***

PS, so what did I draw? I drew a sun, shining light onto others — that’s my meaning of life.

In Search of Excellence with Statistical Significance

I have always been aware of the survivorship bias and wanting to write about it. Thanks to procrastination this time, I won’t have to as it has been pretty much nailed by Jason Cohen in his excellent Business Advice Plagued by Survivor Bias.

This topic is not only highly intriguing, but also of uber importance for every key aspect of the business, from hiring to management, from strategy to execution. The classic business studies, even the highly influential works, such as In Search of Excellence (also mentioned in Jason’s blog), are mostly based on a shaky foundation of deterministic thinking that has been challenged by new waves of probabilistic/statistical analysis brought to light under the recent fast changing business landscape. But I like it, I mean, I LOVE it — when an old school of thoughts are doubted, challenged and invalidated, the new theory will not be far from the horizon. We got to where we are today because Aristotle was challenged, Newton was over taken, and Einstein was not blindly worshiped. Similarly, in 10 years, I hope we can search for excellence with a higher confidence level than in the past.

Slumdog Billionaire

Science gives us the power to see through the diverse world to uncover the fundamental laws beneath, revealing qualitative and/or quantitative description of causation linking phenomenons, which in turn leads to predictions and even manipulations of our world. Being a huge fan of fundamentals, I was naturally drawn to Chris Dixon’s recently blogs, the Why seed investors don’t like convertible notes and The problem with taking seed money from big VCs, both discuss relatively under-appreciated outcomes born from strong fundamentals of the VC/entrepreneur world.

Think entrepreneurs as slumdogs, and VC as the “saint” who collects slumdogs, trains them and tries to profit from them. Both want to be the next billionaire and see a need in each other. Unfortunately that doesn’t mean they will just live happily ever after, because beneath the superficial harmony, there are much stronger forces that can break the surface tension any moment. First, a VC is not designed to marry an entrepreneur for life — one of the reasons why marriage is (supposed to be) a strong tie is because it’s meant to be for life, rain or shine. It’s not hard to imagine what could happen if one party intends to stay with (and profit from) the other for only 5 years.  Second, their motivations, though seemingly aligned towards financial gain, have a hidden crack underneath — many real entrepreneurs will still do with great passion what they choose to do even if it does not make them a billionaire, while VCs are, by design, motivated purely by money, and if signs show that any of his slumdogs will not become the next money tree, he would not hesitate to kick her back on to the street.

It’s not beautiful, no for sure, just the way it is, like there is no Santa Claus — now welcome to the game of “Who Wants to Be a Billionaire”.

A Tale of Two Management Meetings

One issue — an intranet Oracle “enterprise” web application went down last week as the result of a spike of 350 concurrent users from an average of fewer than 250. Two management meetings.

The first one –

Support Engineer: We’ve had two similar outages earlier this year, after each Oracle told us to tune certain database parameters, but the system still went down the third time last week…

Manager (interrupted): We as employees must take full ownership of any problem, even though sometimes it may seem like a vendor’s issue, ultimately it’s still our responsibility to ensure SLA to our users… How did you do the capacity planning?

Support Engineer: We did the capacity planning at the end of last year…

Manager (interrupted again): If you did the capacity planning, why did the problem still occur?

Support Engineer: Well, there was a spike in the usage — usually there are fewer than 250 concurrent users, but somehow without an apparent reason it shot up to above 350 last week. Theoretically it shouldn’t pose as a threat as our Oracle license allows up to a few thousand concurrent sessions.

Manager: I still don’t understand it — you know, I used to be an engineer myself — why did the problem occur when our Oracle can support a few thousand sessions?

Support Engineer (reluctantly): We don’t either… We are working with Oracle to find a solution. They are probably going to tell us to tune some more parameters.

Manager: How do you know if that’s going to work?

Support Engineer: We will monitor the system closely.

Manager B: Just get 50 guys to punch the keyboard to test.

Support Engineer: <keeps quiet>

Manager: Our Oracle enterprise system is of critical importance in the company. Our users rely on us to provide excellent support and we can’t let them down. We must strive to do our due diligence to perform proper capacity planning and work closely with the vendor to ensure top notch SLA all the time. We have high expectations on you guys and I don’t want to see such problem again at the next month’s meeting.

Support Engineer: Can I raise a related issue?

Manager: Yes?

Support Engineer: We are more than pleased to see an increase in our business users, since that means the company is growing, and we feel really bad when we missed the SLA. However, if the vendor can’t provide a solution for a major performance boost, it means our hardware has reached its capacity limit. And since the business is growing, doesn’t that justifies an investment in better hardware to satisfy the business needs?

Manager: I understand what you are trying to say. In fact, this is what the company forum is for, raise it over there. You should try harder, be persistent, and your voice will be heard — it has happened before. But remember, you must support your request with facts with strong financial justifications. Any other issue? OK, the meeting is over.

**

The second one –

Support Engineer: We’ve had two similar outages earlier this year, after each Oracle told us to tune certain database parameters, but the system still went down the third time last week…

Manager (interrupted): Are they all performance issues?

Support Engineer: Yes, usually there are fewer than 250 concurrent users in our system, but somehow without an apparent reason it shot up to above 350 last week. Even though theoretically it shouldn’t pose as a threat as our Oracle license allows up to a few thousand concurrent sessions.

Manager: Taking vendor’s words seriously can hurt ourselves. If the problem is caused simply by concurrent web sessions, we can easily simulate the load and do the stress test — what tool do you use? I know this simple HTTP benchmarking utility from Apache foundation called ab. <switching to her terminal under Linux and starting to type the command>

ab -c 350 -t 60 http://uat_intranet.mycompany.com/

Manager: Enable your logging, I’m about to fire it up.

<a minute later>

Manager: OK, so it died. What does the log say?

Support Engineer: There isn’t anything definitive in the log…

Manager: Let’s try it again, this time with your profiler hooked up. We’ll see which is the part that cracks under pressure.

<another minute later>

Support Engineer: I think we’ve got something, it’s the database connection function that has stopped responding.

Manager: Good, do we have its source code?

Support Engineer: Unfortunately, no. It’s one of the proprietary functions from Oracle.

Manager: Contact Oracle support, tell them exactly what we’ve done and press them to provide an urgent fix. Then we’ll iterate the stress test over and over until our performance needs are satisfied, preferably even for the spikes.

Support Engineer: OK

Manager: In the mean time, is it possible to throttle the application server to redirect the excessive users to a temporary page with a simple “System under maximum load, please try again after a few minutes” message before the crashing point is reached?

Support Engineer: I’ll look into it.

Manager: BTW, is the hardware capacity adequate to support the projected growth for the next 12 months?

Support Engineer: I don’t think so. Our existing hardware is already under heavy load.

Manager: I can borrow larger irons to do capacity load tests, and we’ll request for new hardware once we have the data. Any other issue?

Support Engineer: None.

Manager: Let’s get going. Keep up the good work.

**

Note that no definitive solution to the problem is arrived at during either meeting.

And did I mention that one of them is a real life meeting that I have gone through today, guess which one? ;)