Привет, Хабр! Oracle ушел, а сертифицироваться Java‑разработчикам где‑то нужно. Мы с партнерами решили занять освободившуюся нишу, и у нас это получилось. В этой статье расскажем о том, как мы создали аналог сертификации для джавистов, докрутили концепцию, а также дадим рекомендации, как подготовиться к тестированию, и поделимся полезными материалами.

Что из себя представляет сертификация?

Многие Java‑разработчики сдавали сертификацию Oracle Certified Professional: кто‑то, чтобы подтвердить свою квалификацию, кто‑то — чтобы аргументировать повышение грейда и ЗП, кто‑то — чтобы упростить процесс прохождения job interview и выгодно отстроиться от других кандидатов. Когда вендор ушёл, мы в IBS поняли, что у нас, экспертов нашего учебного центра, достаточно компетенций и опыта (мы обучили и протестировали около 11К специалистов) для того, чтобы занять освободившуюся нишу. Russian made аналогов не было, и мы, заручившись поддержкой сильных игроков IT‑рынка — фонда «Сколково» и команды Axiom JDK, поставщика российской платформы Java, разработали свою систему независимой оценки квалификации джавистов.

Сейчас мы успешно запустили сертификацию трех уровней: «Базовый», «Специалист» и «Продвинутый». Первая сертификация ориентирована на Junior‑разработчиков; успешная сдача экзамена подтверждает, что специалист имеет представление о фундаментальных аспектах Java, умеет анализировать информацию, решать базовые задачи. Мы не будем останавливаться на этой первой ступени сертификации в этом материале и больше расскажем о двух других уровнях.

Вторая сертификация предназначена для разработчиков Middle‑уровня, с приличным практическим опытом, знанием основ и прикладных аспектов для создания кода любого проекта. В рамках этой сертификации мы проверяем 15 компетенций — по пять вопросов на каждую компетенцию. Итого: 75 вопросов, 3-часовой экзамен в offline‑формате. Третья сертификация — «Продвинутый» уровень — предназначена для Senior‑разработчиков с большим опытом. Здесь мы проверяем знания Java‑классов, Generics и коллекций, Java Stream API и других углубленных тем. Формат, количество вопросов и продолжительность экзамена — те же, что и у уровня «Специалист». Стоит сделать пару общих замечаний:

  • чтобы получить сертификат, нужно ответить правильно на 70% вопросов;

  • все на русском языке;

  • сертификацию проводим по 11-й версии Java;

  • срок годности сертификата: 3 года.

Для offline‑формата нам, конечно, нужны площадки. Сегодня все желающие могут пройти экзамен в трех городах: Москве, Петербурге и Омске. Но мы мобильны: у IBS есть офисы в 13 локациях (Мск, СПб, Омск, Н. Новгород, Ульяновск, Новочеркасск, Пенза, Пермь, Таганрог, Барнаул, Белгород, Вологда, Уфа), а еще мы всегда готовы организовать выездное тестирование, если в определенном месте наберется достаточная группа желающих.

Особенности самой сертификации и списки тем

В отличие от сертификации Oracle в наш экзамен входят вопросы, которые проверяют уровень владения фреймворками модульного тестирования JUnit, другими востребованными инструментами типа сборщика Maven, систем контроля версий Git, каркасом Spring или технологиями JPA и JDBC. В экзамене уровня «Продвинутый» также есть вопросы про REST‑сервисы, Docker‑контейнеризацию, масштабирование через Kubernetes и т. д. То есть мы сертифицируем не просто знание языка, но и степень владения современным прикладным инструментарием для Java‑разработки.

Эксперты учебного центра IBS считают, что секрет успеха сдачи экзамена заключается в наличии у специалиста «интуиции кодера». Выучить всю профессиональную литературу, посмотреть туториалы на youtube и пройти курс Саймона Робертса недостаточно, чтобы ответить правильно на 70% вопросов сертификации. Крайне важно иметь практический опыт, набитые шишки, чутье, которое не дается от природы, а нарабатывается годами кодинга.

Теперь расскажем о темах, которые охватывают сертификации разного уровня. Как мы упоминали, количество тем в экзамене уровня «Специалист» — 15, количество вопросов — 75:

  1. Основы языка Java

  2. Типы данных

  3. Операторы и структуры ветвления

  4. Создание и применение массивов

  5. Работа с циклами

  6. Методы и инкапсуляция

  7. Наследование

  8. Обработка исключений

  9. Избранные классы библиотеки Java API

  10. Основы git и сборка проектов с помощью Maven

  11. Основы баз данных

  12. Spring Boot

  13. Основы JPA/Hibernate и Spring Data

  14. Spring REST

  15. Основы модульного тестирования

  16. Модульная система

  17. Безопасность

Сначала у нас была идея сделать сертификацию на уровень «Специалист» обязательной для тех, кто планирует сдавать экзамен на «Продвинутый» уровень. Но затем мы от этой задумки отказались, т. к. на рынке есть большая доля Senior‑разработчиков, которые захотят проверить свои компетенции сразу на «Продвинутом» уровне, однако все равно рекомендуем всем джавистам сначала сдавать экзамен на «Специалиста». Для удобства тех, кто готовится к сертификации, мы разработали методичку. Скачать ее можно по ссылке.

Темы, которые включает тестирование на «Продвинутый» уровень, 18:

  1. Фундаментальный дизайн Java‑классов

  2. Углубленный дизайн Java‑классов

  3. Настраиваемые дата‑типы (Generics) и коллекции

  4. Лямбда‑выражения и функциональные интерфейсы

  5. Java Stream API

  6. Исключения и проверка инвариантов

  7. Java SE 8 Date/Time API

  8. Основы ввода/вывода в Java

  9. Java File I/O (NIO.2)

  10. Java Concurrency

  11. Работа с базами данных через JDBC

  12. Локализация

  13. Продвинутые вопросы применения REST‑сервисов

  14. Подходы и паттерны разработки микросервисов на Java

  15. Брокеры сообщений

  16. Продвинутые вопросы применения Spring

  17. Безопасность для REST‑сервисов с помощью Spring Security

  18. Принципы SOLID и шаблоны проектирования

  19. Оптимизация и мониторинг JVM

Лайфхаки от экспертов

А теперь делимся с вами лайфхаками экспертов учебного центра IBS, которые участвовали в разработке сертификации:

  • кодеры часто сразу ныряют в код, не уделив должного внимания тексту задания, — не делайте так, внимательно прочитайте вопрос (!);

  • если вы встречаетесь в задании с чрезмерно сложным, «византийским» кодом, он, вполне возможно, содержит обращения к переменным за пределами их видимости, синтаксические ошибки, недостижимые операторы;

  • вопросов, требующих «поломать голову», нет: в сертификации 75 заданий, которые нужно решить за 180 минут, вы бы просто не успели решить очень сложные кейсы;

  • решайте задания поступательно, по порядку, так, как они даются;

  • не перескакивайте вопросы с мыслью «вернусь к ним позже» — у вас не будет времени к ним вернуться;

  • интуиция — ваш первейший и вернейший друг;

  • код может быть каверзным, но это не значит, что мы выискивали редкие и заковыристые казусы для экзамена. Мы используем только те кейсы, которые регулярно встречаются в работе, и да, среди них есть сложные;

  • не поддавайтесь искушению сразу перепроверять вычисления — оставьте этот этап на ревью.

Больше информации вы сможете найти на сайте проекта сертификации. Если у вас остались вопросы, смело пишите их в комментариях к этой статье. Спасибо за внимание!

Комментарии (17)


  1. Necessitudo
    00.00.0000 00:00
    +13

    А зачем нужны сертификаты которые нигде кроме России не актуальны?


    1. SnowBearRu
      00.00.0000 00:00
      -3

      Предположу: что бы как то выровнять выпускников курсов "войти в IT"


    1. aleksandy
      00.00.0000 00:00
      +9

      Ниша на рынке освободилась, денежку же собирать кто-то должен.


    1. sighbernaut
      00.00.0000 00:00
      +3

      Из того факта, что предложенное решение не актуально --- пока что --- за пределами РФ, отнюдь не следует, что оно в принципе не может быть востребованным. Разве России не нужны грамотные специалисты, чья компетенция документально подтверждена?


  1. VovkaSOL
    00.00.0000 00:00

    Из своего опыта сдачи 819 экзамена: чтобы уложиться по времени на сертификации Oracle Professional по J11 приходится сначала читать ответ, а потом только вопрос и код. У вас почему то рекомендация сначала вчитываться в код.

    Плюс у Оракла была возможность сдавать экзамен удаленно с постоянно включенной камерой, не только в центрах сертификации


  1. Spartak13
    00.00.0000 00:00
    +3

    Мой опыт говорит (понятно, что это легко может быть ошибкой выжившего), что в России в сертификаты не очень смотрят, поэтому получать такой сертификат или нет - решает каждый сам


  1. HundurGarmson
    00.00.0000 00:00
    +9

    >а сертифицироваться Java-разработчикам где-то нужно
    а давайте мы сами решим нужно нам это или нет


  1. Filex
    00.00.0000 00:00

    Про цены ничего не написали


    1. IBS_habrablog Автор
      00.00.0000 00:00

      Информацию о ценах можно найти на сайте проекта: https://ibs-training.ru/certification/java/#mainInfo Посмотрите, пожалуйста.


  1. DavidRenoir
    00.00.0000 00:00

    офтоп. а по другим продуктам что-нибудь аналогичное появилось? в частности по субд Oracle или даже Mysql?


  1. aploskov
    00.00.0000 00:00

    Лютая мешанина из различных тем. Гит и k8s можно отдельно, не только Java-разработчикам полезно.


    1. Valeriya_Bel
      00.00.0000 00:00

      Мы не планируем останавливаться на трёх уровнях сертификации. Будем дорабатывать сам продукт, актуализировать его и внедрять новые фичи.


  1. Hivemaster
    00.00.0000 00:00
    +7

    В отличие от сертификации Oracle в наш экзамен входят вопросы, которые проверяют уровень владения фреймворками модульного тестирования JUnit, другими востребованными инструментами типа сборщика Maven, систем контроля версий Git, каркасом Spring или технологиями JPA и JDBC. В экзамене уровня «Продвинутый» также есть вопросы про REST-сервисы, Docker-контейнеризацию, масштабирование через Kubernetes и т. д. То есть мы сертифицируем не просто знание языка, но и степень владения современным прикладным инструментарием для Java-разработки.

    То есть вы сертифицируете не на знание Java, а на соответствие вашим представлениям о среднем программисте. Вашу сертификацию могут не пройти крутые профи, знающие Java от и до, но пишущие мрачный банковский легаси на JEE или суровый хайлоад на Netty, не применяющие Docker и Kubernetes, так как в их компании этим занимаются админы, использующие Gradle вместо Maven и т.д. и т.п.


    1. IBS_habrablog Автор
      00.00.0000 00:00

      Наши представления о среднем программисте основаны на результате анализа текущих запросов в российской IT-отрасли на уровень квалификации сотрудников. Мы проверяем компетенции и навыки, которые востребованы на рынке.


      1. Hivemaster
        00.00.0000 00:00
        +1

        Рынок ИТ динамичен, его потребности постоянно меняются. Поэтому у вашего сертификата срок годности 3 года, а оракловый вечен.


  1. MaximIs
    00.00.0000 00:00
    +1

    Конечно, лучше бы разделить сертификацию по java от, например, spring, но в любом случае это намного лучше, чем совсем ничего!


  1. MShadowsong
    00.00.0000 00:00

    А Java Memory Model уже не в почёте/не актуальна?