[Перевод] Как я стал Google Developer Expert по Flutter
О программе
У Google есть программа для экспертов в их технологиях. Чтобы попасть в неё, нужно выступать, писать, обучать, менторить или делать open-source в технологиях Google. Программа называется «Google Developer Experts», и это самое привилегированное сообщество разработчиков, о котором я знаю.
Плюшки:
Ранний доступ к продуктам и экспериментальным версиям.
Приглашения на мероприятия Google.
Возможности выступать и знакомиться.
Официальное упоминание в Списке экспертов на сайте Google. Это увеличивает приглашения и упрощает собеседования.
Мой брат уже несколько лет в этой программе как эксперт по Angular. Говорит, что ему это сильно помогает.
Мой путь во Flutter
В декабре 2020 я работал над стартапом, и мне нужен был самый дешёвый фронт, чтобы собрать приложения и веб из одного кода — потому что я был единственным разработчиком.
Самый большой опыт на фронте у меня был в jQuery. Моё последнее мобильное приложение — Тетрис на JavaME в 2006.
Я делал мобильные приложения до того, как это стало модно.
Это явно не «из одного кода», нужно было изучать что-то новое. Я вспомнил, что мой друг говорил про Flutter как про следующую большую вещь (тогда ещё Flutter не обошёл конкурентов).
Я начал его изучать, и он захватил меня сразу. За несколько месяцев я сделал 60% своего MVP, но пришлось брать подработки, потому что тратить накопления был дико некомфортно.
Тот самый друг нанял меня, чтобы уложиться в срок по своему заказу на мобильное приложение, и вскоре я стал техлидом, через полгода в новой технологии.
Мы закончили проект в феврале 2022, и на последней неделе заказчику заблокировали юрлицо в Великобритании. Он россиянин, и этого оказалось достаточно.
Тогда же я переехал в Грузию и стал искать работу. У меня было 14 месяцев опыта, из которых 9 под NDA, и ни одного опубликованного приложения.
В местном чате программистов одна компания агрессивно пушила вакансию, и я откликнулся, просто для галочки. Но за скучным постом оказалось примерно такое сокровище:
Привет. Нам надо сделать фронт для Apache Beam. Всё open-source. Каждый PR ревьювят инженеры Google, потому что много контрибьютеров Apache Beam это сотрудники Google. Всё это остаётся на GitHub навсегда, и ты сможешь легко доказать свою работу кому угодно потом. Если что-то не нравится во Flutter, они могут команде Flutter напрямую это передать. Хочешь?
Midjourney: «apache beam».
Я искал работу на полставки, чтобы доделать стартап, поэтому сомневался. Но друзья сказали, что я буду оленем, если откажусь. Я согласился. Позиция была Senior, но меня взяли мидлом, потому что я не учил буквы в «SOLID».
Midjourney: «not solid».
Всё-таки после 17 лет на бэке и с опытом архитектуры я быстро стал Senior и вскоре вёл фронты для трёх проектов.
Через год мы сдали две обёртки для Apache Beam (Playground и Tour of Beam), и меня сократили.
Прекрасный повод для чего-то нового: пора податься в GDE.
Мой open-source
С самого начала работы с Flutter я вытаскивал повторяемый код в свои пакеты. Летом 2023 у меня было 18 пакетов Dart. Самые заметные:
app_state: пакет навигации.
keyed_collection_widgets: замена стандартных табов, которая использует enum вместо индексов.
enum_map: map с гарантией на этапе компиляции, что в ней будут значения для всех ключей-констант enum.
Ещё я был архиректором и главным разработчиком flutter_code_editor, который мы использовали в приложениях для Apache Beam. Наш менеджер великолепно договорился, что пакет с редактором кода остаётся у компании и не передаётся в Apache Software Foundation. Это увеличило заметность моей роли.
По мелочи я что-то делал в code_text_field, web3dart, easy_localization_loader, visibility_detector и ещё нескольких пакетах, но подумал, что это слишком мелко, и не стал упоминать в своей заявке.
Мои статьи
Я начал вести блог в 2021. Ненавижу повторяться, поэтому во время ревью кода я часто не объяснял ошибку или анти-паттерн, а писал статью и прикреплял ссылку. Так я получил первых 90 подписчиков на Medium.
Потом я написал статью-хит и получил ещё 200.
Недавно я узнал, что Flutter Community на Medium возобновили приём статей от новых авторов. Я отправил им 4 статьи, но их тихо отклонили.
«Flutter Community silently rejects articles».
Моя заявка
Я всегда боюсь отказов, поэтому хотел узнать требования заранее: сколько надо подписчиков, просмотров и т.п. Но никто не говорил.
Мой брат попал в GDE по приглашению. У него было около тысячи подписчиков в Twitter, когда ему написали и позвали. И у меня тоже это число закрепилось.
С тех пор процесс поменяли: мне нужно найти сотрудника Google или существующего GDE, который выступит рекомендателем, если считает меня подходящим. Я спросил у парня из Google, с которым работали на проекте Beam, но он ничего не знал про программу, кроме официального описания. Я думал, что у всех сотрудников Google тренинги, как в «Назад в будущее», но нет:
Таких тренингов в Google нет.
Для программы нужно описать достижения за последний год. Работы у меня больше не было, и в Apache я уже не контрибьютил, поэтому моя анкета скоро протухла бы. Я решил не ждать, и мой бывший ревьювер из Google рекомендовал меня в программу.
Мои статистики на тот момент:
Если вы не уверены, подходят ли ваши статистики, спросите существующего GDE.
Если ваши статистики ухудшаются в скользящем окне последнего года, я советую не ждать. Иначе можно упустить возможность, которая потом долго не повторится.
Воронка
В воронке несколько этапов:
Проверка анкеты: Команда Google проверяет, подходите ли вы по анкете.
Community interview: Существующий GDE беседует с вами, чтобы узнать. Здесь оценивают, что вы сделали для сообщества. И немного технических вопросов.
Product interview. Сотрудник Google из вашей технологии собеседует вас. Тут мы углублялись в технологии, и было приятно.
Я прошёл всё с первой попытки. К сожалению, больше рассказать не могу. :)
Всё заняло 17 дней от анкеты до финального письма, которое выкладывает каждый новый GDE:
Через некоторое время пришли все доступы, значки и т.п.
Что дальше
Я теперь буду писать много про Flutter и программу, поэтому:
Подпишитесь на мой канал в Telegram, теперь он — первоисточник моих новостей:
Мои тексты по Dart и Flutter, по разработке вообще, анонсы продуктов, вакансии и мысли о жизни.