Laurence Moroney

06

If you come with honesty and talk with technical authority, instead of being just a corporate mouthpiece, smart developers will see that.

Laurence Moroney

Introducing Laurence Moroney

Laurence Moroney has been a developer advocate for over a decade and currently works at Google. Laurence is especially an advocate for TensorFlow and the possibilities of artificial intelligence (AI), and finds himself speaking to the non-tech world about AI every bit as much as the developer community. His YouTube interview show Coffee with a Googler helps developers and fans alike to put a human face on the roles inside a big tech company, and his many published works include The Definitive Guide to Firebase. Find Laurence on Twitter: @lmoroney.

Geertjan Wielenga: Could you provide some background about where you're from and what you do?

Laurence Moroney: I'm based in the Seattle area of the U.S. and I'm a developer advocate at Google. I work for Google AI (Google Brain) as a developer advocate for TensorFlow. My background is that I'm actually European. I grew up between Wales and Ireland, and I emigrated to the U.S. 23 years ago.

I discovered the role of developer advocacy while I was here in the U.S. I've worked as a developer advocate for three companies. The first company was a start-up called Mainsoft, the second was Microsoft, and the third is now Google.

How I landed in the developer advocacy field was that I worked for the chief technology officer (CTO) at Reuters and our job was building prototypes. We were kicking the tires of new tech and then advocating that inside the enterprise. That turned into a full career in advocacy.

With the official title "advocate" I've been doing this since about 2005, so, 14 years. I think I was one of the early ones.

Geertjan Wielenga: Let's first talk evangelism versus advocacy. Do you think this is a relevant discussion? Is there a difference?

The importance of job titles

Laurence Moroney: I don't think, ultimately, there is a difference, unless you really think about semantics. I'll give two reasons why I prefer using "advocate" over "evangelist." Firstly, evangelism gives the impression that it's a one-way street. You're saying, "I'm here to tell you the good news." That's literally the definition.

To be the best evangelist or the best advocate, there needs to be a two-way street. I advocate our tech to developers and I advocate developers' needs to our engineering people and to our product managers. As a result, I think "advocate" is a much better description.

The second reason is that Microsoft, when I worked there, used to call the role "evangelist." Nowadays, the role is called "advocate" at Microsoft. One of the things that I did at Microsoft was I trained and equipped what we called "field evangelists." I was based in the headquarters in Seattle, but we had different people in different parts of the world who were evangelists for Microsoft.

There was one young man in Southern Asia who I was helping to train as an evangelist and he traveled to a Muslim country.

When asked at the border what his job was, he said he was an evangelist and he got detained! I got a call from the border security at this country asking to verify that he really meant he talked about tech and not religion. I think that was one of the signals to maybe change the title!

Geertjan Wielenga: How do you train evangelists?

Laurence Moroney: I can talk about what I did in the past and what I do now. In a big company like Microsoft, people work in the field in regional offices, such as Singapore, Tokyo, or London. The evangelism had to be multidisciplinary for those people; they had to be able to evangelize multiple types of tech, whereas the people in corporate were able to specialize.

I worked as the main evangelist for a tech called Silverlight. I wrote a bunch of books on Silverlight and I drove what the messaging around it should be. When it came to people in the field who were evangelists, they would have to know Silverlight, Windows, Office, and many other topics. My job was to equip them with what they needed to be able to evangelize Silverlight to partners and customers.

At Google, it's similar. Part of my job with TensorFlow and with AI is to equip our people in the field. I make sure that they have the most up-to-date messaging, decks, and demos. If they want to run an event or visit a partner and be able to brief them on a particular tech, then I help them with that.

Geertjan Wielenga: TensorFlow and AI are what you're really known for nowadays. What enthuses you most about those areas?

Laurence Moroney: Firstly, I'm excited by the positive changes that AI is bringing to the industry. Secondly, I work with some of the smartest people on the planet and going shoulder to shoulder with them to build a product and communicate a product is really exciting. Finally, I enjoy being a spokesperson for AI.

Geertjan Wielenga: Could you not say the same things about any tech that you find interesting? What is unique about AI and TensorFlow?

Laurence Moroney: I think the level of enthusiasm in the outside world that I'm responding to is unique. I've worked with tech that people absolutely adored but not to the same level as this and not to the same level among non-technical people. A lot of business people understand that they need to know about AI and they're excited about the opportunities. Many politicians want to hear about the opportunities too. AI goes beyond just developers and that's one thing that's super unique about it.

Geertjan Wielenga: What are some of the upcoming developments in AI that you see happening?

How AI is developing

Laurence Moroney: For us, at Google, we're working on TensorFlow 2 and we're getting ready to release that. We have a number of events where we're going to be talking about that. Next week, we have a TensorFlow Developer Summit, where we'll be talking about some of the newest and greatest things.

The week after that, Google is hosting something called Cloud Next. I'll be speaking at that in San Francisco. The month after that, there's Google I/O. I'm doing talks about AI, machine learning, and deep learning.

My personal passion, and what I'm trying to drive within Google, is bringing AI out of the research and academic space to become a tool that any developer can use. I want AI to be the same as Java, widgets, or anything else that just became another tool in a developer's toolbox.

"I've been working with some of the biggest names in AI on developer-oriented training."

—Laurence Moroney

To that end, some of the advances that you'll be seeing in 2019 include making the APIs much more straightforward for the typical developer to use. I've been working with some of the biggest names in AI on developer-oriented training.

In addition, we're focusing on different runtimes. For example, it's all very well for you to be able to understand how to train a state-of-the-art model (for example, something like image recognition), but how do you get it into people's hands? The two biggest trends in development, of course, are mobile and web. I've been working with a tech called TensorFlow Lite, where the idea is that that's a runtime that will work on mobile devices like Android and iOS, as well as embedded systems.

You can start building your models on your development workstation and then deploy those models to a Lite runtime that works on embedded systems or mobile devices.

This also works when it's disconnected. You can do smart things using deep learned models too. For example, on an edge device, you can have a camera that might recognize a door opening or a door closing without round trips to the server.

Lastly, we've been working on something called TensorFlow.js, which is a JavaScript library that not only will allow you to run inference and models in the browser but will also allow you to train models in the browser. You can train a model to recognize you looking up, down, left, and right. Then you can control a Pac-Man game with that. That's one of my favorite demos that I like to show and that involves doing all of the training to recognize those images for computer vision directly in the browser, as well as executing that model in the browser.

Geertjan Wielenga: What is it, do you think, that makes AI and machine learning such hot topics today?

Laurence Moroney: I think it's the potential. Everybody wants a piece of that pie. That opportunity makes things exciting. From a developer's perspective, if I don't think about the dollars, I'm always excited by new things that open up new scenarios that weren't previously possible.

I'm old enough to remember that you used to build software that you'd burn onto a CD. Somebody would have to go to a shop and buy that CD and install it and hope that it had matching drivers. Then, the web came along and it opened up whole new possibilities for applications. The same thing happened when mobile devices came along. Now, you have this thing in your pocket that has web connectivity and a whole bunch of sensors. Would Uber have been possible if it wasn't for mobile devices? Would Instagram have been possible?

That's one of the things with AI that I always like to talk about from a developer perspective: there are problems that it's very difficult for you to solve as a developer writing traditional code. Think about activity recognition. If you're building a device like a fitness device, how do you detect if a person is walking? How do you detect if they're running or biking?

You might have a signal from the device for speed. You could say that if the speed is less than four, the user is probably walking. If it's greater than four and less than 12, then they're probably running. If it's greater than 12, they're probably biking. But that's a really naive algorithm and it really doesn't work. If you want to detect golfing, for example, those rules get thrown out of the window.

With AI and machine learning, the paradigm is shifted. I can gather data from a device when somebody is walking and be able to say that's what walking looks like or what running or biking looks like. A computer can be very good at spotting the patterns that distinguish these activities from each other. When it spots those patterns, it's actually coming up with the rules for walking, running, and biking, instead of me as a programmer trying to figure out the rules. Now, a whole new set of scenarios has opened up and become tools in my toolbox that weren't previously available. As an innovator, I think, "There's this problem that I want to solve. I couldn't solve it before, but maybe I can solve it now."

Geertjan Wielenga: What is available now to make those developments possible?

Laurence Moroney: In some ways, a lot of the techniques have been around since the '50s. This includes things like neural networks, the math behind neural networks, and gradient descents. I think there are two key differences now. The first difference is the availability of data. To go back to my earlier example, you can get data for what walking looks like, and so on.

The second difference is compute power. The rise of things like graphics processing units (GPUs) has made the ability to train systems fast feasible. You could potentially, in the '50s, have written something like a neural network that could have done training, but to train it to do the simplest possible scenario might have taken months or years. Now that this takes hours or even minutes, we've reached that critical point where training becomes feasible to do.

Geertjan Wielenga: One interesting aspect about your work is that you're not actually a TensorFlow developer advocate in the sense of being a tech advocate: it's more a conceptual thing and TensorFlow is a way to implement that. Would you agree that you are able to be a thought leader in the machine learning/AI area because of your developer advocacy work with TensorFlow?

Laurence Moroney: Yes, exactly; it becomes like a circular relationship. It obviously depends on the audience, but mostly when I speak with an audience, many of them are only familiar in passing with the concepts of AI, machine learning, and deep learning. I will explain how Google thinks about these things.

The industry is quite immature still. I read a statistic the other day that there are somewhere between 25 and 30 million software developers in the world but only 300,000 AI practitioners. Most of the time, I'm talking to the 24.7 million developers who are not AI practitioners.

Can you name any other tech that's been the subject of science fiction books since the dawn of science fiction in a negative way? Many people say that the very first science fiction novel was Frankenstein by Mary Shelley. When you think about it, that's AI. Dr. Frankenstein created this artificial life, which then ended up going wrong.

Fear of AI

Geertjan Wielenga: The other aspect of this is that in the '50s and '60s, there were many books and movies about how robots would take over our lives. Robots were understood to be large, clunky devices or externalized aliens. Now, we have washing machines, refrigerators, and comparable devices, which are all actually robots. Robots have taken over our lives, but in a good way. Do you think the fear comes from worrying about a loss of control?

Laurence Moroney: Yes, but also people generally are afraid of things that they don't know. Much of the job of an advocate is helping people to know. You need to be able to communicate to people that there's not a button that you press and suddenly there's a living creature in there. AI is just the new paradigm for programming that kind of emulates the way humans do things.

I often joke that sometimes, the way we name the tech kind of oversells it. We talk about something being a neural network, which makes people think that maybe this is emulating the human brain. The truth is it's only emulating it on the most basic of layers. Neurons in a neural network aren't the same as neurons in your brain. Training a neural network is not the same as how your brain trains. Setting those expectations is a big part of the job.

"Ultimately, it's my job to make you disillusioned!"

—Laurence Moroney

The company Gartner had this hype curve where there's a tech trigger and then there's a peak of inflated expectations, which falls into the trough of disillusionment. After the trough of disillusionment, there's a rise in productivity. AI is really interesting because there's this massive peak of inflated expectations and also a peak of paranoid expectations. My job is to tunnel people through to the trough of disillusionment so that they can start being productive. Ultimately, it's my job to make you disillusioned! If you look at any tech, it goes through a curve. When people get really productive and do great things, they start from the trough of disillusionment and not the peak of inflated expectations.

Geertjan Wielenga: Is this like going back to basics with tech?

Laurence Moroney: Yes. Let's take the smartphone as an example. When Steve Jobs went on stage and introduced the iPhone, the world went into a peak of inflated expectations. We could throw away our desktops and laptops. Then, we fell into the trough of disillusionment and we realized there are problems like battery life and tiny screens. Now, people have started getting productive. I see the same thing with AI, so I start my talks by saying, "Hey, I'm going to disillusion you today!"

Geertjan Wielenga: There are people who are independent developer advocates going to conferences who are not connected to any company. They can be completely authentic in the sense that they're not representing anybody. As I'm listening to you, it's clear that being tied to a vendor means that you can be an integral part of the developments that you're talking about. Does being right there in the engine room, where these things are happening, give you an advantage?

Laurence Moroney: I think there is still room for independent developer advocates, particularly in the open-source world. If you're an independent developer advocate not tied to a particular company, you can drive whatever the product is that you're advocating. If that product is open source, then you can be part of the engine room for that, too. But it's hard to be a fully effective independent advocate for a closed-source project because you don't have the ability to change the product directly.

Geertjan Wielenga: No matter how generic you make your pitch, ultimately, you're from a particular vendor; you're representing that particular perspective. Would you say that there's no getting away from that?

Laurence Moroney: There is no getting away from that, yes, but I will say that it's not an impenetrable barrier. I think the best companies that hire developer advocates always encourage them to be as independent as possible and let their authority speak for itself.

I'm lucky because one of our philosophies in TensorFlow and with Google AI is to try to be vendor-agnostic as much as possible. I'm under no pressure from my company to pitch Google Cloud as the best way of running these things, Android as the best operating system, or Chrome as the best browser. But when I do use a particular product, I will use it because of the merits of that product and I will talk through the merits of the product from my own experience.

Often, I'll use an iPhone for doing demos, for example, instead of an Android. If I'm doing the demos on a small form factor, I prefer Android. If I'm doing the demos on a large form factor, I don't know any Android tablets that I like as much as my iPad. I'm given that freedom.

"While developers may not trust you 100%, they won't trust you 0% either."

—Laurence Moroney

Not every developer advocate who works with a vendor has that freedom; I agree with you on that. But what I've found from experience when working for vendors is that when the person can talk with authority about the tech and just focus on the tech, the barrier tends to dissolve a little bit. If you come with honesty and talk with technical authority, instead of being just a corporate mouthpiece, smart developers will see that. While developers may not trust you 100%, they won't trust you 0% either.

Geertjan Wielenga: If you're at conferences, there's always an interest in independent developer advocates for their unaligned voices, but there's also always an interest in what companies such as Google, Microsoft, and Oracle are doing. Would you agree that people do want to hear the official pitch from the official developer advocates working for an official vendor?

Laurence Moroney: Absolutely, and I think most developers are smart enough to see through corporate speak and to see through marketing speak. If a developer advocate only does corporate speak and marketing speak, they will get marginalized.

Working for a large company

Geertjan Wielenga: Also, people who are not working for vendors often forget that developer advocates coming from the large vendors often have a choice on which tech they want to work with. Couldn't you be working on something totally different from TensorFlow at Google?

Laurence Moroney: It's funny because I joined Google as a cloud advocate because that was what I was hired to do. I really enjoyed that, but I preferred mobile. So, when the opportunity came to jump ship to mobile, I think I became a better advocate because that was something that I was passionate about.

That ended up morphing into me becoming an advocate for Firebase and a little over a year ago, I was working on a tech in Firebase called Firebase Predictions, which uses AI around your analytics to help you to determine customer churn and customer spend. That uses machine learning under the hood and it helped me to drive a lot of feedback to the AI group within Google.

Part of my feedback was around the developer experience because I'm a developer and not an AI researcher. The AI group asked, "Why don't you come and join us?" My natural passion just bubbled to the top. I think that makes me a better developer advocate because this is something I love doing.

Geertjan Wielenga: This again illustrates the benefits of working for a large vendor: you can make that transition from one product to another versus if you're working for some small start-up with one specific tech. Do you see one of the appealing aspects of Google, Microsoft, Oracle, and others being that these large organizations have such a range of tools?

Laurence Moroney: Yes, but if you don't work for those organizations, then many of them have developer networks. At Google, we've got two groups: one is called Google Developer Groups (GDGs) and the other one is called Google Developer Experts (GDEs). Instead of just leaving these groups to go and do their own thing, we help them, but we don't control them.

We give them places to host meetups and provide them with information, swag, and stickers. People who don't work for us tend to rise up and become independent advocates and often, the ones that become the experts have access to a network of resources, as well as the ability to give feedback. They almost become light versions of the developer advocates who work for the company. They can also go between different tech stacks based on their passion.

Big companies can help people to explore their passions for developer advocacy, even if they don't work for them. That often helps people in their career so that they get hired as developer advocates later, maybe by that company or maybe by another company. They get the best of both worlds in some ways. They are that independent voice that you were talking about earlier, but they're an independent voice that has been validated by the vendor. They can go on stage and say, "Google says I'm an expert, but I'm an independent, so I don't work for Google. Here's my opinion." That can be very powerful.

Geertjan Wielenga: A dilemma that often can arise with developer advocacy is when you're enthusiastic about a particular direction your company is going in and then the company changes its direction. Have you been in that situation and how do you deal with that?

Laurence Moroney: I've been in that situation, yes. A good advocate will prepare their developer community for change, without actually leaking that that's going to happen. It's a fine line that you have to walk along.

I think if you are passionate in the space that you work in, you can see the trends and if your company is beginning to take a right-hand turn, then you can start preparing people for those trends. But that's the toughest part of the job.

Geertjan Wielenga: It can be difficult if you are very emotionally involved with a particular tech and you've been promoting it. Have you experienced any problems with that?

Empathy when advocating

Laurence Moroney: I have had death threats on social media from people who felt like they had been left high and dry. I think it was an emotional reaction in that case, but it did help me to realize that I have to be careful to have empathy for the people that I'm advocating to and not just be very salesy about my job. I have to help developers to navigate through things and as a result, be more authentic as I'm advocating tech.

Geertjan Wielenga: One part of the message could be that this is something that we recommend right now, but who knows where we will be 35 years from now. However, there's a strong possibility that someone listening to that might decide to stick with whatever they're doing right now and skip this particular thing, and five years from now pick up whatever is there at that point. Is that a valid response?

Laurence Moroney: It is a valid response, but that risks missing the boat for five years. You've got to make sure that you're not throwing the baby out with the bathwater. Sometimes, people think they've got to throw out the tech and start again.

I've never encountered a situation with a person having to start again from step zero.

When Java 2 Platform, Enterprise Edition (J2EE) was at fever pitch, a lot of people designed their architectural systems to work with it. But when I was working as a Microsoft advocate and helping them to move to ASP.NET, it wasn't a complete rip and replace. They'd made all these architectural decisions, designed databases, and designed authentication systems. Much of that thinking was still valid. When you look at the software development life cycle, that's probably 80% of the work. People often have a knee-jerk reaction when there's a tech change.

Geertjan Wielenga: What I've picked up from listening to you is the diversity of activities that you're involved in. How do you manage all that?

Laurence Moroney: Have you ever been really hungry at a buffet? That's what it's like. There are so many ways that you can advocate. Do you go to meetups? Do you speak at conferences? Do you write blogs? Do you write books? Do you make videos? Do you brief customers? The answer is all of the above.

The question then becomes, which tasks are best for Google? Which tasks are best for me? Which tasks are best for my audience? It becomes a balancing act between those. Fortunately, in a big company, there are different people with different skills. There are some people who are much better at writing and there are some people who are much better at speaking. Every one of those gaps is going to get filled; I don't have to fill all of them at any moment in time.

If I broke my time into slices, I'd say I'm probably spending 30% of my time making videos because they scale really well. We have a channel on YouTube that I run. If I'm not making the videos myself, I'm guiding other people in making them and I'm scripting them. 20% of my time is spent focusing on the product itself and understanding how it works, as well as trying to drive and shape how it works. Giving feedback is the final 50% of my time or speaking at meetups and conferences.

At Google, we've got two types of advocates: scalable advocates and partner advocates. A scalable advocate goes outbound with their message at scale. That means working with hundreds or thousands of people. A partner advocate is the one who goes into depth. I'm a scalable advocate. When I'm talking about slicing my time, it's really about the scalable things.

At the TensorFlow Developer Summit next week, we have 20 people speaking at the conference, many of whom are not advocates or speakers: they're product managers or engineers. It's my job to craft how they speak to the public, what their decks look like, and what their demos look like so that it can be less ivory tower and more developer-friendly. Guiding others to be part-time advocates is how I look at that side of my role.

Geertjan Wielenga: Is there a danger of burnout with all of these different activities?

Laurence Moroney: I think everybody's different in this space. When you're working as a developer advocate, you're generally passionate about what you're advocating. I tend to work extremely hard and my managers will always come to me concerned about burnout.

Hard work has never burned me out, though. If you're pushing me into things that are pointless or if I'm doing something for political reasons, then that could lead to burnout.

I have suffered burnout at times and almost every time it was because of some internal political issues. I think that applies to most developer advocates. Fortunately, the company I work for now is not very political. It's very technically oriented and if you focus on your tech, you can tune everything else out. I really love that. That hasn't been the same everywhere I've worked.

Geertjan Wielenga: Let's say you travel to a conference somewhere far away and then your laptop doesn't connect or there's some technical glitch; do you have some horror stories of that kind?

Laurence Moroney: Not quite as dramatic as that, but whenever I would go to another country, I used to learn a child's nursery rhyme or song from that country. I would tell people before I did a complex demo that if that demo failed, I was going to sing the song. That became a win-win situation. There were always people in the audience who were waiting for the demo to fail so they could hear me sing! I've sung nursery rhymes in Hebrew, Chinese, Japanese, and some other languages.

I have had a catastrophic failure where I required a network connection to be able to do my demo on my talk and no network connection existed. The authentic thing to do was to be vulnerable. If you're good at your tech and you know what you're working on, then you can talk about it, without slides.

Tips for new starters

Geertjan Wielenga: Anyone reading this interview is inevitably going to want to know how to be just like you. What tips would you give somebody who wants to enter into this field?

Laurence Moroney: The number one thing that you need is passion. I think developer advocacy has to be something that you really love. It's not the kind of thing that means you can sit down and think that you will earn so much money if you do this or that. With that mindset, you just won't be good at it and you won't enjoy it.

Beyond passion, you need to be knowledgeable. You need to really understand the tech in depth. Finally, you need to be compassionate. You need to be able to walk a mile in someone's shoes so you can understand where they're coming from.

In practical terms, if you're not working for a big company, then get involved in tech communities and become a star in those communities. If you have those three attributes, that will just happen. When you're a star in those communities, you'll either be that independent advocate or you'll be giving yourself the ammunition to be able to join a company as an advocate.

"I was a massive Microsoft fanboy."

—Laurence Moroney

I was a physicist at college but there was no work for physicists. I was a massive Microsoft fanboy. I thought that Microsoft built great tools and operating systems, so I learned Visual Basic and I built a career as a computer programmer.

I developed my career as a software engineer, then a software architect, and then a Microsoft specialist.

I mentioned earlier that my first advocacy job was for a start-up called Mainsoft. The irony was that what Mainsoft was doing was helping people to transition from Microsoft to Linux. There was a cross-compiler that allowed you to cross-compile ASP.NET into J2EE. Then, with your logic and stuff that was built in ASP.NET, you could compile those as Enterprise JavaBeans (EJBs) and run that. I joined as a Microsoft expert and I ended up becoming a bit of a star in the community around interoperability between Microsoft and J2EE. I spoke at JavaOne in 2004 and that got me noticed by Microsoft. At that point, I'd written a few books as well. When Microsoft was hiring for this thing called WPF/E, which later became Silverlight, it needed an evangelist for that.

People can grow in a way that isn't really possible in other industries. If you're madly in love with TensorFlow, Firebase, or Windows 10, you've got the opportunity to become that community's superstar. If you want to go and join the big boys, the opportunity to do so is there. If you want to stay independent, then the opportunity is there too. Developer advocacy is not something that you can study; it's just something that you do.

Geertjan Wielenga: Thank you, Laurence Moroney.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.139.79.59