Минутка мгновенной кармы
Дорога от Лахденпохьи в Сортавалу. Дождеснег. Чел сначала какое-то время ехал ко мне впритык, а потом таки решился метнуться в неизвестность через сплошную. Метнулся.
Дорога от Лахденпохьи в Сортавалу. Дождеснег. Чел сначала какое-то время ехал ко мне впритык, а потом таки решился метнуться в неизвестность через сплошную. Метнулся.
Спойлер: никак.
Тут меня совершенно внезапно попросили накатать пост о том, как девочке удалось за несколько месяцев устроиться на работу Java-программистом, начав с абсолютного нуля.
Сразу несколько дисклеймеров:
- Мой случай – череда невероятно удачных событий
- На момент обучения я работала примерно по 7-8 часов в день и ВСЁ остальное время тратила на обучение
- На сон отводилось часов пять ежедневно, включая выходные
- Легко не будет
Итак.
Вокруг меня довольно много людей работает в IT. И все они всё время рассказывали всякие потрясающие истории, которые вызывали лютую классовую ненависть у таких, как я. Ну, вот это вот «ЗП у меня большая, но при этом я весь день сидел ничего не делал». Сами слышали про 300кк в секунду, да? И если начинать им вслух завидовать, все сразу доставали плакаты с надписью «ИДИ В IT». Ну а я что? Я и пошла.
С программированием в жизни у меня было связано примерно ничего. По образованию я воспитатель и на момент начала обучения (конец ноября 2021го) работала по профессии в частном детском саду, смены по 5-6 часов + давала частные уроки по английскому.
Когда-то, в 2015м году меня уже торкало на то, чтобы выучить программирование и тогда я тоже пыталась в Джаву, но на этапе ознакомления с циклом for меня оттащили от JavaRush и посадили за C#. Там я сразу же загрустила и бросила это дело. Вот и весь мой опыт в программировании, который за шесть лет я, естественно, забыла. Запомнила я только одно – мне это нравилось.
Ну так вот. В августе я решаю пройти пробный модуль курсов от Яндекс-Практикума. Заканчивается он, в целом, всё теми же циклами и условными выражениями. Но мне всё жутко понравилось, я оплатила обучение и с нетерпением ждала открытия следующих модулей. Дальше начало курса отодвигается на конец ноября и вот, наконец, долгожданный старт! Ну, сам процесс обучения на этих курсах это отдельная песня, но в целом материал там подаётся хорошо и, что для меня оказалось самым важным, там сразу даётся примерное содержания курса. Чем я и воспользовалась.
К концу декабря меня уже настолько выводила из себя работа в детском саду, что я окончательно и бесповоротно решила найти работу программистом в самые кратчайшие сроки во что бы то ни стало.
И поехали, как только закончились январские праздники, я больше не делала ничего, кроме работы и учёбы, а так же учёбы во время работы, если дети нормально спали. Честно, полноценных книжек я тогда не читала, моим учителем в основном был только интернет. Например, сайт baeldung.com. А еще, конечно, youtube.
Учить я пыталась всё, до чего дотягиваются руки. Что там у нас в курсе по следующим темам? Ага, какие-то непонятные слова, окей, что такое Spring Boot? Идём, читаем, разбираемся, пытаемся что-то хотя бы маленькое на этом написать. Дальше, что там еще? Hibernate. Так же, читаем, разбираемся, прикручиваем. Параллельно я сидела на Хэдхантере и тыкалась во все попадающиеся мне вакансии. Вот реально во все и всё равно было, какие там условия, лишь бы денег дали хотя бы столько же, сколько было на тот момент. Видишь непонятные слова в вакансии? Откликаешься и идёшь изучать, что же это за слова.
REST API, JSON, HTTP, Spring Boot, Java EE, PostgeSQL, MySQL, Concurrency и еще чёртова гора разных, страшных и жутко непонятных слов. Еще ладно, что с английским нормально, я вообще не знаю, как бы я без него выжила.
Откликнулась за месяц я вакансий на 200, наверное. Или больше. Из них процентов 90 мне просто молча отказывали или игнорировали вовсе. Кто-то писал стандартное «мы ознакомились с вашим резюме, но, к сожалению, сейчас не готовы предложить вам работу». Было три тестовых задания:
1. Просто несколько алгоритмов на HackerRank. Сейчас бы я их без труда решила, да и тогда, наконец успокоившись и подумав, тоже решила довольно быстро. Но именно в момент самого тестирования я жутко нервничала. Таймер тикает. Вроде написано, что можно ходить в среду разработки, но при этом на тебя ругается всплывающее сообщение. Мозг не соображает. В итоге я на жутких нервах просто завалила.
2. Надо было написать, как сказали, JSON API. Штуку, тянущую цифру погоды с главной страницы Яндекса и записывающую ее в базу данных раз в сутки. Я до сих пор не знаю, что такое JSON API, если честно. Ну, то есть, есть REST. Который отдаёт и принимает JSON. Но вот словосочетание JSON API ввело меня тогда в ступор. :)
3. Парсер xml страницы в БД. Тебе дают XML, ты должен его распарсить и записать данные в БД. С обработкой исключений и всем таким. Его я почти доделала, но меня пригласили на работу в другую компанию.
Собеседований было тоже три:
Обучающая компания, которая предлагала ЗП 50к, но при этом без возможности повышения в течение года, и отработать ты у них обязан в течение двух лет, потому что они тебя обучают. Собеседующему по ощущениям было вообще всё равно, сидел электронку курил, задавал вопросы про структуры данных и «почему ты хочешь стать программистом». В итоге они мне отказали.
Компания, хотящая к себе хорошо разбирающегося в базах данных человека, от них я и получила то третье тестовое про XML.
Та, в которой я сейчас работаю. И понравились они мне с самого собеседования, хоть я и жутко стрессовала. Собеседующему меня человеку явно было не всё равно, он задавал наводящие вопросы. Если видел, что я не могу ответить умными словами, старался вывести на аналогии. «Что бы вы делали, если бы были хэш-мапой» - это я запомню навсегда. :)
Собеседование длилось около двух часов по Зуму. Под конец было уже не так страшно, но очень смешно и мне казалось, что я всё равно уже завалила, так что чего бояться:
С: - А что такое HTTP знаете?
Я: - Знаю, что он существует.
С: - А разницу между TCP и UDP?
Я: - Ну вот про UDP есть шутка, которая ‘до вас не дойдёт’
С: - Ну да, а сайты работают на TCP или на UDP?
Я: - Не знаю, но наверное на TCP.
С: - Потому что странички нормально открываются?
Я: - Да, потому что странички нормально открываются.
В общем, я даже и подумать не могла, что после этого мне позвонят и скажут «Вы нам подходите, мы вас ждём 28го февраля». :)
Как сказал тогда мой однокурсник: «В общем, резюмируя, помимо навыков надо иметь ещё и солидную долю нахрапистости и красной пелены». :)
Я не хочу давать какие-то советы, но если их кто-то ждёт, то вот:
- Поймите, нравится вам программирование или нет. Меня вот как затащило с первого дня, так и не выплёвывает обратно до сих пор. А на момент начала обучения это была самая настоящая ломка, скорее прискакать домой и ещё что-нибудь сделать
- Решать задачки на алгоритмы полезно. На том же HackerRank или LeetCode. Даже если не попадётся задания на этих площадках или на алгоритмы вообще, то это всё равно немного набивает руку, даёт размять мозги, попридумывать разные решения одной и той же задачи
- Если что-то не получается, то не отчаивайтесь. Вообще, качели от «я ничего не умею, пойду уволюсь» до «обожеягений» это нормально и они, говорят, на всю жизнь. С этим кстати тоже надо быть готовым жить. Всегда чувствуешь себя немного тупеньким.
- Книжки? Книжки полезно. Но Философию Джава я всё еще не читала. Я бы посоветовала тот же Head First, там хотя бы не скидывают сразу со скалы. Потом уже можно заморачиваться на Философию, на Паттерны ООП, на Clean Code, Concurrency in practice и так далее, и так далее. Слава богам, что Java еще не так быстро бежит вперёд, как какой-нибудь фронтенд. :)
- Английский полезен. Но без него выжить можно. Сложно, но можно. Стандартные слова всё равно вобьются в голову так или иначе. Но со знанием английского будет проще и информации гораздо больше. Кстати, прежде чем браться за книжку, погуглите про перевод. Иногда книжки по программированию переводят далёкие от этого люди и получается смешно и непонятно.
- Конспектируйте! У меня исписано тетрадей пять, я записывала практически всё, вплоть до кусочков кода
- Практикуйтесь! Даже если записать информацию, но не использовать ее на практике – ленивый мозг тут же выкинет её из памяти. Поэтому надо сразу идти и воспроизводить, желательно по памяти. Это потом начнётся вот это «я не помню, как это делать, но я знаю, где это найти». Потом. В начале – только практика. Даже на телефон можно скачать приложения, в которых можно кодить. С трудом, но можно.
Такие дела. Извините, что растеклась мыслью по древу, но я ж всё-таки гуманитарий, а «инженер-программист» - всего лишь прикрытие. :)