Advocating for Android: A Conversation with Google’s Reto Meier

By

Android101_DripArt5

This post is a part of our Android 101 series. Sign up to learn more about the world’s most popular operating system. 

Tens of thousands of people have decided to jump into a community of supportive developers building mobile apps and games for Android devices. Reto Meier is an Android Developer Advocate at Google, inspiring and supporting the Android developer community with training and resources. We sat down with Reto to talk about his own journey into code, why he chose to focus his career on Android, and where he sees the ecosystem going in the next several years.

Tell me about how you got into programming. Did you start getting involved with code at a young age?

I’ve always been interested in programming. I first started coding in elementary school, where I learned to code in Logo using a learning tool called Turtle. The computer connected to a robot that would draw circles on the floor, and you could interact with it using simple programming commands to make loops and geometrical patterns. We also had computers that would run BASIC, and we learned somewhere towards 6th-7th grade that you could edit the code and change the characters and dialog in pre-programmed stories. Later I started doing programming on my own based on books and magazines. You could copy line by line from a printed tutorial and create a game or an app. I took Computer Science classes in high school, followed by a CS degree at the University of Western Australia.

What’s changed about the way you learned vs. the way people are learning to code today?

One of the beautiful things about mobile technology is that it has really democratized programming. For a long time people followed a pretty consistent path, similar to my own – they went to school for computer science, got a job as a developer, and then maybe went on to run a software company. When the mobile revolution happened you were able to distribute apps instantly, without having to be a big company or have a distribution agreement. It was a tremendously powerful shift, and with the Android developer ecosystem, things have become even more diverse. On Google Play, you may see an app built by someone who has been programming for 20 years, directly next to an app that was built by someone who had never written code before building it. This diversity and democratization of learning is one of the most interesting shifts of the last few years.

What was the first full-time developer role you had?

After school, I worked at an oil and gas services company, building software that was used to inspect oil rigs. It was all very bespoke software, written for people working inside my company. I worked there for 5 years, building software for a very small audience – probably only a half dozen people would ever use the things I built. Then, I moved to another company that did log analysis, and it was much more of a startup feel. This was a shift for me because it was software that was being sold to other end-users. Later on, I moved to London for several years and ended up working for Goldman Sachs, building software for high-frequency traders and stock brokers. I did that for almost 5 years, before Android launched and I suddenly found a new passion.

You’ve obviously had a lot of diverse experiences. How did you get involved in Android?

I got involved with Android in the very early days. Up until then, I had primarily used C# and .NET in my day job. I had been tracking what was going on with Android, and I watched the keynote when Andy Rubin announced the platform. I thought, “Wow, this is awesome.” It’s open source, so I don’t have to pay any money, and I can go this weekend and try to build something. So I did that on the Friday after the announcement and threw together an app with a map and some contacts. I wrote a blog post on the following Monday after that which got picked up pretty broadly, and then I leveraged that into a book on Android development.

Can you tell me about what you do at Google to support Android developers?

Our main goal is to try and make it as easy as possible for developers to build awesome apps on the Android platform. To do that, we produce a variety of support materials – everything from pro tips on social media to extensive multi-week training courses, technical blog posts, and videos that introduce new features or explain the best practices for existing APIs. I try to be as creative as possible to offer a diverse set of material that appeals to a wide variety of existing – and potential – Android developers, anything that we think will help people along their journey to create something amazing.

What are the things experienced developers will find different about building for Android?

The biggest difference from my experience, and especially when it comes to those who are coming to Android from web development, is that when you start building for a mobile device, you’re suddenly working in an extremely resource-constrained environment. On a desktop computer, we assume things will always get faster, so we can – at times – choose to sacrifice a little bit of efficiency for convenience or readability. This doesn’t apply on a mobile device – every year the screen gets bigger or battery life gets better, canceling out most of the speed improvements. So you still have to worry about every byte of ram and every spare processor cycle. Everything we do, we have to be very conscious that we’re running on this little tiny computer.

For Android specifically, you also have to take into account what we call the “application lifecycle.” When you use your phone, you may be reading your email, swipe across to navigation, have your music playing, then get a phone call, or maybe a text. All of this is happening all at once and the system will sometimes take the liberty of killing an app in the background to make sure that the ones in the foreground work smoothly. You have to account for this when writing code, and that’s something new for most developers.

What does the open source nature of Android mean for the community?

For me, and for the many people I’ve spoken to, the biggest differentiator is that you can find out how things are happening under the hood. If you’re trying to solve a problem, you can go and look at the source code for yourself and find out why it is behaving that way. There’s also the ability to learn from the people who actually built the software. I never really had a strong programming mentor, and the people who have inspired me the most in my career were the framework engineers on the Android team, who built software out in the open, and talked to us about what they were doing. That was a new experience for me.

Speaking of mentorship, what do you see as the most important qualities of your most successful mentees, now that you have the chance to give back to new developers?

The key driver for success is passion. If you’re going to learn to build Android apps, you have to have a reason to want to learn this stuff. For the most successful students, the learning is just a step in the process. They need to write code to get to a goal they’re trying to achieve, whether it’s an app they want to build, a problem they want to solve, or people they want to reach. The language, syntax, and APIs are only one small step towards achieving that bigger goal.

What has changed about the way Android developers build applications since the first release?

The biggest difference from the early days of the Android platform is the increasing sense of design that’s going into apps. In the beginning, the biggest thing for developers was to be the first app to market that did whatever your app did. Now there are a lot of apps, and so it’s more important that your app has a good design and work well for users. With Google’s Material Design, there’s now a huge emphasis on how apps look, feel, and behave and that’s changing a lot of things for the better.

What do you think are the most exciting things that Android developers will be doing in 10 years?

In the future, Android developers will be part of a much broader vision and will build things for the emerging world of internet-connected devices around us. As a platform, Android can now power your car or TV, and pretty soon, I believe it will be able to serve as an underlying operating system for pretty much anything you can interact with. The smartphone market is also still growing – there is a rapidly growing customer base in many emerging markets where people use their smartphone as their primary computing device. In terms of being able to impact the world with technology, mobile developers have the chance to reach billions and billions of people. It’s an opportunity to fundamentally change the world.

Fun Fact: Every version of Android comes with an “easter egg” – an animation, feature, or joke that can only be viewed if you tap repeatedly or hold down on a particular settings icon. Past Android easter eggs have included free wallpapers, a tile-based game, and a looping animation featuring flying Android robots.

Become an Android developer in our 12-week, full-time career accelerator.

Get Started