User Roman Beskrovnyi
Roman Beskrovnyi
35 уровень

История Успеха. 20 часов программирования в неделю, магистратура и личная жизнь

Статья из группы Истории успеха
Прочитав, что нужно делать, я решил составить план того, как я должен учиться, чтоб добиться цели и закончить курсы, потому как времени на медленное изучение у меня уже не было. Задача стояла получить быстро знания, причем так, чтоб не отвадить желание и чтоб мозгам было время отдохнуть. Потому что такая нагрузка, которую я хотел, могла помешать мне. История Успеха. 20 часов программирования в неделю, магистратура и личная жизнь - 1

Для начала расскажу немного о себе

Мне 27 лет. До того, как начать изучать Java, учился на математическом факультете, на прикладной математике. Казалось бы, с программированием у меня должно быть если не отлично, то по крайней мере хорошо. Но это был не мой случай, т.к. все предметы, где мелькало программирование я саботировал и сдавал как-то на удаче — сам ничего не писал. Так вот и получилось, что я от программирования был далек. Ясное дело, что с образованием математика в нашей стране много не заработаешь кроме как программистом. Поэтому и выбор пал именно на это. И так совпало, что решил учить Java. Это не было связано с каким-то анализом рынка или поиском по количеству рабочих мест, востребованности на рынке труда. Просто так совпало. И когда решил узнать, как это делать, наткнулся на JavaRush. Как-то не хотелось учиться только по книгам, но и на очные курсы я смотрел нехотя, т.к. денег стоят они много, а реально профита мало. Поэтому JavaRush для меня был лучшим решением. Пройдя первые 3 уровня, я понял, что курс мне нравится и что можно покупать подписку. Тем более, что я попал на акцию и приобрел за пол цены. Было это в конце августа/начале сентября 2015 года.

План обучения

Прочитав, что нужно делать, я решил составить план того, как я должен учиться, чтоб добиться цели и закончить курсы, потому как времени на медленное изучение у меня уже не было. Задача стояла получить быстро знания, причем так, чтоб не отвадить желание и чтоб мозгам было время отдохнуть. Потому что такая нагрузка, которую я хотел могла помешать мне. Для этого решил:
  • Что нужно учиться пять дней в неделю (пн-пт).
  • В выходные дни я буду заниматься чем угодно, только не этим.
  • Каждое занятие будет идти в общей сложности 4 часа, причем между каждым часом будет перерыв в 15 минут, для того чтоб пройтись, отдохнуть и сделать чай.
Итого 20 часов в неделю. Неплохо, да? К тому же иногда приходилось заходить в университет, т.к. я еще учился в магистратуре. В декабре я уже был на 20 уровне и думал, что знаю очень и очень многое, но были у меня и кризисы, когда ничего не получалось и казалось, что дальше не смогу. Настолько, что в опеределенный момент, я отказывался принимать информацию о коллекциях и только после выходных, когда я не занимался программированием, пришло понимание.
История Успеха. 20 часов программирования в неделю, магистратура и личная жизнь - 2

Переход на новый уровень

Через три месяца после начала обучения, я побеседовал со знакомым на тему того, что я еще должен знать, чтоб устроиться на работу. И тут понеслось: какие-то не знакомые слова, базы данных (о ужас!) и многое другое дали мне понять, что нужно ускоряться и делать еще больше. Ясно, что с грамматикой джавы мне не получить работу, я начал ускоряться в разных направления:
  • Купил себе книгу Head First "Изучаем Java". Ее рекомендуют на 4-м уровне в курсе. Но я как-то не внимательно читал и пропустил этот факт. Там рассказываются теже вещи, но под другим углом, что помогает понять их лучше и основательне. Советую.
  • Начал искать все тематические тусовки в своем городе и ходить на них, пусть даже я многого не понимал, зато со временем понял, что это было не зря и они мне очень помогли. например так.
  • Есть еще один ресурс, который нужно прошерстить от начала и до конца — это dou (сайт для программистов). Там можно посмотреть, какие бывают ивенты, какие нынче зп в украинском IT, можно прочитать много очень полезных статей, особенно рекомендую Материалы по теме «Пособие для будущего Java разработчика» и Java Enterprise: что и как учить. Эти статьи будут помощниками для вас и не будут давать расслабляться.
  • Нашел короткие и информативные видеоуроки на youtube по MySQL, советую.
  • Видеоуроки Головача тоже не остались без внимания. Их много, много воды, но разъясняет многие вещи достаточно хорошо.
  • Также нужно понимать, что такое HTML и CSS. Без этого никак, тут мне помогла в этом HtmlAcademy. Там можно проходить задания бесплатно.
  • Зарегистрировался в соц.сети linkedIn, где начал выставлять свои навыки и что я ищу работу (а вдруг повезет и меня найдут). Добавлял всех подряд в друзья, расширяя круг своих друзей. Чтоб вы понимали насколько, то сейчас у меня больше 10 000 друзей в линкедине. Для начала это нужно. И это помогло, команда андроид фрилансеров искала новичка себе и мне написали. Я понимаю, что случай из ряда вон выходящий, но это случилось.

Первые неудачи

Конечно, параллельно учебе, я начал искать интернатуру в компаниях так, чтоб со временем можно было работать. Меня пригласили на собеседование в интернатуру. Поговорив с HR-ом, ко мне позвали преподавателя по английскому, с которым я "пообщался". К этому моменту я вовсе был не готов и вышло, что я больше слушал, чем говорил. И на тему расскажи о себе, я что-то промямлил, но ничего особенного. А вот при общении с техлидом я отвечал на некоторые вопросы, на многие ответа не знал и на ответ, что обучаюсь в JavaRush, он сказал что передо мной был еще один студент оттуда. Я был на 27 уровне, а он уже на 34. Поговорив он сказал, что мне перешлют тестовое задание, по которому решат, годен ли я. Я его как-то сделал, причем не весь функционал. Через некоторое время мне написали, что я им не подхожу... Обидно, но я решил извлечь опыт из этого и пошел дальше.

Первая работа

Как я уже говорил, составив страницу в LinkedIn'е, через 1.5-2 месяца мне написал некий андроид разработчик с предложением работать с ними. Ясное дело, что речь шла о минимальной зп. Мы пообщались при встрече и мне предложили работу. Понятно, что она была слабо оплачиваемая, но другого у меня не было и я радовался тому, что было. Начиная с конца января я начал работать на квартире одного из них на анроиде. Всё было новое, все другое. Но кое-как и как-то я работал, что-то делал. Было страшно и всё не понятно, это были не задачки в JavaRush. Всё нужно было делать, читать, узнавать что и как. У меня был тестовый проект, который я делал и который мог стать чем-то большим со временем. И так прошло до мая. Потом как-то начал разваливаться наш коллектив, все это поняли и начали искать работу.

Поиск новой работы

Не зная как это делать, я решил что буду рассылать всем компаниям, которые есть в моем городе. А как узнать какие есть компании? В этом мне помог тот факт, что я прошерстил dou вдоль и поперек. Там есть раздел компании и можно выбрать город, по которому идет поиск. В описании есть почта (почти всегда есть), на которую можно писать. Чтоб всё выглядело хорошо, я написал свое резюме на английском языке, только так и надо. Конечно было много воды, воды, воды, т.к. писать особо нечего было, писал всё подряд. Также к каждому письму писал сопроводительное письмо (рекрутеры любят это), где я указывал, кем именно я хочу быть, а то часто выходит, что присылают резюме и не ясно на какую позицию претендуют. Сопроводительное письмо было также на английском. Совсем забыл: английский нужен ОЧЕНЬ сильно. Реально, если ты не можешь прочитать ответ на стековерфлоу, то ты не жилец, и делать тебе в программировании нечего. Составил себе речь на собеседование английского на тему: "Tell me about yourself". Очень полезная вещь, я вам скажу. Спустя некоторое время я получил 4 приглашения на собеседование. Практика рассылки всем компаниям была оправдана, причем тем, у кого не было таких позиций — они обычно не отвечали вовсе. На собеседованиях было сложно, было стыдно, было неуютно, но я прошел их, в некоторых просто говорили, в других нужно было сделать пару заданий, например нужно было написать интерпретатор на джаве на язык BrainFuck. Задача оказалась интересной и я рад, что ее выполнил, хоть меня в ту компанию и не взяли. Искал я работу либо на Java, либо на Android. Хотя хотелось больше на джаву, мобильная разработка мне не особо интересна. Зарплатные ожидания были минимальны, нужно было найти работу, всё остальное было уже не важно. Спрашивали меня на понимание Баз Данных, о там как создать таблицы в для определенных ситуаций. Это всё касается SQL баз данных, про NoSQL никто не спрашивал.

Первый оффер

В одном месте мне написали и отказали, в другом тоже. Остались две компании, в одной на позицию Android разработчика, в другой — на Java. Позвонили с компании по поводу андроид и сказали, что я им подхожу и мне делают оффер. Это была победа. Я был очень рад. Но мне так и не позвонили в компании за джава позицию, и я метался и не знал что делать, поэтому попросил подождать день с моим ответом, чтоб я смог позвонить узнать за позицию джава разработчика. Позвонив в компанию за джава позицию, я сказал, что мне сделали предложение, но я хочу узнать от вас еще результат. Меня пригласили в офис к ним поговорить и сказали, что результат разговора мне понравится. И они оказались правы, переговорив с ними, мне сделали оффер во второй компании, собственно которую я и выбрал. P.S. нужно стремиться, стремиться, стремиться и никогда не сдаваться! P.S.S я весь курс не прошел до конца, остановился на 30-м уровне. А когда получил работу, то был на 27. И реально скажу, что начиная с 20-го уровня нужно искать работу и разиваться помимо Java. Освоить хотя бы издалека фреймворк для автоматизации проектов (Ant, Maven, Gradle). Вещь не сложная и очень нужная. Всем кому статья понравилась и была полезна — оценивайте и пишите в комментариях. Так же, подписывайтесь на мой гитхаб аккаунт romankh3 Смотрите так же мои другие статьи:
Комментарии (39)
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION
Roman Beskrovnyi Уровень 35
11 марта 2021
⚡️UPDATE⚡️ Друзья, создал телеграм-канал 🤓, в котором освещаю свою писательскую деятельность и свою open-source разработку в целом. Не хотите пропустить новые статьи? Присоединяйтесь ✌️
latkova Уровень 15 Харьков
24 февраля 2021
Чётко и системно! Чувствуется математическое образование. Спасибо за статью! 👍 Автор, пишите ещё! Я сейчас на 14 уровне. Планирую после 20 уровня начать искать trainee, internship или курсы при компаниях. Надеюсь в своё время тоже написать историю успеха. P.S. Кстати, классная иллюстрация периодической функции - от я- Гений до Унылое Говно😂 та же ситуация!
Антон Сачук Уровень 18 Минск Беларусь
7 октября 2020
Роман, подскажите пожалуйста - когда проходили Java Syntax - были ли сложности с заданиями или не ощутили и всё легко далось?
hidden #1281202 Уровень 41
8 ноября 2019
Хороших несколько статей видел от тебя, включая эту, весьма достойных. Правда, ещё мне пахнет где-то спрятанной галочкой на тему английского: "путь убогого программиста", "даже не стоит начинать", "нечего делать в программировании без англ". Как по мне, это ложь, и в некоторой степени неадекватно. В IT, и в часности в программировании, есть чем заняться человеку без знания англ языка. Например, начать учить его как можно скорее. И начинать кодить стоит в любом случае, даже если не знаешь англ, но есть желание конечно.
Шадияр Уровень 24 Шымкент Казахстан
17 октября 2019
Всем доброго вечера, я вот скоро думаю дайду до 20-уровня. И вчера при просмотре видео про то, что нужно знать Java junior developer'у, было сказано следующее: Core Java, ООП, Collections, Spring, Hibernate, Алгоритмы банальные, SQL(базовые операции), ну и гит и норм английский. И еще добавили, что многопоточность толком и не нужна. Это правда ? Скипать многопоточность и сразу в collections? И еще вопрос : После 20-уровня я хотел начать параллельно изучать: Spring, Алгоритмы, SQL(postgreSQL, Oracle DB, Mongo DB), Git. С чего лучше начинать, как и где лучше учить? Прошу ответить более развернуто, если получится
Юля Лобас Уровень 26 Костанай Казахстан
15 октября 2019
Да я сейчас на 19 уровне, чувствуется, что нужно учить параллельно все, что нужно и искать работу через уровней пять. Ибо я перестаю понимать, "за чем?" и что конкретно нужно знать, а что нет. Мне не хватает реальных задач... А изучение по "темам" начинает идти только в минус... Только объяснили, что нужно красиво все оформлять, стараюсь оформить красиво, все по методам "по коробочкам" валидатгр тут же отбивает все желание😒 Ау! Мы за чем учили calendar? Может лучше его использовать? Нет! Ему видней. Вообщем не хватает реальных задач... С произвольными вариантами решений... А это только в реальной обстановке возможно.
Даниил Уровень 41 Украина Master
12 июля 2019
Мне кажется, стоит отметить на счёт того с какого уровня стоит искать работу и т.п. Люди бывают разные как и разные случаи, это все знают и от этого ни куда не деться) Мотивация достаточно не плохая после данной истории. Но опять же таки про 20+ уровни... Лично я, человек далёкий от программирования и начав изучать джаву будучи абсолютным 0 не умея винду переустановить, могу сказать что на 20 уровне я не знал ровным счётом ничего больше чем просили решённые ранее задачки. Да и то что знал - то подзабыл (в голове всё сидеть тупо отказывается, нужно заставлять), а другое так и не понял даже решив задание... Лезть разбираться что такое Git, Maven, Spring и другие страшные слова я даже не пытался, так как начиная разбираться хоть в чём-то сразу понимал что "мне явно рано" так как вообще в принципе ничего не понятно было. Прорешав всю многопоточность не начиная коллекции мой мозг хотя бы слегка окреп что бы начинать это всё изучать, но повторюсь, только НАЧИНАТЬ. И даже заглядывая в раннее пройденные темы (просто вспомнить что это такое или как работает когда поймал себя на мысли что это забыл) понимаешь что "я бы об этом не рассказал если спросят", но с другой стороны всё настолько простым для восприятия становиться сразу...))) Вообщем налил я тут воды... Просто хотел сказать что бы люди (особенно новички) которые с этим всем ещё не столкнулись не строили чётких планов на счёт сроков изучения и не бросали это дело из-за того что кажеться что это не твоё так как ты этого всего тупо не понимаешь. Просто учите потихоньку дальше, а там всё проясниться) Слава богу за ручку вас ведёт этот курс))) Если бы не он, то я бы просто сказал "да ну его ...".
Artem Sobolenko Уровень 39 Днепр Украина
6 июля 2019
Maven и Gradle да, причем сначала лучше Maven. А вот Ant, только если это необходимо на проекте.
Sergey Simonov Уровень 36 Санкт-Петербург Россия
24 июня 2019
Big up!