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

Это история Романа из Харькова. Сегодня — Senior Java Developer’а, в середине 2015-го — студента, поступившего на магистратуру по прикладной математике. Оригинал истории здесь, ниже приведено самое главное из нее.

С образованием математика в наших реалиях хорошо зарабатывать можно только программистом — это Роман знал точно. А вот джаву выбрал скорее случайно, чем осознанно. Учиться только по книгам не хотелось, как и на очных курсах: студент решил, что денег стоят они много, а профита от них мало.

А потом нашел JavaRush. Это было в конце августа — начале сентября 2015 года.

План изучения Java

Составляя план обучения, Роман исходил из того, что времени на раскачку у него не было.

Он поставил цель: быстро получить знания, чтобы не потерять интерес к обучению, но при этом не перегрузить мозг.

Для этого он решил:

  1. Учиться пять дней в неделю (с понедельника по пятницу).
  2. В выходные дни заниматься чем угодно, только не учебой.
  3. Отводить 4 часа на каждое занятие, после каждого часа — перерыв на 15 минут на то, чтобы пройтись, отдохнуть и сделать чай.

Всего — 20 часов в неделю. Неплохо, да? К тому же иногда приходилось заходить в университет, так как Роман все еще учился в магистратуре.

К декабрю он прошел половину курса, и решил, что уже знает очень и очень многое, хотя случались и кризисы, когда мозг отказывался воспринимать информацию, и только выходные без программирования помогали двигаться дальше.

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

Через три месяца после начала обучения Роман задумался, что еще нужно знать, чтобы устроиться на работу. За советом обратился к знакомым программистам.

И тут понеслось: какие-то незнакомые слова, базы данных (о ужас!) и многое другое дали понять, что нужно ускоряться и развивать деятельность во всех направлениях. Эти советы наверняка помогут и вам.

  1. Чтение книг. В случае Романа была полезной "Head First Java", которую рекомендуют совсем зеленым новичкам. Она помогла основательнее понять некоторые нюансы.
  2. Нетворкинг. Все тематические программистские тусовки в своем городе (и не только) нужно посещать. Даже если многое будет непонятно — это погружение в среду.
  3. Айтишные онлайн-ресурсы. Медиа для программистов, видеокурсы на YouTube, форумы — во все это нужно обязательно вникнуть, почитать полезные статьи, чтобы собрать целостную картину развития Java-разработчика.
    Лично мы рекомендуем начать с разделов "Статьи", "Форум" и "Чат" на JavaRush :)
  4. Освоить смежные технологии: MySQL, HTML и CSS и многое другое.
  5. Создать себе крутой профиль на LinkedIn, прописать все навыки, активно расширять круг профессиональных связей.
    Роман делится своим опытом: "Сейчас у меня больше 10 000 друзей на LinkedIn. Для начала это нужно. И это помогло, [когда] команда андроид фрилансеров искала новичка себе, и мне написали".

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

Конечно, параллельно учебе, Роман искал интернатуру в компаниях, и однажды попал на собеседование. Он не был готов к тому, чтобы убедительно рассказать о себе на английском и ответить на все вопросы техлида. Тестовое задание, по его словам, "как-то сделал, причем не весь функционал". Через некоторое время получил отказ, и решил двигаться дальше.

Первую работу Роман получил благодаря LinkedIn, где ему предложили поучаствовать в проекте, связанном с Android-разработкой. Реальная работа, конечно же, была сложнее, чем задачи на JavaRush, и приходилось многое изучать по ходу. Тестовый проект не удалось вывести на новый уровень, так как постепенно начал разваливаться коллектив, и пришлось искать новую работу.

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

Куда податься? Роман прошерстил DOU, где нашел подходящие компании и их контакты в своем городе, и взялся за массовую рассылку.

Чтоб всё выглядело хорошо, он написал свое резюме на английском языке. По его словам, в нем было много воды, так как писать, по его мнению, особо было нечего. Обязательный пункт — сопроводительное письмо (тоже на английском), чтобы рекрутеры понимали, на какую позицию он претендует и почему. Составил себе речь на собеседование на английском на тему: "Tell me about yourself". Очень полезная вещь.

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

Первый оффер

По итогу четырех собеседований, в двух компаниях Роман получил отказ, в двух — оффер: один на на позицию Android-разработчика, другой — на Java. Он "метался" и не знал, что делать, но в итоге стал Java-разработчиком.

Несколько лет спустя, Роман — Senior Java Developer, который в свободное время активно занимается open source проектами (вот его профиль на GitHub) и часто делится полезным опытом со студентами в "Статьях" на JavaRush.