Why I hope Google’s Chrome OS is a failure

Let me get this out of the way first. I have nothing but admiration for Google and everything they have done including being the first company to put Microsoft on their heels in 20 years. I deeply hope that Google continues to succeed as a company and am desperately rooting for Chrome (the browser) to unseat Internet Explorer as the most used browser on the net.  I just don’t want to see Google extend their dominance of the Internet realms back down to the desktop on the back of their upcoming Chrome OS.

My feelings on this aren’t about being a MS fan-boy, or platform snob. In fact, I could care less if some upstart OS catches Microsoft napping and steals their market share on the desktop. That said, I’m not an Microsoft hater either, I have no interest in Microsoft giving up the ghost unless something clearly superior as determined by customer preferences replaces it. Note that I said customer preference and not an esoteric sense of technical superiority unless it directly contributes to productivity or aesthetic appeal.

A Tale of Two Monopolies

Economists, the DOJ, Larry Ellison, and knights of the platform wars can argue all day long about whether Microsoft and Google are monopolies or just NEAR monopolies. However, few would argue that these companies aren’t dominating their respective corners of modern computing.

This is the basis for my fear of Google getting too much traction on the desktop. In a nutshell, having two monopolies is better having one super monopoly. Occasional encroachments into each other’s space, for example Chrome OS or MS Bing, aren’t likely to make large inroads, but offer just enough of a threat of competition to subdue the urge towards any laurel-resting and provide competitive incentive to continue innovating.

 I know what you are thinking. “But Google is a GOOD monopoly! They are the Glinda to Microsoft’s Wicked witch of the west.”

Sure Google started out with good intentions and even a corporate mantra “Do no evil“, but even MS started out as a bunch of quirky upstartswho would unseat the unpopular giant monopoly of the day (IBM). Inevitably companies grow to a size where they have to hire marketing departments and become bureaucratic to keep the shareholders happy with continual growth. Face it, we all know that power corrupts and that’s why we have anti-trust laws. Google is already showing signs of slippage against their lofty ideals in their acquiescence to the greatest anathema known to the Internet, censorship.

 The Ideal Number of Monopolies

Maybe I’ve won some of you over with this argument, maybe not.  At least a few of you are undoubtedly of the opinion that I’m not going far enough. “There should be NO monopolies! Peace, Love, Dove, and OSS all the way, man!”

This is where I get off the VW bus. As controversial as it may be, I believe there should be exactly three dominant near-monopoly players associated with computing as follows.

  1. Desktop/Server OS
  2. Web Browser / Internet Search
  3. Desktop Applications

 Some level of dominance by a few players in an industry short of a full-on monopoly (Old School AT&T) is good because of the coalescence effect on technology. More specifically, it lets hardware and software developers stop futzing around with low-level issues like platform compliance with 20 different operating systems and frees up hands to work on more innovative pursuits that frankly are more interesting to work on and provide more incremental value to end-users.

Those you who remember writing software with preference menus in their applications to let the user specify which of the dozen or so popular graphics cards their particular 80286 PC had installed know exactly what I am talking about.  Those who are too young, it was very similar to the pains we now suffer for cross-browser compatibility except with 5 different vendors who had the hardware equivalent of IE 6.

Windows, with its hardware abstraction and dominant market share, we suffer the lock-in effect, but should also appreciate how much drudgery it has eliminated for both the user and the programmer.

Technology monolpolies also serve to prevent the market from getting too diluted and consequently waste the collective efforts of programmers on duplicating existing work. For example if the OS market were widely distributed over 20-30 incompatible platforms, you’d have a lot of work going into writing platform specific word processors instead of improving them on the relatively few OS archetypes that enjoy non-trivial market share.

The Bigger Picture

In the end, I’m not so much talking solely about corporate monopolies/dominance, but dominance of particular technology standards. I’ll leave you with two final hypotheticals to ponder.

Quandary 1:If each of the popular browsers had implemented their own preferred scripting language, even if each used an well established technology (VBScript for IE, Perl for Opera, JavaScript for Firefox, Python for Safari, etc.) would AJAX have emerged to prominence so easily?

Quandary 2: Before the Apple released the I-phone, and despite standards like WML, would the vibrant market of mobile device content and applications have ever gained significant momentum?

Discuss amongst yourselves….

Why “I’d just Google it” is not an acceptable interview answer

Going out on a limb

In my previous article, The Code Sample, I ruffled the feathers of a few readers who objected to my implication that  “I’d just Google it” is not an acceptable answer during the technical part of an interview. To be fair, the derisive sentiment in that post was directed specifically at interviewees who abusively name drop about Google to dodge answering any technical questions.

…candidate that thinks “I’d just Google it.” is an acceptable answer to any technical interview question…

Still, I am going to tempt fate and take it one step further by and say that it is almost never a good idea to use this “phone-a-friend” lifeline in a real interview.

Let me explain by addressing the obvious objections to the premise.

Objection: I’ll be able to Google things on the job. It’s unrealistic to test me in a hypothetical Google-free universe.

It’s true that everyone expects that you will need to look things up to do your job, and  that it completely unreasonable to expect a programmer to have an encyclopedic knowledge of every aspect of even their best tool.

Here’s the rub. You are at an interview, not working at the job. On the job, the goal is to solve problems and get things done using any tool at your disposal. At the interview, the goal is to demonstrate why they should hire you instead of one of the other candidates who also have access to Google.

A job interview is a competition, not a pass-fail test.

The REAL hypothetical universe is the one where a job is filled by an interviewer talking to single candidate then making a decision based on whether that person can do the job or not.

Objection: What about Interviewers who ask hyper-specific technical questions?

Look, we all hate these types of questions. I’d even argue that many interviewers use them more to prove how smart they are rather than to evaluate the candidate (even though they probably Googled both the question AND answer).

As an early weed-out tactic, I really hate these types of questions. Sometimes, however, an interviewer faced with 20 candidates of which 15 could competently perform the duties of the job just needs a final jeopardy tie-breaker round when the race is too close to call.

I know this may spark a debate about how unfair  these questions are, but try to be pragmatic. The only agenda you should bring to the interview is closing the deal, not changing the way the interviewer thinks or conducts their business.

If you are really determined to make a difference, discuss the interviewing tactics with them AFTER  you have secured the job and have been working there a while. They are more likely to be open to your input when you aren’t in a position to directly benefit from them accepting it.

Sometimes “I’d Google it” is an immediate fail.

There are times when this response is going to pretty much end the interview as demonstrated in this example lifted from TheDailyWTF.Com.

Q:  What is a class?
A: I do not know, but I would look it up.

Q: Okaaay,  moving on to another question. What is a SQL join?
A: I do not know, but I would look it up.

Almost every question we asked yielded the same response.

This is a funny example, but I have heard very similar responses from  real candidates who actually proposed in response to situational questions that they’d Google things like “How to optimize code” and “how to normalize a database.”  I could probably be convinced to soften my position on technical trivia, but never-ever-ever invoke Google on a situational or general approach type question.

In fact, it is arguably better to wing it than admit ignorance on a question like this. You are probably dead meat if you can’t answer the situational questions anyway,  so you might as well go down fighting.

 

If you ignore my advice, at least understand this

I’ll concede that invoking Google in an interview is rarely a deal-killer on technical questions when I do interviews, especially if several candidates can’t answer the same question and lead me to suspect the question might be too trivial to be fair game. It is also very uncommon for me to make a decision on a candidate based on a single technical question.

That said, don’t delude yourself into thinking that you actually answered the question when you appeal to Google.  Whether you like it or not, the the interviewer is thinking one of two things:

“I’d Just Google it.” == “I don’t Know.”

Or worse…

“I’d Just Google it.” == “I don’t Know, and I’m not willing to admit it.”

The second inference is much more damaging to your chances.  It is probably safer just to say “I don’t know,” because you are in effect saying it anyway. That is, unless you imagine the interviewer doesn’t think you are aware of Google. If that is the case you’ve got bigger problems.