Пробное собеседование – foxminded – онлайн курсы программирования
Кулибаба Владимир, Senior Full-Stack Web Developer
Сейчас мой стек включает: MsSql, Net Core, Net Framework, JS, jQuery, Angular, React. Долгое время проработал фрилансером, среди особенных проектов хочется выделить стартап Meshify (IoT), работал в Microsoft в качестве инженера по автоматизированному тестированию на проекте Amalga (автоматизация делопроизводства в медицине), получил практический опыт по Agile разработке в Scio (Мексика, компания специализируется на SaS, работал на проекте автоматизации делопроизводства частных детских садов), разработал мобильное приложение на базе Cordova, и т.д.
Не вдаваясь в очевидные вещи, которые нужны разработчику, как хард и софт скилы, перед вами открыт весь мир — получайте от жизни и от своей работы удовольствие, как говорят американцы “Hard work rest hardly!”
Учебный портал компании foxminded
Мы все знаем, что не достаточно знать язык Java, чтобы найти работу. Требуется знание многих фреймворков и еще масса умений (от умения находить ответ в интернете до умения себя продать). Можно было бы пойти по проторенной дороге и повторять учебные курсы так, как мы и сами когда-то учили. Вместо этого, мы спросили рынок – что ему надо и составили наш курс только из тех вопросов, которые рынок требует, безжалостно исключив из него все, что “может пригодится”. Нашей учебной программе уже более 5 лет и она непрерывно совершенствуется.
На сегодняшний момент программа состоит из следующих групп заданий:
Группа 1: задания на Clean code
Эти задания позволяют новичку в Java освоиться с новым для него языком и с достаточно жесткими требованиями по оформлению кода, принятыми в мире Java. Так же эта группа заданий обучает студента пользоваться таким мощным инструментом разработки, как юнит-тесты. И таким основополагающим фреймворком, как Collection framework.
Группа 2: дополнительные языки – SQL
Без знания SQL ни один джавер не сможет нормально работать. Для опытного программиста задания этого блока займут максимум пару часов. Если они занимают больше, то явно есть пробелы в знаниях.
Группа 3: задачи на декомпозицю и построение архитектуры приложения.
В эту группу входят два задания на построение диаграмм предметных областей (UML) и создания кода на основе собственной декомпозиции. Именно умение строить декомпозицию позволяет программисту избежать проблем с кучей бессмысленно потраченных усилий и миллионов переделок при уточнении знаний по предметной области. Также эти навыки снимают проблему старта создания архитектуры (трехтирового приложения, традиционного для Java) с нуля
Группа 4: работа с уровнями базы данных и сервис
В этом блоке студент учится работать с базой данных средствами стандартного Java фреймворка – JDBC. И строить второй из трех лееров – Data Access Layer. Естественно в чистом виде в современных приложениях plain JDBC практически не используется, но лежит под капотом всех возможных ORM (Object-Relational Mapping) систем. И без понимания того, как работает JDBC полноценно понимать ORM фреймворки Не получится.
Группа 5: дополнительные инструменты и средства
Что отличает школьную поделку от профессионального продукта? Наличие следующих вещей – error handling, logging, тесты и документация. Тестами и документацией мы пока оставим, а вот обработка ошибок и логирование, а так же maven – самая популярная сейчас система сборки – то, без чего ни один проект не может быть профессиональным.
Группа 6: пользовательский интерфейс
Для того, чтобы завершить трехтировое приложение, в этом блоке мы делаем самый примитивный UI, с использованием базовой функциональности – сервлетов и JSP. Точно так же, как и с ДАО слоем, в чистом виде такое решение сейчас не используется, но оно лежит под капотом у всех современных UI фреймворков.
Группа 6: трансформация приложения на использование современными фреймворками. Включая сверхпопулярный сейчас Spring Core (IoC, DI) и Hibernate
Группа 7: трансформация приложения на использование Spring MVC
§
Хардкор и менторинг android в учебном центре foxminded
Две цели позади.
Я достиг своего личного лимита понимания того как двигаться дальше, что учить, как учить и как правильно это делать. Далее следовала бы далеко не самая эффективная самодеятельность. Осознав, что мой методический потенциал исчерпан я решил взять волю в кулак и попросить помощи у опытных коллег по цеху.
Давно хотел этого и вот наконец это свершилось – отправлена заявка в учебный центр Foxminded по направлению Android.
Этой целью я покрываю этап обучения менторинга. Для наглядности вот диаграмма с позиции пессимиста:
- Вот когда освоишь Java Core, тогда поговорим.
- Вот когда сдашь на сертификат, тогда поговорим.
- Вот когда попробуешь все направления и поймешь что нравится, тогда поговорим.
- Вот когда закончишь менторинг Android, тогда поговорим. <= Вы находитесь здесь
- Вот когда закончишь тренинг на проекте, тогда поговорим.
- Вот когда начнешь работать программистом, тогда поговорим.
Сделав небольшой перерыв в три дня я все осмыслил, морально подготовился к следующей схватке с судьбой и параллельно ощутил ломку к знаниям. Вот что значит выработать правильную привычку. Мне буквально недоставало эти три дня хотя бы какого-нибудь вброса новых данных в мозг, но я четко решил дать своему телу и разуму восстановиться, а себе – выспаться. Предательская пустота не дала мне другого шанса кроме как опять взяться за перо.
И вот я здесь…
P.S. Цель будет пополняться и изменять по мере возникновения новых вводных.
Менторинг пройден, запланированные side знания освоены, я чувствую себя готовым пройти техническое собеседование для того что бы приступить к обучению на проекте в учебном центре Foxminded. А после него меня ждет HH, linkedin и веселье.
