Привет, Хабр! Сегодня хочу поделиться с вами историей о том, как я сдавал сертификационный экзамен Google Developers Certification: Mobile Web Specialist. Если честно, то каких-то объективных причин я назвать не могу, так как не слышал ещё ни об одном случае, когда наличие сертификата давало кому-то преференции при устройстве на работу или помогало повысить зарплату. Под катом расскажу, почему всё же решил сдать экзамен и подробно опишу, как я его сдавал.
Зачем нужен сертификат?
Для меня это ориентир, показывающий что тебе нужно прокачать. И, конечно, сертификационный экзамен — это вызов самому себе. Google предлагает полностью практические экзамены, нужно писать реальный код для решения поставленных задач. Это прекрасный способ проверить свой уровень знаний, а заодно еще и похвастаться перед коллегами, разумеется. В итоге, после Google IO в мае 2017 я загорелся идеей получения этого сертификата.
Подготовка к сертификационному экзамену Mobile Web Specialist
Как готовиться по правилам
Начать подготовку следует со страницы сертификации Mobile Web Specialist, где можно найти массу полезной информации об экзамене и подготовке к нему. Отдельно стоит отметить Mobile Web Specialist Study Guide, в котором перечислены основные темы экзамена вместе со ссылками на материалы, с которых стоит начать изучение темы. Для меня этот документ стал своего рода чек-листом для проверки, что я изучил каждую из перечисленных тем.
- Basic Website Layout and Styling — эта тема включает в себя умение создавать отзывчивые (responsive) веб-сайты, адаптивная верстка, работа с изображениями, знание и понимание Mobile-First подхода и умение работать с различными размерами экранов на разных устройствах.
- Front End Networking — предполагает, что кандидат знает как веб-приложение может взаимодействовать с сервером и запрашивать оттуда какие-то данные. Причем, преждполагается знание современного Fetch API. Необходимо уметь работать в асинхронном режиме, знать как работают Promise'ы, а также CORS.
- Accessibility — тема доступности весьма важна, Google всячески старается ее продвигать и развивать. Здесь рассматриваются такие вопросы, как создание доступной разметки для десктопов и мобильных устройств, применение ARIA-атрибутов, корректная навигация по веб-сайту без помощи мышки, семантическая верстка, умение правильно выделять элементы (работа с фокусом).
- Progressive Web Apps — включает в себя все аспекты создания и работы с прогрессивными веб-приложениями, Offline-First подход и использование Service Worker'ов.
- Performance Optimization and Caching — здесь про Cache API, Web Storage API, IndexedDB API плюс Web Worker'ы, а также отдельно хочется отметить порядок отображения контента на странице (Critical Rendering Path).
- ES2015 Concepts and Syntax — нужно знать и уметь применять новые языковые конструкции современного JavaScript'а. Пожалуй, это самая легкая тема из всех.
- Mobile Web Forms — включает в себя знание новых атрибутов для элементов ввода, появившихся в HTML5, и способы валидации форм.
Как готовился я
Мне в подготовке к экзамену помогла программа обучения Google Developers Scholarship, организованная Google и Udacity. Эта программа была запущена осенью 2017 и содержала трек Mobile Web Specialist.
По результатам программы Google Developers Scholarship меня выбрали для продолжения обучения по программе: Mobile Web Specialist Nanodegree.
Эта программа включает в себя большой объем лекционного материала, покрывающего около 90% тем на экзамене (только тема Mobile Web Forms в этой программе подробно не разбиралась). Также для успешного завершения обучения нужно было сделать три больших проекта и применить в них все изученные приемы и техники. Это очень сильно помогло мне усвоить весь новый материал и подготовиться к экзамену с практической точки зрения. По большому счету, программа Mobile Web Specialist Nanodegree стала моим основным источником знаний, рекомендую ее всем заинтересованным.
И вот, когда летом 2018 года я наконец завершил свое обучение, я снова открыл темы экзамена и понял, что готов.
Процесс проведения экзамена
Я не буду подробно описывать процесс записи на экзамен, все написано на сайте и процедура достаточно тривиальна. Из административных вещей важно знать следующее:
- Стоимость экзамена на момент публикации этой статьи составляет $149.
- В данную стоимость входит три попытки сдачи экзамена.
- Для записи на экзамен необходимо предоставить фотографию/скан документа, удостоверяющего вашу личность.
- Для успешной сдачи экзамена вам достаточно стабильного интернета, браузера и наличия камеры и микрофона (для второй части экзамена).
Экзамен проводится через ресурс TrueAbility. В процессе записи на экзамен для вас будет создан личный кабинет, через который вы и запустите ваш экзамен.
Экзамен практический и разделен на две части:
- На первую часть отводится 4 часа времени, в процессе которого вы будете решать поставленные перед вами задачи. Вы вправе как угодно распоряжаться этим временем, в том числе делать перерывы, переходить от задачи к задаче и возвращаться к предыдущим задачам.
- Небольшое интервью из 5 вопросов с роботом. Для интервью потребуется, включенная камера и отвечать нужно будет голосом на английском языке. Цель этого интервью — проверить, что вы сами сдавали экзамен.
Основная часть
Для вас будет запущена виртуальная машина с Linux’ом на борту, доступ к которой вы получите прямо через браузер из личного кабинета. Внутри виртуалки вы найдете Google Chrome, в котором будет открыта страничка с вашим заданием и редактор кода Atom.
В моем случае экзамен состоял из 18 заданий. Все без исключения задания выглядят примерно так: нужно поправить существующий код, чтобы починить что-то, и/или добавить новую функциональность. Поскольку у вас есть код и результат работы этого кода в браузере, то проверить себя можно просто, обновив страницу и убедившись, что ваш код работает как и задумано. У меня встречались задачи разные по сложности и по объему написания кода (от исправления пары строк, до написания больших объемов функциональности с нуля, особенно в задачах про Service Worker’ы). Стоит отметить, что Google разрешает вам пользоваться любыми ресурсами, которые вам нужны. При этом они говорят, что за вашей работой могут наблюдать, но никто не ожидает, что вы должны все делать только по памяти.
Изначально мне казалось, что 4 часа очень много для экзамена, но в моем случае на практике оказалось, что 2 задачи из 18 я закончил лишь частично — не хватило времени, и это при том, что я делал всего один перерыв на 5-7 минут. Надеюсь, у вас этот этап пройдет легче.
Интервью с роботом
После завершения основной части вас ждет интервью с роботом, главная цель которого — проверить, что вы сами сдавали экзамен. Потребуется камера, отвечать на вопросы нужно голосом на английском. На все интервью отводится 10 минут, в течение всего времени идет запись видео. Вопросы привязаны к вашим задачам, например, могут спросить что-то вроде: «А в какой цвет требовалось покрасить background в условии задания номер 3?». Так как задания уникальны, то даже если вы не вспомните номер задания, то само задание точно не перепутаете.
Поздравляю! На этом этапе вы успешно завершили экзамен и теперь остается только ждать. По правилам данной сертификации письмо с результатом вам могут прислать в течение 45 дней с момент сдачи экзамена. Нужно набраться терпения и ждать.
Что получаем в результате
Мое ожидание составило ровно 45 дней. Я уже думал, что мой экзамен где-то потерялся, но вечером последнего дня мне пришло письмо, подтверждающее, что я сдал экзамен, а также ссылка на ресурс, где я и увидел свой сертификат, а также всякие ссылочки для добавления его в различные социальные сети.
Следует обратить внимание, что срок действия сертификата — 3 года, потом придется подтверждать.
Удачи всем, кто планирует сдавать сертификационные экзамены! Если вы уже сдавали их, делитесь опытом в комментариях. Интересно узнать, как это было.