Is Google Becoming the Next Microsoft?

I found a reference to an article entitled Relax, Bill Gates; It’s Google’s Turn as the Villain in the New York Times and found it really interesting how quickly the attitudes towards a company can turn in this industry.

I am actually quite fascinated by Google. I am amazed at how quickly they have grown and how they have managed to bake intense innovation into their culture. The releases of their mail, mapping, and continued improvements to their search engine, along with their quick integration of Ajax technology into their tools have made me quite curious as to how a company can move so quickly to create such useful software. I am more curious with how they have created an environment in which people clamor to work for more than I would be irritated that they are “hoarding all of the top engineers in the industry”. Of course they are! Who among us wouldn’t choose to work for a company built around software development as a driver of innovation rather than a nuisance that has to be dealt with in order to get product to sell?

One comparison I found really interesting in the article was the following:

To place Google in context, Mr. Kraus offered a brief history lesson. In the 1990’s, he said, I.B.M. was widely perceived in Silicon Valley as a “gentle giant” that was easy to partner with while Microsoft was perceived as an “extraordinarily fearsome, competitive company wanting to be in as many businesses as possible and with the engineering talent capable of implementing effectively anything.”

Now, in the view of Mr. Kraus, “Microsoft is becoming I.B.M. and Google is becoming Microsoft.” Mr. Kraus is the chief executive and a founder of JotSpot, a Silicon Valley start-up hoping to sell blogging and other self-publishing tools to corporations.

This is an interesting thought. There may very well be a “passing of the torch” happening right before our eyes.

I think that building a company to which Bill Gates would refer to as “more like us than anyone else we have ever competed with” is one of the highest compliments a technology company can receive. Its a small wonder that Google can recruit the talent it can recruit. Doesn’t everyone want to work for a company of that calibre?

I guess when it comes right down to it, I’m glad a company came around to give Microsoft a run for it’s money. Microsoft has always been heralded as a company that built an environment in which developers can prosper. As a matter of fact, they are the only company I’ve ever heard of that have that distinction as much as Microsoft has historically had. I think, from a development perspective, that its great that another company has been able to take that attitude and run with it — and show obvious success because of it.

In closing, take a look at the Google Jobs page and read the section entitled “The engineer’s life at Google”. Once your done there, head over to the Google Blog and read some of the entries there like “Don’t knock opportunity” by Reza Behforooz. Finally, take a look at the “Ten Things Google Has Found To Be True“.

I’ve said many times that I thought that “Revenue is a by-product of doing the right things for your customers”. I actually have to augment that by saying “Revenue is a by-product of doing the right things for your customers and employees” (while I’m augmenting the verbal statement, my hope is that the people who report to me have actually seen this behavior demonstrated in how I try to lead them). It was encouraging to see both of these sentiments summed up in Googles “ten things“.

I would spend more time wondering why we didn’t see these principles sooner (or figuring out how to instill these values into our current companies) rather than complaining about how Google gets all of the good engineers.

But that’s just me.

Those Freakonomics Guys Guest Blog on Google

While browsing the Google Blog yesterday I ran across a post written by Steven D. Levitt and Stephen J. Dubner of Freakonomics fame about a presentation they gave for Google.

The thing that struck me most was the description of the Google environment. Aside from the actual description of the buildings at the beginning of the post, the following section really hit me as something worth noting:

After our talk, we spent a few minutes hanging around with miscellaneous Googlers. This was the most impressive slice of the day; not only were they all smart and inquisitive and friendly, but they were so damn happy. For instance, there’s surely no company in the world where so many employees wear t-shirts with their company logo, which we took to be a sign of deep pride (or perhaps simply a deep discount).

It struck me (and I guess given the bloggers identity that it might be helpful to find the data and look at it) that one of the reasons they don’t see more employees wearing t-shirts with their company logos is that many companies are still in the mindset in which their self-importance push dress codes on their employees in which t-shirts aren’t even part of the dress code. I think the value that a casual dress code brings to those who do not necessarily have physical customer contact is note quite what companies think it is. What it normally does for those people who have no customer or vendor contact is irritate them, which in turn, has a negative effect on morale of the departments rather than the expected behavior of “causing employees to act more professional”.

Some of the most energetic IT shops I’ve worked in have had casual dress codes and have been run like small, independent companies. The casual dress code changes peoples attitudes for the better, in my opinion, because it removes the possibility that you are being judged by how you dress and more for what you DO, which is the most important part of our industry anyway.

Just one more example of how Google “gets it”. It’s must be pretty damn cool to have the Freakonomics guys think that the most “impressive slice of their day” was hanging out with a group of employees that seemed invested (in the emotional sense), happy, and proud and know it was your company they were talking about.

“Fly” to Randy Rhoads Grave Site on Google Earth

Jonna had mentioned to me the other day that the beta for Google Earth was over and that you could now download the application. I had tried to grab it during the initial beta, but was not allowed to download it.

Well, I finally got a copy of it, and have been playing with it for a bit this morning. One of the first things I wanted to do (aside from the normal “Hey I can see my house from here” exercises) was find the Randy Rhoads grave site on it, with the directions that Jonna had gotten Tom the Architect and I when we were in California.

Typing in the address didn’t quite do it, which I’m finding quite a bit on Google Maps and Google Earth. In each, typing my home address puts me down the street a ways. Luckily, the pictures of our neighborhood are recent enough that our fences are visible in order to identify the house.

Anyway, I did some “flying around” San Bernardino and I think I found the actual location and marked it. So, if you’ve got the application installed, go to Randy Rhoads Grave on Google Earth. If you do not have it installed yet, go get it. It’s quite fun to play around with and adds a whole new dimension to mapping.

Additionally, some quick Googling around got me to a place where someone has done the work to find the Bruce Lee grave site as well. The actual Keyhole placemark can be found at this link directly, but I would recommend reading the whole posting. It’s pretty cool and has a Quicktime VM look around the grave site included as well.

Application Level Reuse and Google Maps

I found this, once again, on kottke.org. Someone has used Google Maps to map out the casualties of the Iraq War. Each click on the (+) on the left of the screen shows 30 more casualties.

I think the reason I find this so cool is not because of what this application is mapping out (which is cool — don’t get me wrong), but the fact that it was able to be written at all. Software written this way leverages the Wisdom of Crowds concept, allowing software to be written that the original authors had no idea would be an application of the technology they were creating at the time.

More than even that though, we are seeing a lot of what I call “application level reuse”. The distributed nature of Internet applications such as Google Maps allows the application to be used as a subset of a completely different application that serves a specific, specialized purpose. Applications can be written stringing together multiple applications like this, creating something brand new and extremely useful.

I think corporate IT shops, in most instances, aren’t getting the concept. They continue to write software in a very closed, monolithic fashion, that force their view of the world on their customers and do not allow that view to change — unless they agree and make the change themselves, increasing their development costs.

Amazon.com is another company that gets the concept. All patent issues aside, they were the first company that I remember that created a service oriented API to their application that allowed their customers to actually build their own store fronts if they wanted to. These APIs were used in ways Amazon wouldn’t even have thought of. The Amazon plugin for WordPress I use on the site is a really good example of this.

I think the world has already turned to this model of development and big corporations are missing it. Hell, even SAP, one of the most monolithic software applications in the world right now is getting it. The time has come where your customers want to use your software to make their own models of the world, that are specific to them. They want you to be transparent. They do not want your branding, they want the services you provide. Your branding has a place, but not everywhere.

I believe that customers are moving to the point where they just don’t want you to intrude on them. They want you to be invisible. Being able to integrate your software into theirs in a service-oriented fashion allows you to be invisible and to be integrated into the world they actually work in, rather than the world you think they live in (or worse, making them change worlds to work with you). The more you increase your transparency, the more you can be integrated. The more you are integrated, the more invisible you become. Pretty soon, you are used by default because you are part of your customers world , rather than a vendor that must be dealt with in an additional context shift.

Now, the problem with a paradigm shift like this is that it doesn’t come for free. Employees and business users have to be taught to think this way. Software has to be redesigned with this paradigm in mind. It’s not cheap — but I’m willing to bet its a lot more rewarding, from both a financial perspective, and a customer satisfaction perspective. Once the shift happens, you can stop worrying about “features and functionality” for the customer and start thinking about services the customers can use to make their own “features and functionality”. You can start focusing on the core services you provide.

The additional advantage is if you develop these services with customer use in mind, you can use them too. You can leverage the same services your customers use to constitute new functionality in your software. This also, can decrease your development costs.

This is how I see the world. But then again, who am I? I could be wrong. I doubt it, but I guess it’s possible.

Googles Summer of Code

It’s June and school is out. Every morning I’m watching the boys not get ready for school and have to admit I’m a little jealous. I think when we were younger we really took for granted the idea of summer vacation and I really miss it a lot.

Now, watching the boys sleep late and watch cartoons in the morning instead of rushing around to get to school apparently isn’t enough. Google also launched their Summer Of Code program at the end of May, an effort in which students on summer vacation can earn money by contributing to Open Source projects.

I think this is a really great thing for Google to do, and boy do I wish there was a Google around when I was a kid and had the whole summer to spend familiarizing myself and contributing to an Open Source project and being able to feel like I made a difference. What a great opportunity to do something great for the summer.

This is yet another example, in my opinion, of what a great company and contributor Google is. They could just be sitting back and doing what they do, but they choose to give back to the community by contributing money and time to help build the next generation of Open Source developers.

Back in the ‘old’ days, I had my pet projects that I did. Shareware programs that I created that I didn’t make money on (and never cared if I did), projects to add functionality to friends bulletin board systems, and things like that. All done for free and with no expectation of being paid. I did it for the sheer satisfaction of being done and knowing that I contributed something if someone happened to send me an email or the program was included in a freeware/shareware catalog or even reviewed by an independent shareware reviewer. Man, that was great.

Sometimes I really miss that. There’s nothing like coding for the sheer pleasure of it and working on something you are passionate about just because you are passionate about it — and being able to release it for others to use.

I hope a lot of kids take advantage of this opportunity. Once programming becomes a job, sometimes you have to work on things you just don’t care about, or you put extra hours in just to get something done that you don’t see the importance in doing. Sometimes you have to put everything you have into something you absolutely don’t believe in.

This is a great time in your life when you actually have the time and the opportunity to make a difference, no matter how small — and its a time you’ll never get back.

And this time you can get paid for it.

As for me, I will just continue to spend my free time trying to plug through Negotiating Skills for Managers and wishing I could join you.

Google Does it Again with Google Mail

I received an invitation to the Beta of Google Mail from Tom the Architect a few weeks ago and finally over the last couple of days decided to activate my account. I really like the service. As a matter of fact, I like it so much I’ve configured my main account to forward all mail over to it and it has become my primary mail application, even though I tend to have control issues around things having to run in my house.

The user interface is great. Of course the first thing you will want to do is create folders in which to organize your mail. Google Mail doesn’t have them. What it uses instead are what they call labels. Labels are essentially the same things as “tags” that you find on sites like Flickr and del.icio.us. While I like the idea of tagging on email, and think its a killer feature, I still miss being able to move things out of the way and just look at stuff that is in my inbox that is not categorized. Since I subscribe to a number of email lists for software like Subversion and CruiseControl, my inbox tends to get a little cluttered. While I can automatically filter email to assign labels based on who its from, who it’s to, and subject content, and can display only those emails with a given tag, I still cannot find a way to view email that has no tag.

The user interface is based almost entirely on Ajax technology, which gives the site a very “thick client” feel, without all of the weight. Your inbox even automatically refreshes every now and again, which at first is quite surprising, and really convenient.

And of course, you get full Google search capabilities for your whole inbox. Enough said.

Google has definitely set the standard for web mail applications with the Beta of Google Mail. I’m extremely impressed. Each time they come up with something, my life is a little more dependent on them. First there was web search, then news groups, then news aggregation, THEN maps and now email.

I can’t wait to see whats next.