Why Google Cares About Developers

A couple of folks have pointed out that I haven’t blog a bunch since I joined Google.  Rest assured I have not lost my passion for blogging nor does Google frown on blogging by its employees (quite the opposite in fact).    I have been spending the time getting my head around Google.  I am far from figuring out Google, but I think I have figured it out enough to get started sharing my learnings with you and get your feedback and thoughts.
My first mission at Google (after figuring out the gourmet free food of course) was to ask why Google cares about developers.   This needed to be done as some of my friends accused me of going to work for an advertising company after all (they work wrong, Google is a computer science company, but that is for another blog post).

Google cares about developers for one reason: To make web applications better.   Historically, culturally, spiritually and financially Google cares deeply about the web.   Google participates in a virtuous cycle with the web.  The more the web gets better, the better that makes Google, which causes the web to get better.   Clearly this is true in the search and ads space, but it is equally true of our developer assets.  All of our developer assets are in one way or another targeted at making web applications better, which in turn makes the web better.   If Google offers simple, scalable cloud hosting, easy Ajax development tools, great web APIs, the resulting applications will be better and that will make the web better.

As I think about the very broad developer assets google is bringing to bare to make the web better there are four areas that I think are meaningful to look at.

Web Platform

Chrome and the V8 JavaScript engine were built to be a headpin for emerging web standards such as HTML5.  A fast browser that we can use to implement the latest thinking on how the web can get better in the fervent hope that other browser vendors will follow.
But it doesn’t stop there, the royalty free WebM Video format and the Make the Web Faster initiative are other examples of where Google is working to make the web platform better.
Check out the Chrome Developer Tools that let you edit, debug, and monitor CSS, HTML, and JavaScript live in any web page and Speed Tracer which is a Chrome extension that helps you understand where every millisecond of execution time is going in your  AJAX applications.

Web APIs

The web is becoming programmable.  Google is offering very interesting set of services that let you harness its tremendous infrastructure for everything from human language translation to blog feeds.  Check out the Google Code Playground to see the full list and play with live code examples right from your browser.  Here is a scenario I thought was interesting…

You could use the Buzz firehouse API to find conversations about your product on the Web, load them into Google Storage, do advanced queries across the entire dataset with BigQuery,  do sentiment analysis with the Google Prediction APIs, use the Translate API to get them all to your native language and expose them as a feed so anyone can access them easily.
The set of scenarios and combinations is enumerable…  I bet you can come up with a better one!

Hosting

As interesting as the web APIs are, you of course need to write your own application logic as well.  Setting up your own server on the Internet is too complex for most of us and many hosting companies are too expense when you just getting started on a side project.   Google offers AppEngine which makes it easy to build, maintain and scale your application.   You build your app and Google handles all the plumbing work.  We run the application in our data centers so you don’t need to have someone on “pager-duty” to keep a watch on the servers and they can scale almost limitlessly on a moments notice when your side project hits it big.  And the best part — you pay for only what you need and it is free to get started.  There is no base cost, you pay only when your app is working.

Tools

Great engineers use great tools and Google offers some of the best tools to help you build better web applications.

The Google Web Toolkit (produced “gwit” by many Googlers) lets you write complex Ajax applications in Java and compile them to JavaScript that works on any browser.   Recently with our partnership with VMware Springsource you can use the very popular enterprise java framework Spring to build the back-end of your application and get great portability that works on premises, on AppEngine or many other hosting providers.

Closure offers (among other things) an optimizing JavaScript compiler.  It takes as input JavaScript and uses common compiler techniques such as dead code removal,  identifier renaming to greatly reduce the size of your javascript which improves the latency of your Ajax apps.  You can even use the hosted version of the compiler.

Of course you need somewhere to store all that great source code, track issues, document and share releases. And what better place than the Cloud!  Google offers free Project Hosting for open-source projects.

And more to come…

Google has a passion and history for rapid innovation and the developer space is no exception.   There are more exciting things to come.   It is a great time to be a web developer!

That is my learnings so far about Google and the developer space.. I hope they were valuable to you.   I’d love to hear your commentsthoughts and feedback.

15 thoughts on “Why Google Cares About Developers

  1. Pingback: Dew Drop – Weekend Edition – July 31-August 1, 2010 | Alvin Ashcraft's Morning Dew

  2. Pingback: Did Google Blow It with the Google News Redesign? | Hide Your IP Address

  3. Shawn Wildermuth

    I think the idea that Google cares about developers is misleading. Google cares about Google and getting developers in the mix helps Google achieve it’s goals (same for your last company by the way).

    I take issue with Google tries to spin their ‘caring’ as some type of altruistic effort to make the place a better world by improving the web. Google comes off as some sort of big brother who can be trusted with information we would normally not trust others with. This is what I think pushes the idea of data collection from Google (whether intentional or not) as leaving from that ideal. Certainly thier barking the “do no evil” slogan hasn’t helped that cause either.

    For me Google does care about developers, but only as it aids their needs (much like MS). When we (outside of Google) lose sight of that it makes it a dangerous place.

    I am happy to be a customer of Google and after how i’ve seen Apple treat its developers, I think Google is a good citizen, its just the motives that I think are portrayed accurately everywhere (though you’re treatment of them here seems pretty balanced).

    1. Brad Abrams Post author

      Yes, for sure you are right — Google cares about making the web better for business reasons.. and developers (of course) help the web be better. When I joined google I pushed this angle a lot… effectively: “We should care about developers because they help our business is XY and Z ways”… While that worked for some Googlers, for many, many others making the web better has some intrinsic value.

      So while the financial motivation for google to care about developers is very real, the spiritual, historical and cultural motivation to make the web better are important to understand as well.

  4. Pingback: Tweets that mention Why Google Cares About Developers · Brad Abrams -- Topsy.com

  5. John Mitas

    Hi Brad,

    I honestly can’t wait to see what changes you help implement over there at Google.

    Firstly I’m an MS developer (.net,silverlight,wpf,asp.net) BUT i also began my life as a traditional HTML/JS programmer.

    I am a very open person that is very well aware that all languages should be able to thrive and that there is no place for technology bashing.

    Saying that, when someone mentions Google development, the first thing that pops in my head is a bunch of stodgy programmers that hate all things MS and look down on non-open languages. The perception, for me atleast, is that building with google products is saying that your against the MS/Apple way of doing things.

    I really hope you can help change that over there in google land, hopefully you can help Google become more friendly to MS technologies? Maybe get them to acknowledge that MS .NET developers are also part of this open web and that they should extend there Google sdk’s/tooling to the MS dev tools (like extensions in VS, some azure integration loving possibly, maybe some sdks for office intg with google products)..

    Currently i stick clear of Google products purely because i feel like they treat us as outcasts and enimies. BUT in reality i would love to use there products if they made the effort to MS enable there technologies..

    So untill Google makes the first step and starts making there products more friendly to MS dev products I’m staying over here and I’ll continue to view Google as the angry evangelists for the
    “Google” right-way of doing things.

  6. Phil

    I agree with John – this is roughly the feeling I’ve been getting while attending local Google coding events. If you don’t do Java, if you don’t do Eclipse, if you dare to mention the whole .NET thing then, well, you get the looks.
    In the end it all comes down to “personal investment”. If I spent 10+ years using MS technologies, I don’t want to be told I suck and be asked to change.

    I wish Google acknowledged there are .NET devs out there. C# is a great language, there are great concepts, tooling and projects. What could Google do? Maybe an official .NET-based Android API? That would be sweet =)

    I hope you help change the way things are done.

  7. Daniel Lewis

    There seems to be some debate from Phil and John above about .Net on Android. It’s a very strange concept because Android is a Java System, to say “I want Android to support .NET” is a bit like saying “I want France to start speaking English” (or vice-versa)…. just doesn’t make sense. Its a new technology, with all new technologies we have to do some learning.

    There is, of course, the ability to run some “.NET languages” not through the .NET virtual machine but through the Java Virtual Machine… which would mean that Android could possibly run C# programs (for instance). All you’d need is a C# to Java Virtual Machine compiler, and a set of APIs for interacting with Android (which in some cases can still be in Java – there are some C# JVM compilers out there). But once again, that’s new technology, and you’d have to do some learning. Just remember the days when people had to code everything in Machine Code, which was very closely coupled with hardware, and be thankful!

    Oh, I also agree with Shawn – who mentions that Google does care a lot about its developers in comparison to Apple. Apple used to be amazing, but they’ve really gone down hill recently, it is a shame (but bizarrely they’ve got more popular! Odd!).

    Anyways, I like Googles code efforts. They aren’t the be-all-and-end-all for me, as I use a lot of other technologies. It’s all a breeze when you’re willing to learn, and you kind of get to a stage where you can pick things up quite quickly. For instance theres not much difference between .NET and JVM, between C# and Java, between VisualBASIC/ASP and Ruby/Python, HTML5 and XHTML.

  8. Alberto Chvaicer

    Very good points.

    Google has a lot of influence on development history, of course.

    But is still an advertisement company.
    Advertising is the way that Google earn money.

    It’s like Coca-Cola. It’s more about ad than soda.

    But what is the problem to assume that you are working on ones of the best advertisement companies now a days?

  9. fashai(fazal)

    Way to go Brad.you r just brilliant.Now tht u have started blogging..just keep them coming..and a Happy Friendship Day.hope some friendship blossoms between google developers and MS devs.after all they are all developers with common goal and u can play a part in taking message on both ends..welcome blogging…

  10. Aaron

    Although I’ll miss seeing you at the various Microsoft events Brad, it’s great that you took a chance to see what else is out there besides “Microsoft.” Don’t get lost in the shuffle at Google.

    I’m happy that Google provides some developer tools, source code, APIs, etc. for *free.* Google isn’t obligated and I encourage them to continue to do so.

    I too would love to see Google adopt C# more, even if it were via Mono. Even better would be Silverlight! (Although with the recent Flash adoption on Android phones, this seems very unlikely).

  11. Thomas Zeman

    Hi there,

    would be nice to know more about how google cares about developers ‘internally’. In a sense of:

    - Why do google employees believe in their products?
    - How does google ensure that available qualifications are superb?
    - How are you motivated to deliver best work only?

    I have the feeling that those things make google and apple distinct from others in the industry at the moment.

  12. Jon Davix

    >>
    I too would love to see Google adopt C# more, even if it were via Mono. Even better would be Silverlight! (Although with the recent Flash adoption on Android phones, this seems very unlikely).
    <<

    Why? Silverlight was created for a Flash-oriented world, for developers to build Flash-like solutions on the .NET platform. The fact that Android runs Flash says to me, "Android has proven itself a scalable client platform enough to be able to run certain browser plug-ins, namely Flash. This means that it is capable, pending a business decision and a little bit of technical shoehorning, of running other plug-ins such as Silverlight." And with Brad there, it just might happen.