JavaRush/Java блог/Истории успеха/История Успеха. 20 часов программирования в неделю, магис...
Roman Beekeeper
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 Смотрите так же мои другие статьи:
Комментарии (43)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
17 сентября 2022, 08:36
Большое спасибо, Роман! Очень приятно читать ваши статьи! Пишите еще! 😊
Василий Бабин Мракоборец в Дурмстранг Expert
17 сентября 2021, 17:33
Nikita
Уровень 6
10 августа 2021, 16:56
👍👍👍
Roman Beekeeper тг-канал по java разработ в t.me/romankh3
11 марта 2021, 20:49
⚡️UPDATE⚡️ Друзья, создал телеграм-канал 🤓, в котором освещаю свою писательскую деятельность и свою open-source разработку в целом. Не хотите пропустить новые статьи? Присоединяйтесь ✌️
latkova
Уровень 15
24 февраля 2021, 09:50
Чётко и системно! Чувствуется математическое образование. Спасибо за статью! 👍 Автор, пишите ещё! Я сейчас на 14 уровне. Планирую после 20 уровня начать искать trainee, internship или курсы при компаниях. Надеюсь в своё время тоже написать историю успеха. P.S. Кстати, классная иллюстрация периодической функции - от я- Гений до Унылое Говно😂 та же ситуация!
Roman Beekeeper тг-канал по java разработ в t.me/romankh3
24 февраля 2021, 12:50
Спасибо) А статей моих здесь и так уже множество
Антон Сачук
Уровень 18
7 октября 2020, 13:06
Роман, подскажите пожалуйста - когда проходили Java Syntax - были ли сложности с заданиями или не ощутили и всё легко далось?
Roman Beekeeper тг-канал по java разработ в t.me/romankh3
7 октября 2020, 13:49
Я помню как мне не хотели даваться коллекции... вот не шли и все тут. Потом после двух дней как-то пришло осознание
Антон Сачук
Уровень 18
7 октября 2020, 13:53
Радует, что не у одного меня так. Потому что застопорился на них и всё на этом. Не хотят влазить в голову. Спасибо.
Roman Beekeeper тг-канал по java разработ в t.me/romankh3
8 ноября 2019, 12:36
hidden #1281202
Уровень 41
8 ноября 2019, 12:02
Хороших несколько статей видел от тебя, включая эту, весьма достойных. Правда, ещё мне пахнет где-то спрятанной галочкой на тему английского: "путь убогого программиста", "даже не стоит начинать", "нечего делать в программировании без англ". Как по мне, это ложь, и в некоторой степени неадекватно. В IT, и в часности в программировании, есть чем заняться человеку без знания англ языка. Например, начать учить его как можно скорее. И начинать кодить стоит в любом случае, даже если не знаешь англ, но есть желание конечно.
Roman Beekeeper тг-канал по java разработ в t.me/romankh3
8 ноября 2019, 12:31
Спасибо) Правда можно программировать без знаний английского. Это правда. Но беда в том, что в программировании язык общения - английский. И без него очень сложно добиться выдающихся результатов. Поэтому нужно в самом начале учить английский также как и программирование. К тому же моя жена работала рекрутером, так что я с первых рук могу сказать, что приоритет у тех, у кого английский лучше...) Так что при старте иметь английский на высоком уровне при старте - это отличный залог к успеху.
hidden #1281202
Уровень 41
8 ноября 2019, 13:55
Абсолютно согласен и понимаю, что ты хотел донести. Дело в формулировках, которые кто-то поймёт верно, а кто-то нет. Я слышал где-то подобное предложение: "Чем ниже ваш уровень английского, тем выше будет спрос с остальных скиллов". Мне кажется, что в данном случае это не просто поговорка, а закономерность, которую я мог наблюдать лично. Так что мы солидарны в этом вопросе)
Шадияр
Уровень 24
17 октября 2019, 15:24
Всем доброго вечера, я вот скоро думаю дайду до 20-уровня. И вчера при просмотре видео про то, что нужно знать Java junior developer'у, было сказано следующее: Core Java, ООП, Collections, Spring, Hibernate, Алгоритмы банальные, SQL(базовые операции), ну и гит и норм английский. И еще добавили, что многопоточность толком и не нужна. Это правда ? Скипать многопоточность и сразу в collections? И еще вопрос : После 20-уровня я хотел начать параллельно изучать: Spring, Алгоритмы, SQL(postgreSQL, Oracle DB, Mongo DB), Git. С чего лучше начинать, как и где лучше учить? Прошу ответить более развернуто, если получится
Roman Beekeeper тг-канал по java разработ в t.me/romankh3
18 октября 2019, 10:17
Многопоточность нужна, но реже используется, чем коллекции :) Я бы сделал так: 1. отработал бы с Git, так как без него никак. Делал бы это через Github. 2. изучил бы SQL операции 3. MongoDB пока бы не тогал вовсе и перенес это на позже 4. поднял бы Spring boot приложение с MySQL базой данных, которая бы делала CRUD операции( Create, Read, Update, Delete) и посматривал бы на алгоритмы.
Серега Батенин
Уровень 34
20 марта 2022, 21:49
Так а что лучше тогда изучать после java core? коллекции или же многопоточность? Или же потихоньку идти их параллельно и совмещать
Юля Лобас Ведущий Инженер программи в Костанайский ЭнергоЦ
15 октября 2019, 09:24
Да я сейчас на 19 уровне, чувствуется, что нужно учить параллельно все, что нужно и искать работу через уровней пять. Ибо я перестаю понимать, "за чем?" и что конкретно нужно знать, а что нет. Мне не хватает реальных задач... А изучение по "темам" начинает идти только в минус... Только объяснили, что нужно красиво все оформлять, стараюсь оформить красиво, все по методам "по коробочкам" валидатгр тут же отбивает все желание😒 Ау! Мы за чем учили calendar? Может лучше его использовать? Нет! Ему видней. Вообщем не хватает реальных задач... С произвольными вариантами решений... А это только в реальной обстановке возможно.
Justinian Judge в Mega City One Master
16 октября 2019, 00:40
Есть такая проблема, но сейчас твой код не пропускает валидатор, а потом твой код не будет пропускать код ревью и тимлид. Если у тебя есть сомнения, вопросы, публикуй в секции Помощь и спрашивай столько раз сколько нужно. Я понимаю о чем ты, это переломный момент для многих, когда ты уже обрастаешь и имеешь инструменты и хочешь и так и сяк, но объективно знаний не хватает чтобы это воплотить. Это просто нужно перетерпеть и постараться понять, что валидатор это не враг. Если у тебя в коде ошибка, или твой вариант явно хуже, ты можешь этого не заметить, твой опыт гораздо меньше опыта тех, кто составлял тесты. Другой сценарий, когда в условиях четко указано, решить используя именно это. Тогда это вопрос тебя как профессионала. Ты уже джава программист, хочешь ты этого или нет. И вопрос только один, ты можешь выполнить задание джава раша или нет? При возможности выполнить его качественно и хорошо. при отсутствии возможности, подправить под валидатор и сдать. Это профессиональный подход, и на реальной работе будет тоже самое. Мне джава раш напоминает отношение ребенка и родителя. Родитель говорит делай вот так, не ходи по обрыву, в розетки пальцы не совай, на красный свет не ходи, много ограничений, наставлений, делай вот так вот, много обид со стороны ребенка. Вот если бы не родители, я бы и так, и так, поскорее уже взрослая жизнь. Но по мере опыта в итоге дети сами приходят к тому что они учили. Такова методика - делай сначала как скажут, а потом поймешь. Ты абсолютно права в том плане, что нужен реальный опыт. На ошибках и шишках учатся в разы быстрее и эффективнее, там быстро приходит понимание зачем, я и как ребенок через это прошел, и как родитель вижу по своим детям. Но, я это все пишу к тому, что максимальная эффективность это когда дети и родители становятся партнерами которые доверяют друг другу. Так что пиши в секцию Помощь, спрашивай, пусть тебе дают обратную связь, как и что не так. Ищи работу, но не переставай решать задачки,это хорошая прокачка