Google’s Developer Relations Vs. Microsoft’s Developer And Platform Evangelism

Category : Google, Microsoft, Opinion

It has been a year since I joined Google as a regional PM for Developer Relations. Looking back, it has been an amazing year – a rollercoaster of activities with startups, developers, and entrepreneurs worldwide.  Before Google I worked for a couple of years in  Microsoft’s Developer And Platform Evangelism -   It was a very interesting experience and I have learned a lot from these years at Microsoft.

It is time now to make the comparison very few people can make, speaking from personal experience - Google’s Developer Relations Vs. Microsoft’s Developer And Platform Evangelism:

 

Getting in – Interviews

Both Microsoft and Google have very strict vetting process and both rather miss a good candidate than let a bad one in. Both Microsoft and Google have between 6 and 12 interviews  assessing both technical and business abilities.

Still, it is harder to get into Google – In Google you are interviewed by your hiring manager, potential peers and all relevent interfaces. If one of them say “haaaa, I don’t know…” you will probably not getting the job, even if the hiring manager loves you. In Microsoft the hiring manager has much more influence, in my experience, to get someone in even if some of his interviews did not go perfectly. In Microsoft, I learned that one of my peers did not think I was the right person for the job (only after my first public session, he came by to say he though so before, and was proven wrong)  if this happened in Google, I wouldn’t have gotten the job.

Getting in – on-boarding

Both Microsoft and Google have a pretty solid on-boarding process.

Microsoft has tones of online mandatory courses you have to take in the first few weeks. Every course is interactive and at the end there is an online test. Most of the content is horribly boring – Policy, Products,  Sales, Internal systems. The tests at the end are super easy and you can take them as many times as you like… Not really challenging and rarely useful. The positive things I remember about my on-boarding at Microsoft was that I got flowers from the company a week before I joined, and that everything was ready and dandy when I came in.

Google on-boarding feels a little more like a startup. You get a lot of “Welcome to the team” emails, with funny and sometime internal jokes, that you only understand days after. You are called a “Nooglers” for the first few weeks – saying “Hi, I am Amir and I have a Noogler question” was very common for me in the first days. Most of the training is in classes and content varies –  some super interesting and super technical, and some less interesting like HR processes. No tests :) If you do not get it, you will soon find out when you start your job.

 

Managers

I had the pleasure to have great managers in Microsoft and in Google. Both were mentors and enablers in the best way possible. In Google there are things like non-managerial bonus – peers can give you bonuses and asses you as well. This helps employees to align strategies without the need of managers to intervene. Microsoft has peer evaluation but to a lesser extent.

Team

I had amazing teams both in Microsoft and in Google. The team spirit in Microsoft seems more conservative, if you have a great idea some people will first think if it is aligned with their targets before helping you.  From my experience, it is much easier to experiment in Google than it was in Microsoft – If you have a crazy idea, just do it, and people will help you. In general it is more common to experiment in my role in Google than in Microsoft.

Work load

I work harder in Google. We are a smaller team both locally and globally – you want to achieve  more with your resources so you work harder. I am not asked to work harder, my manager tells me to work less, but I just feel more productive and want to do more.

 

Sales Vs. Eng

Microsoft’s Developer And Platform is under sales – Google’s Developer Relations is under engineering. This is the most important differentiator in my experience. In Google I do not need to sell anything, I am totally aligned with the developers and startups I work and meet everyday. I do not think “what do I need to sell to them”,I do not have a quota, I do not have a number hanging over my head. This makes me very happy.

Being in Eng also means I am in the same group as the developers that write the code. It is much easier to open bugs, go to eng meetings or event call some one if you are in the same org as he is. Google Developer Relations has much more interactions with the product team than Microsoft Evangelists.

 

Centralised Vs. Distributed

Microsoft is very centralised and Google is very distributive by comparison. In Microsoft most decisions are made in Redmond. There is a concept of field and corp –  If you are in the field you need to execute, if you in the corp you need to build, design, and strategize.  In Google I am able to build and run a global program from a distributed office (Not in the USA). It is super common in Google to go into any office, anywhere in the world and sit at a free desk and start to work. You feel at home anywhere in the world. Microsoft gives Corp people a company credit card – Google gives a company credit card to anyone in the company, no matter where they are.

Flying arrangement in Microsoft are every ordered and arranged by internal team – in google you need to buy your own ticket and book your own hotel – this takes time to adjust :)

 

Bottom line

Both companies are amazing – both have changed the world and the way we live. Working for both companies was an honor and a privilege. I am happy I have worked in Microsoft, and super happy I was asked to move to Google. At the end of the day, I feel more creative and empowered at Google. It is more challenging, exciting, and fun to work with startups, which are the bread and butter of Google, rather than enterprises which are the bread and butter of Microsoft.

 

All this comes from my personal experience and might not be true in general or for other people. This reflects my personal opinion and not any company or organisation. Everything I covered is public information that can be found in other resources on the web. No secrets, just my truth :)

The World First Ever HTML5 Advertisement

Category : Google, HTML5, Open source, web

We all love new technology, its event better when it is open and standard. But getting your feet wet and actually using the new technology? and in production? and where there is money involved? that is totally a different matter…

Last week I started advertising a big developer event we are holding in November – a countdown clock that counts the seconds till Google Developer Day . We considered a Flash ad like we are all used to, but our marketing team though it would be cool to have HTML5 ad…

I am a little a shamed to say that at first I objected, saying that HTML5 is still not fully supported by all browsers. After much deliberation we decided it was worth the extra budget to serve HTML5 for browsers that support it and Flash Ad to deprecated browsers. The reports from the publisher is that this HTML5 ad beats all Flash ads CTR. This is something worth investigating – is HTML5 ads perform better than Flash ads?

So get ready – Here is the first world HTML5 ad (click to enlarge) -

For the next few days you would be able to view it (with Firefox and Chrome) here.

Finally I Have a Budget to Support Open Source

Category : Google, Open source

I have been an Open Source enthusiast for a very long time. I have written several open source projects, and although I have yet to find a perfect open source revenue model, I still contribute and enjoy the ride.

I think that open source, even if still not fully main stream, constantly improves our lives, even for those of us who are not a tech-geek like me.

Now things are radically different, it is now part of my job to support and ensure the success of open source in my region. Now I finally have some budget to do what I love and believe in.

Last week was my first (and very humble) contribution in August penguin, a local open source event. The organizers did not want us to officially sponsor the event but agreed that I bring food :)

So here it starts, my first monetary contribution to  an open source initiatives. I hope and plan to support multiple events and projects in order to drive a more open future.

Voice Recognition API in Android Apps Using RecognizerIntent

Category : Android, Google, Java, Open source, Software development

Voice interface is not a common application user interface, we do not usually interact with application using voice. But when it comes to mobile it makes more sense.
We are used to talk to a phone all day – why not talk to our phone apps?
Not all voice interaction should look like this video:


Here is how you use Android Voice Recognition API:

  1. Call the RecognizerIntent  - your application call the Voice recognition Intent that records the voice.
  2. Intent processes the voice recording – sends it to the voice Recognition Service and returns
  3. A list of string is passed to an implemented callback method in you application
  4. You process the string and continue the interaction with the user

Here is a simple call to the intent:

     /**
     * Fire an intent to start the speech recognition activity.
     */
    private void startVoiceRecognitionActivity() {
        Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
        intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
                RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
        intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Speech recognition demo");
        startActivityForResult(intent, VOICE_RECOGNITION_REQUEST_CODE);
    }


And here is the callback:

      /**
     * Handle the results from the recognition activity.
     */
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == VOICE_RECOGNITION_REQUEST_CODE && resultCode == RESULT_OK) {
            // Fill the list view with the strings the recognizer thought it could have heard
            ArrayList matches = data.getStringArrayListExtra(
                    RecognizerIntent.EXTRA_RESULTS);   

          //DO SOMETHING WITH THE MATCHES

        super.onActivityResult(requestCode, resultCode, data);
    }

Here is a full code sample – I played with it today and will very little effort created a Pizza ordering application for my next demo session.

Leaving Microsoft and Joining Google

5

Category : Best practices, Google, Microsoft, Open source

I try to talk about myself as little as possible in this blog, but this is a personal post – so if you are looking for a tech-post, wait for next week.

In the last 5 years I have worked for Microsoft in several positions and done a lot of exciting things – presenting at events, doing business development with Startups, and doing technical sessions for developers and architects all the way to managing the sales of Microsoft Cloud Platform, Azure, in Middle East and Africa.

Lately, I have been approached by Google to do a very exciting role of a Developer Relationship Manager – working with developers, startups and enterprises. Last week, I have decided to accept the offer!

Working for Microsoft has been a great learning experience –big corporate mentality, cross group work, presentation skills, breath of technologies, as well as sales management and processes. Having said that, being an open source guy at heart and working for Microsoft was always challenging – I tried to compensate by collaborating with SUN and the open source community and even presented in their events and invested in joined effort, but in general people around me were not as enthusiastic about openness and free software as I was (what great surprise there!!) so I always felt a little like Dr Jackal and mister Hyde.

In my new role in Google, driving open source projects and FOSS development will be an integral part of my job description. This brings me great childlike joy and excitement, something we tend to forget or loss along the way in the high-tech business.