Прочитав, что нужно делать, я решил составить план того, как я должен учиться, чтоб добиться цели и закончить курсы, потому как времени на медленное изучение у меня уже не было. Задача стояла получить быстро знания, причем так, чтоб не отвадить желание и чтоб мозгам было время отдохнуть. Потому что такая нагрузка, которую я хотел, могла помешать мне. История Успеха. 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 Смотрите так же мои другие статьи: