Подтверждение собственных навыков — крайне важная задача для любого разработчика. Для этого можно выполнить тестовое задание, завести аккаунт на гитхабе и выкладывать туда актуальные примеры кода или же пройти сертификацию в крупной компании, широко известной на рынке. Такую, например, как Google Developer Certification, позволяющую подтвердить свою способность выполнять задачи, с которыми постоянно сталкиваются Android-разработчики.
Наш senior-разработчик Сергей как раз недавно прошел эту сертификацию и готов поделиться впечатлениями.
Собственно, задачи
В целом сертификация довольно простая. Мне показалось, что она рассчитана на junior’ов, только что изучивших https://developer.android.com/index.html и желающих получить сертификат в подтверждение своих знаний. Для выполнения задания предоставляется 48 часов, мне на всё понадобилось 10 часов, и это с учетом того, что я потратил какое-то время на рефакторинг предоставленного кода.
В качестве задания даётся наполовину готовое приложение, в котором нужно:
- реализовать несколько функциональных фич, например:
- операция чтения/записи для базы данных;
- реализация UI;
- реализация меню (в виде navigation drawer либо в виде обычного выпадающего меню);
- реализация нотификации;
- и т.д.;
- написать тесты для приложения, это могут быть как unit тесты, так и UI тесты;
- пофиксать специально заготовленные баги;
- поменять дизайн приложения;
- и другие подобные задачи.
Примеров, к сожалению, привести не смогу, т.к. проект категорически запрещается копировать/распространять.
Полный список тем можно посмотреть тут, однако в тестовом проекте представлены не все темы, а где-то 50%. Я подозреваю, что существует несколько вариантов проектов, каждый из которых покрывает разное множество тем.
Предполагается использование только нативных технологий, никаких сторонних библиотек, в задании могут попасться довольно редкие штуки. Например, виджеты. До этого мне никогда не приходилось делать виджеты, но в итоге я разобрался и с разработкой проблем не возникло. Впрочем, они появились в другом месте.
Этапы сертификации…
Здесь нужно сказать, что сертификация состоит из нескольких этапов:
- Написание кода и отправка его на проверку. Также к проекту нужно будет приложить электронную копию документов в PDF для идентификации личности.
- Проверка кода компьютерами, а затем людьми. Максимальный срок проверки — 45 дней, как написано в правилах. Минимальный же срок не указан :)
- После успешной проверки предполагается созвон по Skype, который нужен, чтобы еще раз подтвердить свою личность и доказать, что код писали именно вы.
…и её подводные камни
Спустя два месяца результата всё ещё не было, несмотря на “максимальный срок” проверки в 45 дней. Зато вскоре после отправки задания мне пришло письмо о том, что мне нужно подтвердить свою личность. Для этого требовалось прикрепить скан ID (паспорт или другой документ) и фотографию лица в систему автоматической верификации. На прохождение верификации даётся неделя (позже я объясню, почему это важно). Я прикрепил оба требуемых изображения, в ответ мне пришло письмо о том, что верификация провалилась. Я попробовал еще раз — и снова неудача. После этого я начал долгую переписку с саппортом udacity, который оставлял желать лучшего: отвечали они всего раз в сутки. Я прикреплял изображения к письму и просил их сравнить 2 фотографии в ручном режиме, но они ответили отказом, аргументировав, что это должна сделать автоматическая система верификации. Я попробовал снова пройти верификацию — и опять неудача. Я снова написал в саппорт, они спросили меня какой тип ID я пытаюсь загрузить, я им ответил, что это российский паспорт. Ответом мне была тишина. Поскольку у меня оставался всего один день для верификации, я решил попробовать сделать то же самое, но с загранпаспортом. И в итоге – успех. Самое интересное в том, что об этом нет никаких упоминаний в условиях, наоборот, написано, что сертификацию может пройти житель почти любой страны с любым ID. Но по факту, если бы у меня не было загранпаспорта, я бы просто потерял 100$, так как саппорт работает отвратительно. После того, как верификация успешно завершилась, они, видимо, это заметили, и закрыли тикет в своей трекинговой системе. Письмо с просьбой оценить их “работу” я просто проигнорировал, потому что проблему они не помогли решить совсем.
Правда, раз в 2 недели приходило письмо, где команда Google сообщала мне, что работа на проверке и результаты скоро придут, о чем меня немедленно уведомят в дашборде. Помимо этого они очень мило признавались, что понимают, как сложно бывает дождаться результата экзамена, и благодарили за терпение. Ход, конечно, отличный, но когда я решил ответить на одно из этих писем, спросив, как обстоят дела с проверкой, с ответом никто не спешил.
Успех! :)
И вот буквально на прошлой неделе в 23-00 по Новосибирскому времени (т.к. проверяющий находится в Mountain View) со мной таки провели выпускное “мини-собеседование”, которое состояло из трех частей:
- Очередная верификация личности :) Нужно было назвать имя, фамилию, адрес электронной почты и показать паспорт в вебку.
- Дать обратную связь по заданию. Меня спросили, что было сложного/легкого и интересного. Я ответил, что для меня сложного ничего не было, задачи были достаточно простыми, но несколько интересных среди них всё же было. Объяснил, что это был эксперимент нашей компании с целью выяснить, подходит ли данная сертификация для наших junior разработчиков. На это со мной согласились, сказав, что тренинг в первую очередь рассчитан на новичков. Я же считаю, что наша внутренняя серия новеовских android-тренингов будет покруче :)
- Ответить на 5 вопросов, связанных с моим конкретным заданием. После того, как я ответил на все вопросы, мне сказали, что пришлют письмо с результатами в течении недели.
И действительно, в конце этой же недели ночью мне пришло письмо, в котором был специальный электронный бадж, который можно прикрепить в профиль LinkedIn.
Мой вердикт: в целом сертификация — дело, конечно, хорошее. Еще бы убрать моменты с бесконечной и местами бестолковой верификацией личности и несоблюдением сроков, вызывающие недоумение и негатив, — так и вообще будет красота! =) Надеюсь, мой опыт окажется полезным или как минимум интересным для тех, кто собирается проходить Google Developer Certification.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: