• ,

20+ лет спустя или Я все-таки стал им! Часть 4

Продолжение истории «бородатого эникея». Предыдущая часть тут.

Четвертая попытка
Как вы, уважаемые коллеги, наверняка догадались, крылья-то мне пообломали: с собеседования я вылетел с треском. Разработчик все-таки должен уметь программировать сам, а не только разбираться в чужом коде и исправлять ошибки. 24 уровней javarush.ru, да еще и подзабытых к тому времени, было явно мало.

Потом начался новый проект, и изучение Java пришлось отложить. Я убеждал себя — это не больше чем на месяц. Потом — на два. Потом еще. А потом осознал, что у меня в жизни уже была подобная тупиковая ситуация, когда я побоялся выбраться из «болота», и ничего хорошего из этого не вышло. А сейчас ситуация, можно сказать, идеальная: зарубежные компании буквально «вычистили» кадровый рынок, и спрос на Java-разработчиков — огромный. Надо принимать решение.

Надо-то надо, только непонятно — что конкретно следует делать? Хотя, собственно, почему непонятно — впереди летний отпуск, и есть сайт javarush.ru. Возник вполне очевидный план:

1. как можно скорее подняться до 30 уровня
2. сделать тестовое задание
3. попасть на осенний реальный проект, до которого оставалось где-то полтора месяца
4. закончить реальный проект
5. получить оффер.

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

Так, содержание тестового задания на проект пока не известно, но понятно, что это будет веб-приложение с использованием Spring. С изучения Spring решил и начать, причем с актуальной, 4-й, версии, а большинство книг описывает 3-ю. Поиск привел к книге «Spring 4 для профессионалов», 4-е издание (в оригинале — Pro Spring 4). Выбор оказался исключительно удачным — вместе с исходным кодом упражнений, скачанным с сайта книги, я получил отличный учебник, который буквально «по шагам» провел от создания простейшего консольного приложения с внедрением зависимостей до полноценного веб-приложения со Spring MVC, JSP и доступом к данным через Hibernate и JPA 2.1. Из недостатков книги, кроме не всегда качественного перевода, отметил бы, что все примеры исходного кода используют xml-конфигурацию Spring, и почти нет примеров Java-конфигурации, которую пришлось изучать по другим источникам. Между тем, многие сейчас считают xml-конфигурацию устаревшей, а ее использование в тестовом задании — существенным недостатком.

Две другие книги, которые мне очень помогли — Spring persistence with Hibernate, 2-nd edition (про Hibernate 5) и Java persistense with Hibernate, 2-nd edition (про JPA 2.1), но их стоит изучить после первой.

Хотелось бы заметить, что все три книги — довольно высокого уровня, и для тех, кто ищет максимально быстрый способ сделать тестовое задание, есть куда более простые пути, вплоть до готовых тестовых заданий, сделанных другими. Вот только кого таким образом обманывать?

И вот отпуск, IDEA, javarush и 24 уровень. Проскочил его «со свистом» и пошел дальше. Оказалось, что период «тимлидства» прошел не даром, я понял многие свои прошлые ошибки и легко решил задачи, которые раньше не получались. 25, 26, 27 уровень … Стоп, если я буду двигаться такими темпами, то до тестового задания я доберусь только к концу отпуска. Очень не хотелось, но пришлось применить лайфхак, найденный на страницах форума. Порядок, есть 30 уровень и тестовое задание, что там у нас? Ну, в принципе, после книги «Spring 4 для профессионалов» понятно, с чего начать, а там — посмотрим.

Ага, посмотрим. Чтобы это … не очень хорошее приложение, которое пока еще не имело ни строчки содержательного кода, просто запустилось, я просидел, не отрываясь, с 4 часов вечера до 6 часов утра. Проклятые зависимости, которых вечно не хватает, конфликты версий компонентов, и низкий поклон stackoverflow. Уж что-что, а maven и Google я к тому времени освоил. Ну почему нигде не сказано, что «портянки» стектрейсов Spring надо расшифровывать не «с начала», а «с конца»? Еще пришлось настроить в maven автоматический деплой на сервер приложений. После того, как раз 20 выложишь приложение вручную, уже не возникает вопроса — зачем.

Дальше пошло как-то проще, кое-чего в книге не оказалось, но нужные примеры нашлись в Интернете. Очень помогли знания HTML, CSS и Javascript, полученные много лет назад при попытках создания веб-приложений, а потом — копаниями во фронтенде системы. Нашли применение и админские навыки, ведь всю разработку я вел, естественно, под Linux (Ubuntu 16.04).

В отпуск я не совсем уложился, потребовалась еще пара дней, но к сроку сдачи я успевал с большим запасом. Проверка… принято.

Работа после отпуска меня встретила, скажем так, недружелюбно. Похоже, в мои замыслы решила вмешаться древнейшая профессия…

Продолжение следует.

3 комментария

velis
Очень не хотелось, но пришлось применить лайфхак, найденный на страницах форума.
Что за лайфхак? Можете поделиться?
boyarskiy
Работа после отпуска меня встретила, скажем так, недружелюбно. Похоже, в мои замыслы решила вмешаться древнейшая профессия…
Очень знакомое ощущение, особенно когда весь отпуск проживешь программированием, а потом возвращаешься на свою скучную работу
alex8894
Уважаемый velis , все очень просто. Если решаешь практически все задачи, то к 28-му уровню возникает некоторый запас топлива. Если вдобавок тупо пройти (копипастой) все задачи по вводу кода на первых уровнях и «просмотреть» (промотав до конца) все мотивационные ролики, то топлива как раз хватит, чтобы, не решив ни одной задачи, «прощелкать» все лекции до 30-го уровня. Смысла в этом, разумеется, нет никакого, кроме получения тестового задания.
Все сказанное было справедливо на период лета 2016 года. Сейчас, скорее всего, уже так не получится.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.