How I became a Google Developer Expert in Flutter

Alexey Inkin
Google Developer Experts
6 min readJul 29, 2023

--

The program

Google has a program for experts in its technologies. To get there, an expert must speak, teach, mentor, or develop open-source software. The program is called “Google Developer Experts” and is the most privileged community for developers that I know of.

Privileges include:

  • Early access to new products and features.
  • Invitations to Google’s events.
  • Speaking and networking opportunities.
  • Official mention in Google’s list of experts. This boosts job offers you get and simplifies any interviews.
  • Access to a network of experts in other Google technologies.

My brother has been in the program as an Angular expert for years, and he says it helped him a lot.

My path with Flutter

In December 2020, I was working on a startup and needed the cheapest possible frontend to build mobile apps and web from a single code base because I was the only developer.

Of all frontend things, I was most experienced in jQuery. My last mobile app was a Tetris in JavaME made in 2006.

I had been making mobile apps before it was popular.

That was far from a single code base, so I had to learn something new. I recalled my friend saying Flutter was the next big thing. That was even before Flutter became the most popular cross-platform solution.

So I started learning it, and it grabbed me instantly. After a few months, I made ~60% of my MVP, but I had to take side jobs because living off my savings was frustrating.

That same friend hired me when he needed help meeting a deadline on a mobile app. I quickly became a tech lead for him, half a year into the technology.

We finished the project in February 2022, but on the last week, the customer’s legal entity was blocked in the UK because the war started. The customer was Russian, and Russians became one of the minorities most discriminated against in the West.

I am Russian myself, so I left my country and was looking for a job because my expenses skyrocketed. I had 14 months of experience in Flutter, 9 months of it covered by an NDA, and not a single app in any store.

I moved to the other Georgia. There was a local chat for programmers and one company was persistent in posting a job there. I applied just to get them off my radar. But behind the boring post was something like this:

Hi. We need to develop some frontend for Apache Beam. Everything is open-source. Every PR you push is reviewed by engineers from Google because most of the Apache Beam contributors work for Google full-time. And that stays on GitHub forever, so you can easily prove your work to anyone if you ever need to and if you don’t like anything in Flutter, they can talk to the Flutter team directly. Want that?

Midjourney’s idea of “apache beam”.

I was hoping to only get a part-time job to continue my startup, so I hesitated. But then my friends said I would be nuts to not take that. So I took it. The post was for seniors, but they hired me as a middle Flutter developer because I never learned the letters in “SOLID”.

Midjourney’s definition of “not solid”.

Still, my 17 years of backend and architecture experience got me promoted to a senior, and I was leading the frontend development shortly after.

Fast forward a year, and we’ve completed two projects for Apache Beam — then my job was cut.

That was the perfect time for a shift.

My open-source stuff

Since the early days, I’ve been extracting some reusable things to my own Dart packages. As of writing, I maintain 18 of them. Some of the most distinguished ones are:

  • app_state: a navigation package.
  • keyed_collection_widgets: a replacement for Flutter tabs that uses enums instead of indices.
  • enum_map: a map with a compile-time check that every enum constant has an entry in.

I was also an architect and the primary developer of flutter_code_editor, which we used in Apache Beam projects. Our manager was smart enough to negotiate that we own it and do not donate it to Apache. That improved the distinction for me.

On the way, I made contributions to code_text_field, web3dart, easy_localization_loader, visibility_detector, and some others, but I considered them too minor to report in my application.

My writings

I started this blog in 2021. I hate repeating myself, so instead of extensive code reviews for my mentees on GitHub, I would just write an article of do’s and don’ts and drop a link in a comment. This is how I got my first 90 followers.

Then I wrote a hit that gained 200 followers for me.

Recently, I learned that Flutter Community on Medium resumed applications for new authors. I have submitted 4 articles, but they all were silently rejected.

“Flutter Community silently rejects articles”.

My application

I always fear rejection, so I wanted to know the required statistics before applying: followers, attendance, views, etc. But no one could tell me that.

My brother joined GDE a few years ago when they were proactively inviting people. He had about a thousand followers on his Twitter when they contacted him. That figure stayed in my mind.

Since then, they changed the process so that I should ask an existing GDE or Googler, and then they would refer me if they think I qualify. So I asked one of the Google guys who was reviewing our work for Apache about the requirements for GDE. He said he does not know anything beyond the program’s official description. I was hoping that every Googler had answers because they are instructed like this, but they were not:

This is not how Googlers are instructed.

The program asks for contributions in the last year. I was unemployed and no longer contributing to Apache, so my record would not improve but get outdated soon. I had to take my chance, and my ex-reviewer from Google referred me.

My statistics at that time:

If you doubt whether you qualify with your statistics, ask an existing GDE.

If your statistics for the rolling window of a year are declining, I suggest you do not waste your time. Otherwise, you may miss an opportunity that may take a long time to present again.

The funnel

There are three steps in the funnel:

  1. Eligibility check: The Google team reviews your written application.
  2. Community interview: A current GDE talks to you to get to know you. This is to further estimate your impact. There are also some technical questions.
  3. Product interview. A Google employee from your technology interviews you. We had a deep technical talk that was totally enjoyable.

I passed all the stages on the first attempt. Sorry, can’t tell you more. :)

The whole thing took 17 days from the application to the final email that you can find in every freshman GDE’s article:

Soon after, I received all access, badges, etc.

Follow up

I will be writing more on Flutter and the program, so:

My stuff on Dart & Flutter, on software development in general, product announcements, jobs, life thoughts.

--

--

Alexey Inkin
Google Developer Experts

Google Developer Expert in Flutter. PHP, SQL, TS, Java, C++, professionally since 2003. Open for consulting & dev with my team. Telegram channel: @ainkin_com