JavaRush /Java блог /Архив info.javarush /Рождение программиста: за 9 месяцев с нуля до Java Develo...
hermanurikh
20 уровень
Санкт-Петербург

Рождение программиста: за 9 месяцев с нуля до Java Developer

Статья из группы Архив info.javarush
Всем привет! Вот и закончился мой испытательный срок на новом рабочем месте, и теперь я могу наконец-то поделиться своей историей трудоустройства. Мне 22 года, у меня экономическое образование. Еще год назад (в феврале – марте) у меня не было никаких навыков программирования, и с Java сталкивался только в играх на старых Siemens (в виде приветственного окна "powered by Java" при запуске игры). Рождение программиста: за 9 месяцев с нуля до Java Developer - 1Год назад я работал в отделе технической поддержки. Работа не сказать, чтобы плохая или не нравилась, но не особо интересная. И сложилось так, что в один момент задумался — хорошо было бы иметь работу, на которую ты бы не шел с ощущением "блин, снова работать", а чтобы она приносила удовольствие. Подумал — а что бы я делал, если бы у меня был, условно, год, в течение которого мне не надо было бы обязательно зарабатывать деньги, а я мог бы заниматься чем хочу? Ответ как-то пришел сам собой — сидел бы дома и учился программировать. Тогда я решил, что дело за мной. Я понимал, что будет сложно изучать программирование с нуля, что это временный откат в карьере (я не сомневался, что Junior Developer получал меньше, чем я на том рабочем месте), но воспринял это как шаг назад ради того, чтобы сделать два шага вперед. Окей. Сказано — сделано. Так как я не разбирался в языках программирования абсолютно, первой идеей было изучать язык, о котором был наслышан больше всего (на нем разрабатывали софт в компании, где я работал) - PHP. Хорошо, девушка отговорила. Подсказала, что у них в компании (разрабатывающей мобильные приложения) андроидеры пишут на Java + зарплата у них вроде хорошая. Я погуглил-погуглил, подумал и принял решение изучать Java. Моим первым шагом были традиционные попытки изучения чего-то нового - вооружаешься книгами, осваиваешь теорию, и вперед! Так у меня появилась книга Хорстманна и Корнела — Java. Основы. Это был март 2014 года. Вообще говоря, всю жизнь изучать что-то по книгам у меня получалось отчаянно плохо. Вероятно, это связано с тем, какой способ восприятия преобладает у человека. Я всегда действительно усваивал материал только после того, как практически его проработал, закрепил, поигрался с ним. Поэтому мои первые попытки учить Java по книге были обречены на провал. Хотя книга хорошая. Где-то в апреле я наткнулся на группу JavaRush вконтакте. Дальше все понеслось как по рельсам. Решать задачи, много задач, которые сопровождаются небольшим количеством теории — явно оптимальный способ изучения материала (по крайней мере, для меня). Я сидел дома, я сидел на работе и решал, решал, решал) Именно тогда я дополнительно убедился, что программирование мне интересно. Я не мог вспомнить, чтобы над чем-то так зависал. Прошло три месяца, за которые я дошел до 20 уровня. Мне казалось, что дальнейшее изучение языка будет идти намного быстрее, если уже получить работу программиста — тогда ты будешь в этой среде по 8 часов в сутки 5 дней в неделю и будешь крайне быстро развиваться. Таким образом, в августе я начал рассылать резюме. Из пары мест мне прислали тестовые задания, по результатам которых предложений о работе я не получил — оглядываясь назад, я не удивлен ни разу — задачу то поставленную я, быть может, и решил, но какой же плохой у меня был стиль написания кода) В этом, кстати, небольшой минус JavaRush — до тех пор, пока задача решена и тесты пройдены, задание засчитывается, хотя твой код может оставлять желать сильно лучшего. Достаточно установить в Intellij IDEA тот же плагин Checkstyle, и ситуация будет иной — он будет подчеркивать "сомнительные" моменты в коде, что позволит писать не только рабочий, но и красивый, правильный код. Как бы то ни было, в сентябре меня позвали на первое собеседование. Вакансия содержала примерно следующее - разработчик любого уровня, мы предложим зарплату, соответствующую навыкам. На этом собеседовании задачки были примерно следующие — дан фрагмент кода. Правильно ли он написан, и какие могут быть проблемы? Не помню, сколько из них я правильно решил. Вообще нужно было помнить про Null, почти все вопросы были про него — что не стоит обращаться к параметру метода, не проверив его прежде на (if param != null). По результатам мне предложили первый месяц работать бесплатно (как стажировка), затем зарплату, которая ниже (хоть и не сильно), чем на том месте работы, где я был. Я хорошо понимал, что мне и не стоит ожидать замечательных предложений, ибо теории знал мало, практика только по JavaRush, ноль опыта и так далее. Поэтому я договорился, что выйду через 2 недели (нужное время для увольнения на старом месте). Параллельно с этим я подал резюме в другую компанию. Эта компания предлагала следующее:
  • 2 месяца обучения Java EE (2 раза в неделю по 4 часа)
  • если результаты показываешь хорошие (защищаешь свой проект успешно, который пишешь эти два месяца), то тебе предлагают трудоустройство.
Компания очень хорошая, иностранная, известная, да и условия работы отличные - словом, хотел я туда куда больше, чем туда, где мне уже сделали предложение. Отбор на обучение у нее предполагал 3 этапа:
  1. Выполнение практических заданий дома.
  2. В случае успеха тебя приглашают на компьютерное тестирование в офисе.
  3. В случае успешного тестирования в этот же день с тобой проводят собеседование.
С практическими заданиями я справился без особых проблем — здесь огромное спасибо JavaRush и их задачкам, после которых эти задания показались достаточно простыми. Заданий было 3: на RegExp(гугл помог, ибо сам я их терпеть не мог и не помнил), на алгоритмы (довольно простая, на соображалку скорее) и на запись\чтение из файла (таких в курсе JavaRush очень много). Меня пригласили на компьютерное тестирование. К тестированию я готовился по сайту quizful. Эти тесты очень помогли, некоторые вопросы в итоге даже пересекались. Сделал тест успешно, меня начали собеседовать. Это собеседование я, наверное, не забуду никогда в жизни. Все, что хотел услышать от меня собеседующий меня человек - основы теории Java, как то:
  • чем отличаются checked exceptions от unchecked;
  • какие методы есть у класса Object и зачем они нужны;
  • какие бывают коллекции и зачем они;
  • и немного про многопоточность.
JavaRush — отличный курс, он научит вас решать задачки и программировать, но теорию (для собеседований) нужно подучивать отдельно, в чем я и убедился, плавая в этих вопросах, как рыба в аквариуме. Меня хотели завернуть. Я его понимаю - я не мог внятно почти ни на что ответить, все пытался рассказывать с точки зрения написания кода, а его интересовала теория. Но я твердо знал, что я очень хочу попасть на эту стажировку, и я знал, что если мне дадут время, я все это наверстаю и выучу несчастную теорию. Все это я ему так и сказал, и он пошел мне навстречу - предложил через неделю встретиться еще раз, а пока что дал список тем (примерно, как я описал сверху) и сказал, где их можно выучить — просто туториал оракла, в нем есть все: http://docs.oracle.com/javase/tutorial/ За неделю я основательно изучил этот туториал и пошел на повторное собеседование накануне дня, когда меня ждали на новой работе. Судя по всему, собеседовавшего меня человека больше всего зацепила именно моя целеустремленность (я знал, что если я поступлю на эту стажировку, дальнейшее зависит только от меня - за два месяца я бы разобрался со всем, чем надо). Как бы то ни было, я поступил на эту стажировку и отказался от выхода на работу на том месте, куда мне предлагали ранее. За 2 месяца нас познакомили с многими темами из Java EE, как то: Servlets, JSP, Hibernate JSF, Spring и многое-многое другое — по итогам стажировки мы были знакомы (примерное представление имели точно) об основном стеке технологий Java EE. Также на протяжении стажировки мы писали свой проект, который на выходе надо было успешно представить для трудоустройства. Я просто помню свои первые ощущения, когда был на первой лекции. Я смотрел на задание этого проекта (его выдали сразу на первой же лекции) и не понимал даже близко, с чего здесь начинать и как это делать. Также я помню, чего мне стоило успешно его сделать. Эти два месяца почти все мысли в моей голове были о том, что успешное трудоустройство и исполнение мечты — в моих руках и только. Больше ни от кого не зависело, смогу ли я его сделать. Только от меня. Я уже уволился с работы, сидел почти без денег, и это было действительно тяжело. Сидел с утра, сидел днем, сидел вечером, однако не уставал радоваться — я не помню, когда еще я с такой одержимостью посвящал себя чему-то. Это время лишний раз помогло мне осознать, насколько мне нравится программировать и насколько я бы хотел работать в этой области. На выпуске я представил свой проект. Защитил его действительно хорошо, судя по всему, значительно лучше, чем ожидалось, и в качестве исключения меня взяли не на начальную должность, а сразу на позицию Middle Java Developer. Это было 9 декабря 2014. Я не мог поверить этому, но предложение о работе было передо мной на моем мониторе. Инженер-программист. Это случилось. С 15 декабря я вышел на работу. Еще ни разу не возникала у меня мысль "блин, не хочу идти на работу". Каждый день, выходя с утра из дома, я знаю, зачем я иду работать, что я буду делать, и насколько я этого хочу. Это безумно радует. Это стоит и стоило той цены, которую пришлось заплатить за достижение своей мечты. Я желаю всем из вас, кто действительно хочет быть программистом, идти вперед в достижении своей цели. Она более чем реальна, она совсем рядом, но за нее нужно заплатить. Заплатить своим потраченным временем, нервами, ведь изучать что-то с нуля - действительно не самый легкий шаг. JavaRush помог мне сделать эти первые шаги с легкостью, и не я отвернулся от программирования в самом начале из-за кажущейся сложности и обилия теории. Таким образом я смог довести свою довольно безумную идею по кардинальной смене области профессиональной деятельности (еще и при отсутствии технического образования) до конца. И вы обязательно сможете.
Комментарии (42)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
jackf31 Уровень 8
13 ноября 2015
Действительно мотивирующая статья, видно, что человек действительно трудяга и желает остальным успеха. Спасибо тебе за эти строки, потому что прочитал их когда устал от решения задач)) появились новые силы)
napeHb Уровень 21
2 апреля 2015
Красавец! У меня с 1С тож самое было) Сначала учился дома сутками на пролет, поднакопил знаний — устроился стажером(программист 1С) на зп в 5 раз меньше, чем получал инженером. Зато через 4 месяца уже стал получать больше, чем до 1С). Сейчас купил тут прем, решил освоить JAVA. Ну а тем, кто читает — главное цель и план. Цель вы себе ставите сами, план вам тут разжевали — мне то самому пришлось его разрабатывать. Осталось только приложить максимум усилий. И нужно помнить, есть люди более талантливые и менее. Но все придут к цели, если не остановятся — только последним нужно будет приложить больше усилий.
ЗЫ 1С поднадоел, но не уверен пока, что опять в стажеры ломанусь после курса:)
VvGoloshapov Уровень 24
24 марта 2015
А откуда знания английского?) И да поздравляю вас с успехами
AlexY Уровень 40
24 марта 2015
А можете рассказать в чем заключался сделанный вами в процессе обучения проект?
adnim Уровень 16
24 марта 2015
Спасибо за мотивирующую статью, молодец! Тоже уволился, уже гдет месяц учу java..)
Также интересуют ответы на вопросы Turambar про английский, а так же какие у вас были знания по java при поиске работы, допустим взять план обучения на javarush, ваши знания были по 20 уровень (имею ввиду в основном те темы, что в них рассматриваются)? или намного обширней?
Хочу понимать, на каком этапе и при каком объеме знаний, уже можно пробовать устраиваться junior'om?..)
Сколько времени в день уделяли учебе? ежедневно? и были ли пропуски в обучении дни, недели, месяцы в течении этих 9 месяцев?)
Если можно, пример резюме в личку:)
И последний вопрос, длительность рабочего дня? и сколько дней в неделю?)
Заранее спасибо)
Kishuomi Уровень 22
23 марта 2015
Потрясающая история успеха! Приятно читать.
Turambar Уровень 19
23 марта 2015
Очень мотивирующая и интересная история! спасибо!!! Вопрос у меня такой — иностранная компания, а как со знанием англ(или другого) языка в ней? не требовалось ли? или изначально знания были обширные?
Gradus Уровень 27
23 марта 2015
Спасибо большое за то, что оставил написал свою историю!
Подскажи, пожалуйста, как компания называется (можно в личку), я тоже сейчас на пути устройства в иностранную компанию, довольно известную, и там тоже, скорее всего речь будет идти о 2 месяцах стажировки.
4e4el Уровень 34
22 марта 2015
Круто, мои поздравления и наилучшие пожелания в карьерном и личностном росте! Такой вопрос: у вас остались учебные материалы с курсов? Сам собираюсь в ближайшее время работу искать и буду благодарен любой помощи :)
KuVa Уровень 29
22 марта 2015
Мои поздравления. Можешь поделиться пожалуйста названием компаний? Тоже живу в Петербурге интересно)