1Z0-809 (Java SE 8 Programmer II)

1Z0-809 (Java SE 8 Programmer II) — сертификация продвинутого уровня от Oracle, которая и является целью после получения 1Z0-808.
85 рандомных вопросов, 150 минут, проходные 65%. Темы про Java API: стримы, лямбды, многопоточность и т.д. Во время сдачи никаких гаджетов, интернета, IDE, компилятора и т.п. Вас даже рукава попросят закатать, проверяя отсутствие шпаргалок. Пользоваться только головой.
Уровень middle, без подготовки можете застрелиться сразу, мне кажется. Причина простая: половина вопросов о том, что разок в документации читаешь, разок применяешь, потом забываешь. Очень много вопросов на отсечение неправильного кода, который неправильный потому, что у метода сигнатура другая (потому, сюрприз, надо много методов запомнить). В общем, нахрапом и здравым смыслом эту сертификацию можно взять только при очень удачном рандоме. По сути почти всё проверяет вашу память и внимательность при разборе кода задач.

Литературная подготовка включала в себя чтение Oracle Certified Professional Java SE 8 Programmer Exam 1Z0-809 — как сейчас понимаю, бестолковый и бесполезный текст, если вы уже работающий джавист и с API знакомы. Считаю, напрасно потратил время. По generics читал отличные Java Generics FAQs, в остальном Javadoc.
Также снова купил mock exams у Enthuware. 520+ вопросов, потому развлечение эдак на 16..18 часов. И снова подспорье крутое, но с нюансом: слишком много задач, не входящих в темы сертификации, субъективно ~25%. Зачем они включены — не понять. Важно другое — эти mock exams отлично подходят для выявления слабых знаний и накачки. Так и использовал, попутно старясь запомнить объяснения к сложным местам (спасибо автору, много ссылок на JLS и Javadoc)

Проходил 27 апреля в Softline. Сдал на 75% за полтора часа. Вроде и сдал, но красиво — это 90% и выше, а тут просто перешагнул планку, потому удовлетворённым себя не чувствую. С другой стороны… Чтобы красиво сдать, надо либо в спокойном режиме дней постоянно планомерно накачиваться, либо постоянно на практике использовать эти API, либо обладать фотографической памятью. У меня этого не было. Да и как-то задолбался уже больше двух месяцев ежедневно вколачивать в себя довольно скучные темы. Потому поставил точку и пошёл сдаваться.

30 дней на подготовку, в среднем полтора часа в сутки. 500 страниц учебника, около 700 тестовых задач, около 200 страниц дополнительного материала (Javadoc к JDK, Generics FAQ), почти 14000 рублей. Сертификация не понравилась. Если в 1Z0-808 были задорные моменты, то 1Z0-809 слишком механическая. Разве что при подготовке много дополнительного прочёл и забытого вспомнил.

О сертификациях

К сертификациям в разработке отношение сложное. Как 15 лет назад мы с недоумением смотрели на коллегу, который сдал пару Java-экзаменов, так и сейчас в наших краях оно вроде как и бесполезно, да ещё и дорого, три экзамена — топовый смартфон, ага.
Что любопытно, на Западе и на Востоке всё диаметрально иначе. Если речь идёт о вендорных дипломах (Oracle, Microsoft, Cisco, Amazon и т.д.), статистически вы заметно повышаете свой доход. А уж админы и NOC’и без сертификаций… скажем, приветствуются далеко не везде. На деле у них чуть ли не на порядок (относительно разработки) всё это развитее, особенно если с Cisco работать.

Итак, вы простой советский разработчик в размышлениях «а нафига». Вот мои ответы мне на эти «нафига». Собирал и осмыслял много лет, пока не собрал критическую массу, после чего сдвинул жопу с тёплого стула. Внимайте.
Во-первых, мотивация выучить то, до чего иначе руки не дотягиваются. Девять из десяти разработчиков знают области разработки на уровне «знаю только то, что применяю в своей работе на ПупкинСофт Ltd». Мне это стыдно и скучно, но всё равно не хватает пинка, чтобы вернуться к азам. Провалил экзамен — выбросил в окно 7 ящиков шотландского эля — жалко, блин. Лучше выучу.
Во-вторых, в процессе подготовки узнаёшь много интересного и немало полезного. У вас не получится тупо зазубрить ответы на билеты, т.к. билеты не публикуются. Приходится зубрить темы целиком, что приводит к просветлению головы и автоматическому повышению квалификации. Заодно это хорошее лекарство от избыточной самоуверенности, спеси и зазнайства. До подготовки ты крутой и всё знаешь, а тут вдруг того не знаешь, этого, сего и ещё про вон ту конструкцию даже не догадывался. Поневоле задумаешься о том, сколько раз за годы на основе такого невежества озвучивал совершенно идиотские суждения.
В-третьих, лидам полезно самим пройти распространённые сертификации из их области, чтобы объективнее оценивать наличие сертификатов в резюме. Как минимум, сможете сократить или упростить собеседования, что на потоке уже хорошо.
В-четвёртых, весь мой опыт говорит следующее — вы никогда не угадаете, какая бумажка вам поможет в будущем, но совершенно точно ни одна позитивная бумажка о ваших достижениях не будет лишней (ну, помимо диплома о первом месте на поселковой олимпиаде по информатике). Выстрелить в вашу пользу может в совершенно случайный момент. Да даже тем, что у рекрутера глаз зацепился и ваше резюме легло на верх стопки — уже это может сдвинуть жизнь на 90 градусов.
В-пятых, сертификаты действительно показывают профессиональный уровень их владельца. Да, там много наивных вопросов. Да, задачи бывают идиотскими. Фигня в том, что многие разработчики не могут ответить на эти вопросы и не могут решить эти задачи. Люди, может, и хорошие, но на Python-собеседовании на 10 минут уходят в себя, не в силах вспомнить, есть ли в языке тернарный оператор. И если я увижу в резюме хотя бы entry level сертификат (обычно они про синтаксис), я буду знать — этот боец знает, где какой оператор.
В-шестых, однажды вы можете мигрировать. Я минут тридцать ради fact checking листал job-сайты США и всё так же вижу много вакансий, в которых так или иначе, но варианты следующего: «Must possess at minimum an Oracle Certified Associate Java SE x Programmer certification or must obtain an Oracle Certified Associate Java SE x Programmer certification within 120 days after hire». Да, обычно это крупные бюрократизированные конторы. Но вы уверены, что уже через год от переезда нанявший вас стартап не развалится и вы не будете лихорадочно искать любое место?
В-седьмых, сертификации и сертификаты — объективная часть мира разработки. Никого не волнует ваше мнение о том, нужны ли они, полезны ли они, что они показывают и т.п. Они есть. Через них прошли миллионы разработчиков. Они влияют на оклады, на контракты, на собеседования. Вы либо принимаете правила игры и хоть ознакомительно осваиваете этот угол ринга, либо бестолково бунтуете, отрицая, либо равнодушно игнорируете, пока не столкнётесь. Как по мне, мудрее ознакомиться до того, как возникнет нужда.
В-восьмых, наконец, это fun. Не, правда. Годный вариант отойти в сторону от рутины и вспомнить, что такое учебники, билеты, экзамены, волнение «сдал? завалил?» Мне понравилось. Теперь точно буду в год хоть по два сертификата получать, чтобы развлечься.

Итого… Ну, понятно, что я в основном вижу лишь плюсы. Правда, важно помнить главное: сертификация — она для вас, она в ваших интересах, она решает ваши задачи и проблемы. Вас не будут носить на руках на следующий же день от сдачи, не будут на собеседованиях чествовать красной дорожкой. Это стратегический вклад кирпичика в вашу стену специалиста. Без остальных кирпичиков (интеллект, дисциплина, множество знаний из разных областей, трудолюбие и т.д.) не стоит ничего.
PS. Подчеркну: речь не про Курсеры и Брейнбенчи, речь про те экзамены, которые вы сдаёте производителям софта / железа, получая сертификат соответствия знаний стандартам производителя.

1Z0-808 (Java SE 8 Programmer I)

1Z0-808 (Java SE 8 Programmer I) — сертификация начального уровня от Oracle, без которой не допустят до остальной линейки. Хоть весной уже и Java 10 выйдет, тесты пока не обновляют, у Oracle с этим туго. Потом можно будет сдать отдельный update.
70 (не 77, как иногда пишут) рандомных вопросов, 150 минут, проходные 65%. Темы про основы самого языка без вопросов о множестве библиотек (это счастье на следующих уровнях), достаточно знать лишь десятка два распространённых в быту классов. Во время сдачи никаких гаджетов, интернета, IDE, компилятора и т.п. Вас даже рукава попросят закатать, проверяя отсутствие шпаргалок. Пользоваться только головой.
Хоть уровень и junior, без подготовки могут быть сюрпризы. Java местами не самый очевидный язык, есть как формально верные, но неиспользуемые части (про них спросят), так и то, что понять не получается, надо просто запомнить в идеале именно так, как в JLS сказано.

Литературная подготовка включала в себя только чтение OCA Java SE 8 Programmer I Certification Guide — чтение унылое, скучное, но обязательное. Книга хороша тем, что настраивает голову на нужный лад. Вы многократно повторяете материал и знакомитесь с примерами вопросов для того, чтобы привыкнуть (это важно) к характеру сертификации. С этим управился за 18 дней.
Также купил mock exams у Enthuware. 600+ вопросов, потому развлечение эдак на 10..12 часов. Подспорье крутое, тут претензий нет, очень советую не пожалеть почти 600 рублей (ага, по рублю за задачку).
Во-первых, повторение материала, но с другого угла. Некоторые темы после марафона подготовки у меня от зубов отлетают — на задачу не более 15 секунд тратил.
Во-вторых, некоторые задачи там специфические. Их не должно быть на экзамене, т.к. нет в списке разделов от Oracle, но людям попадались.
В-третьих, смирение. Невозможно не впасть в оное после десятков задач, «сложность» которых сугубо механическая и на внимательность. Плохое форматирование, нетрадиционный порядок кода, запутанность имён, череда арифметики в циклах. Легко можно выбрать неверный ответ только потому, что в варианте не заметили замены двойной кавычки на одинарную.
В-четвёртых, уровень. Задачи качественно и количественно сложнее, чем на сертификации — часть времени и сил потратите на то, чего не будет в бою. Но если даже с учётом этого уверенно во всех тестах набрали проходной процент, значит, можно двигать на настоящую сдачу.

Проходил 15 марта в Softline. Сдал успешно на 95% за полтора часа. Боевой экзамен оказался настолько лёгким после подготовки, что я каждый вопрос раз пять вычитывал, выискивая хитрые подвохи. Но нет, подвохов почти и не было. Те три вопроса, в которых ошибся, сугубо из-за лени — влом было зазубривать прям вот до пуговки Time API, за что и поплатился.

22 дня на подготовку, в среднем полтора часа в сутки. 700 страниц учебника, около 750 тестовых задач, около 100 страниц дополнительного материала (JLS, статьи, Javadoc к JDK), почти 14000 рублей.