How I became a Google Developer Expert (GDE) for Android with the help of the #RoadToGDE program

Last week I became a Google Developer Expert (GDE) for Android. This was my second attempt at applying and it included me being a part of the Road to GDE program from Google. This article highlights my experience with the mentoring program and how it helped me become a GDE and how you can be one too.

Naassom Azevedo on Unsplash

What is a Google Developer Expert (GDE)?

Google Developer Expert (also known as a GDE) is a highly experienced technology expert with expertise in Google technologies such as Android, Angular, Flutter and more. Nearly a thousand Experts are part of the program currently.

There are benefits to being a Google Developer Expert such as:

  • Recognising their skills via Experts website and badges that
    Experts may use in their social media profiles or personal websites
  • Facilitating access to Google product teams and projects,
    including early access programs
  • Invitations to Google events around the world
  • Supporting travel to conferences where they can speak about their
    favorite technologies

In order to be able to join the Experts program, you first need to be referred by a Google employee or an existing Google Developer Expert. You will also need to meet the following criteria:

Source: https://developers.google.com/community/experts

How I heard about the Road to GDE program

Late last year, while working closely with the Google regional leads in my Sub-Saharan Africa region, I applied to the GDE program. The first part of the application process is an eligibility check where the team at Google assess the applicant’s community contributions over the past year (you will need to provide all your community contributions on the application form). There are various items checked in the application including consistency (how often do you contribute to the community) and impact (how many people were affected by each contribution you made).

I did not pass the eligibility check and after reaching out for feedback, the reason was due to the scope of my contributions — I needed to increase the reach on a more international level as my talks for example, were mostly covering the Sub-Saharan region. My regional leads and I agreed to spend the next six months working on increasing my international reach before I attempt to apply again in the following year — this year. They also suggested pairing me with a GDE in my region who would act as a mentor to help me reach my goals.

As it was nearing the December holiday period, I took a holiday break with the intent of restarting my efforts in the beginning of the new year. It was in the beginning of the year that I discovered a tweet from the Google Developer Experts account on Twitter:

Source: @GoogleDevExperts on Twitter

My regional leads also told me about it and advised me to apply. I had no idea if I would be successful or not, but I proceeded to apply to the Road to GDE program. About two weeks went by before I received the confirmation email:

Confirmation email I received on being accepted in to the Road to GDE mentoring program

There were about 1500 applications from around the world, and only 70 were selected including mine.

About a week after, I received information about who my mentor will be as well as the next steps. I was paired up with Filip Babić, a GDE for both Android and Kotlin and an amazing mentor:

Source: https://developers.google.com/community/experts/directory/profile/profile-filip-babic

After we had our Road to GDE kickoff meeting, it was now time for the mentees to set up their meetings with their mentors in order to kickstart their Road to GDE journeys.

What is the Road to GDE program?

The Road to GDE program is a three-month mentoring program with the intent on helping people from historically underrepresented groups in technology towards becoming a Google Developer Expert. In this program, the aspiring GDE’s, that is, the mentees, are paired with an existing GDE (the mentor) based on their area of focus (for example, Android, Angular, Cloud and so on), timezone and language.

Source: @GoogleDevExpert on Twitter

During these three months, the mentor and mentee will have one-on-one discussions (up to five) organised by the mentee, where the goal of these conversations is to help equip the mentee, through guidance and predefined goals towards becoming ready to apply to be a Google Developer Expert. At the end of these three months, should the mentor feel their mentee is ready to apply, the mentee can proceed to do so. Otherwise, if they are not yet ready to apply, the mentee can continue to apply the guidance and mentorship provided to them and work on these outside the Road to GDE program until they are ready to apply.

Beginning the Road to GDE journey

It is the responsibility of the mentee to schedule the meetings as well as set up an agenda for each. This was done through the Advocu platform. What was key was to create a set of goals and align these with Filip so he could guide me towards achieving those goals. Each mentee will have their own set of goals and the idea is to have goals that can enable you to be ready to apply to the GDE program. I relayed my feedback from my first application and that my overall goal would be to increase my international reach with regards to my talks.

My talks weren’t the only thing I was doing over the past year as far as community contributions are concerned. I made it a goal to write a blog regularly — at least one a month. Then, I also made my app — Upnext: TV Series Manager — an open source project that the community can learn from. It was also during the first few days of being in the Road to GDE mentoring program that I submitted my open source app to the Google Developers Dev Library and it was accepted. I have a very detailed article on how I submitted here.

Source: @googledevs on Twitter

In addition, I am a co-organizer for my local Google Developer Groups (GDG) chapter — GDG Cape Town.

With this said, my goal with Filip was speak more internationally and Filip had the best idea on how to achieve that.

Increasing my reach — speaking more internationally

In North America, South America, Europe, Middle East, North Africa Sub-Saharan Africa, Asia and Oceania regions are communities called Google Developer Group (GDG) chapters. The idea behind each one is to foster a local network of developers that can connect and learn from each other about Google technologies through meetups, workshops, codelabs and even conferences such as DevFest. GDG Cape Town, where I am a co-organiser, is one such chapter.

Filip’s idea was for me to reach out to the GDG’s in Europe (as the timezone closely matches mine) and find out if they would be willing to have me as a speaker for one of their meetups. I found reaching out to the chapters for my request initially daunting but went ahead and drafted my emails. There is a website containing a directory for all the GDG chapters where you can also filter by region. I reached out to a huge majority of the European GDG’s and to my surprise had a very pleasant response from most of them.

In April, we had our mid-program event for Road to GDE where we all (mentees and mentors) met together again and briefed by the organisers on updates about the program and had more fun networking.

By the end of April I had spoken virtually at GDG ParisGDG OsloGDG OsijekGDG Berlin and GDG Berlin Android as well as at Conf42 Mobile 2022 Conference, (where my Call for Papers (CFP) was accepted prior to starting the Road to GDE mentoring journey). I am grateful to all the GDG’s that held a meetup for me.

In addition to this, I continued to contribute to open-source with my Dev Library project as well as blog. I also had a few more 1-on-1 meetings with Filip to discuss my progress and next steps. Filip also helped me understand the entire GDE application process and helped me prepare for it. In particular, after the eligibility check are two interviews — a community interview with an existing GDE and a product interview with a Google employee should you pass the community interview.

Filip helped me understand how both interviews are structured, what they focus on, and how to be better equipped for both.

I also reached out to more GDG’s, this time in USA, and there I received positive feedback from most of them. Two of these accommodated me and gave me dates to speak, which I was appreciative of, that would occur after my Road to GDE graduation.

The Mock application

During the Road to GDE mentoring program, we were each provided with a mock GDE application template where each mentor and mentee will work through. The template is a representation of the actual GDE application form but in doc format.

I completed my mock application, including my most recent speaking engagements — including the two upcoming speaking engagements in USA and shared the doc with Filip. After working through the feedback from Filip, he gave me further that he believes I am ready to apply to the GDE program. My intent was to apply once I had spoken at the upcoming USA speaking engagements.

Graduation

Shortly after this at the end of May, we graduated from the Road to GDE mentoring program. We had an amazing graduation event online where we also reflected on the previous three months and any notable events that happened during that time.

Those whose mentors had expressed support for their mock applications were invited to share them with the Road to GDE team. This is for the Road to GDE team to also take a look and share any comments or suggestions. I shared my mock application with them and I received feedback about two weeks later that they are in support of me applying to the GDE program.

After the Road to GDE program

I spoke at two GDG’s in USA — GDG Silicon Slopes (Utah) and GDG Dallas (Texas). Prior to me applying to the GDE program for the second time, I had managed to reach communities in both Europe and the USA. Community is at the heart of everything I do and I am grateful I was able to reach so many developers around the world who learned from me through my speaking, blogging, and my open-source code.

In July, I applied for the second time to the GDE program. Within a week I received confirmation that I had passed the eligibility check and I was moving on to the community interview section with a GDE.

We agreed on a date and met up not long after. The interview was very conversational, as it should be, as this is not a job interview, but rather a discussion about your community involvement. I received feedback the next day that I had passed this interview and moved to the final interview — the product interview with a Google employee.

We too agreed on a date and met a day after. We had a great in-depth conversation. This interview was more technical, but again not an interview, focusing on the specific area I was applying for — Android. The morning after I received feedback that I had passed the second interview!

Confirmation

I had the honor of meeting 

Ben Weiss, Senior Developer Relations from Google while I was at Droidcon Berlin 2022. Ben is also part of the Experts team at Google. He congratulated me on becoming the latest Android GDE in person and also shared it with the world via Twitter. No words could describe how amazing this moment was for me:

@keyboardsurfer via Twitter

In the same week, I received the official email from the Experts team that I was now officially a GDE:

My confirmation email from the Experts team

Conclusion

It would likely have taken me a very long time to become a GDE had I not been part of the Road to GDE mentoring program. I received really great mentorship from Filip Babić, my mentor, and through my experience with the program, I regard mentoring even higher than I did before. My mentor understood my goals, and what I wanted to achieve and gave me actionable guidance. I listened to him and that opened up so many doors and increased my community network.

The Road to GDE mentoring program is now open for the fourth class with applications closing on the 22nd of July 2022. If you believe you are on the path to becoming a GDE, are passionate about your community, and are an active contributor, do apply. The program literally changed my life, and it can change yours too!

My journey to having my open-source Android app featured on the Google Developers Dev Library

Photo by Mars Sector-6 on Unsplash

Many developers are unaware of a platform called the Google Developers Dev Library and what it is about. I was one of those people and after finding out I was able to have my open-source Android app featured on the platform. In this article, I will outline my journey to becoming a Dev Library contributor with a featured app and what the Google Developers Dev Library is.

How I found out

I first found out about the Google Developers Dev Library in a post on LinkedIn with the tag #DevelopWithGoogle from the official Google Developers account, inviting contributors to submit their open-source work. I of course was curious as all my app development centers around Google technologies and in particular my open-source app, Upnext: TV Series Manager.

A post from the Google Developers account on LinkedIn inviting contributors to submit their open-source work

What is the Google Developers Dev Library?

The Google Developers Dev Library is a curated platform consisting of technical content or software built using Google technologies, in particular, Android, Angular, Flutter, Firebase, Google Cloud, Machine Learning and Google Assistant. It is built with the intent to give developers from around the world a platform where they can showcase their usage of Google technologies as well as provide other developers with inspiration and tools which they can then use in their own projects.

The Google Developers Dev Library platform

Many developers find that they would need tutorial or project examples after reading documentation in order to help them better understand. The platform is, therefore, meant to help complement Google’s official documentation through learning from the technical content and featured projects on the platform.

When projects are submitted, they are carefully reviewed by product experts at Google to determine whether the submission is “high-quality, relevant, and unique”.

Apart from being featured, are there any other perks?

By being on the platform, your project or technical content will receive increased visibility. In addition to this, you will receive a contributor badge on your Google Developer profile, Google’s stamp of approval on your work and being also featured in Google Developers monthly newsletter.

Prerequisities for submission

In order for the technical content or project to be accepted on the platform there are a number of prerequisites that need to be met:

  • Github license — for projects it is required that the project has a license, either an Apache 2.0 or MIT license.
  • Properly documented README — your project’s README should be well-documented, well-explained and clear. For example, if the project itself has prerequisites such as API keys that need to be retrieved first or configurations that need to be first set up then these need to be explained fully. How the project is structured or libraries contained are information that would be vital in a README. Screenshots or other visuals can also be part of the README.
  • Versioning — ensure that you are using the latest versions of software included in your project.
  • Article monetization — ensure that articles are not behind any paywalls, do not have ads or getting monetized in any way.
  • English content — for both technical content and projects, the library only currently accepts content in English, for now.
  • Most recent — the content being submitted needs to be the most recent. Old or not recently updated projects may likely be rejected.

For technical content, there are also these guidelines which can be found here, for example:

Example of guidelines for technical content submissions

Submitting my project — the first attempt

After cross-checking the above-mentioned prerequisites to determine whether my Android project met all the requirements, I then attempted to submit it. The Google Developers Dev Library uses the Advocu platform for submissions as well as relaying feedback to the content creators as to whether their projects have been accepted or not.

The Advocu platform used for submissions for the Dev Library content

The form is a three part form where you will be required to provide details about yourself as well as the technical content or project that you are submitting. I provided all the details also specifying that my project is a Jetpack Compose project.

I submitted the form and waited for feedback from the platform.

First response

My project was rejected at the first attempt with the following reason:

The reasons for rejection vary from the quality of submission to the freshness of the project. For more reasons, check out our FAQ page. Also, please refer to the contributor guidelines for content improvement.

From this response, I wasn’t exactly sure which part of my submission was at fault so I reached out to the team through this form to try and find out more.

The Dev Library team is awesome, and their feedback was really quick as they responded within the same day via email. I expressed my uncertainty around the feedback and they were great to provide more details around what was amiss with my submission. At the time of my submission, my project was only partially using Jetpack Compose as I had only started on migrating it to Jetpack Compose. Because only part of the project was Jetpack Compose, the Dev Library team needed me to increase the Jetpack Compose coverage.

I proceeded to update the project, updating the UI’s from XML-based to Composable-based screens. I updated the README to reflect the new Jetpack Compose changes, ensured that the dependencies were all up to date and then proceeded to submit again.

Submitting my project — the second attempt

After submitting the project again via the Advocu platform, I received feedback within two days that my project was accepted!

It took about a week or so for my project and contributor profile to be visible on the Dev Library platform.

My Google Developers Dev Library profile

There is nothing quite like being featured with over 300 other developers from around the world on such an awesome platform. Developers can learn from your technical content or project about how to implement certain features in their own Google-based projects or how well-developed projects are supposed to be structured, organized and so on.

If you have technical content or an open-source project using Google technologies and would like to have it featured, do submit it to the Google Developers Dev Library.

Q-lued up with Android 10: Understanding the privacy requirements of Android 10

Recently I spoke at DevFest South Africa 2019 about the new privacy features that have been added as part of Android 10, formerly called Android Q. Over the years Android has seen exponential growth and with that growth a vast number of functionality has been added to the Android ecosystem. There has however been one thing lacking – allowing the user more control over their privacy. Apart from the usual UI updates and the new Dark Mode, Google has taken a deliberate stance with providing users the control they have so desperately needed.

In this session, I discussed the top privacy changes that are part of Android 10 and why these changes are important to both Android users and developers. I touched on the following changes and how developers can adapt to them:

Access to external storage – Android 10 has updated the way in which apps now have access to external storage. Creating a mechanism that ensures apps only have access to what they need through what is defined as scoped access.

Background device location – Users never really had control over how apps had access to their location. Once location access was granted apps would essentially have this access even when the app itself was not in the foreground. Access to the device location has been updated to focus on the user being in control of when an app should have access to the location.

Background starting of activities – in an effort to keep the user’s experience uninterrupted, Android 10 introduces changes to ensure that the user has more control over what is displayed to them on screen.

MAC address, network state – changes have been made in Android 10 where access to certain fields or properties has become restricted in the interest of privacy for the user.

Wi-Fi – Restrictions have been introduced about what can be accessed or what action can be performed when it comes to connectivity.

Permissions – before Android 10, the permission structure was one of two – allow always or don’t allow. The changes introduced allow the user to have more control about when such a permission can be granted.