JavaRush/Java блог/Архив info.javarush/Еще одна success story
Pablon
25 уровень

Еще одна success story

Статья из группы Архив info.javarush
участников
Вот и дошли мои руки к написанию сего поста. В свое время такие статьи меня очень сильно мотивировали, и я был искренне рад за каждого кто здесь отписывался. Я надеюсь эта статья послужит мотиватором еще кому-то. Много воды утекло с тех пор как я штудировал JavaRush, но я не забыл. Я считаю этот ресурс одним из лучших. Дальше много букв о моей истории успеха. Где-то в далеком 2014 году я жил в Киеве и работал юристом. Надо упомянуть, что у меня на самом деле всю жизнь все шло в сторону точных наук: физ-мат лицей, факульет компютерных наук и математики и тд. Но после универа мне любезно предложили поработать юристом (я еще учился на юридическом заочно). И я не отказался. Так вот работал я юристом уже 3 год и стало это очень скучно и тупо. Все те же договора, те же суды, те же фразы. Плюс ко всему много моих друзей, сокурсников работали в ИТ и давно мне говорили подтягиваться туда. Вначале попытки мои начать учить Java, были неудачными. Каждый раз начиная читать книгу или статью - меня тормозило, усыпляло или вырубало))) Я уже начинал думать что это не мое. Хотя до этого в лицее учили Pascal и он мне нравился. И все так бы и было, если бы не один мой хороший знакомый который посоветовал попробовать Javarush. Первые 10 уровней у меня прошли на одном дыхании - после работы прилетал домой ради этого. За первый месяц вечерами прошел первые 10 уровней. Купил месячную подписку и взял отпуск: за тот месяц прошел до 20. Настолько увлекся что не замечал как время идет. В конце концов таки купил полную подписку за 100 баксов и радовался как слон. Не помню точно до какого уровня дошел, наверное 23 или 24. В это время я начал посматривать на вакансии и понял, что, к сожалению, я незнаю еще очень много для того чтоб успешно устроиться на свою первую работу джуном. И все это совсем разные технологии. Пришлось оставить Javarush и посмотреть, подтянуть SQL, Spring, Hibernate, JDBC, HTML, CSS, алгоритмы(!) и другое. Самый правильный вариант после 20 уровня - это начинать паралельно рассылать резюме и ходить по собеседованиям. Во-первых, вы точно будете знать свои пробелы, во-вторых вы по немногу будете привыкать к ним и терять страх :) Разослав наверное 100 резюме, попутно постоянно ее модифицируя, я на протяжении полу года ходил по собеседованиям. Подтягивал все, что на них не знал. Главное запоминать все на что вы не смогли или смогли плохо ответить и потом придя домой выучить это. Именно так я и готовился. Было много компаний где меня почти взяли. Проходил 2-3 этапа и на последнем либо мне отказывали по знаниям либо (что еще хуже) говорили что они уже взяли кандидата, и что он просто раньше прошел последний этап, хотя я им тоже подходил :) После таких собеседований, меня как ни странно не депрессия накрывала, а злость, я еще больше хотел доказать себе самому что таки добюсь своего. Продолжая учится в рабочее время, я все рассылал резюме и ходил по собеседованиям. В какой-то момент попивая чаек на работе меня осенило. Такое ощущение, что я был слеп и прозрел. Пазл перед глазами сложился. Я понял, что текущая работа занимает слишком много времени которые могут быть потрачены на учебу и поиск работы. Это было решение уволится. Стоит упомянуть, что я женат и жена у меня тогда была на 5 месяце беременности. Мое решение уходить с работы и оставаться ни с чем в такой момент ее сильно испугало. Все кто знал о ее положении и моем решении смотрели на меня искоса, коллеги, друзья. И это понятно) Ведь выйди она в декрет и не найди я работы - было бы очень тяжело. А времени до декрета было всего пара месяцев. Меня отпустили но пришлось 2 недели отработать до увольнения. Еще стоит упомянуть что в городе откуда мы с женой родом(небольшой обласной центр на западной Украине) открылся офис одной ИТ компании. Несмотря на то, что я не искал работу нигде кроме Киева, и на то что они не набирали джавистов, я еще за 2 месяца до увольнения отправил им резюме и подписал что был бы рад работать у них если они решат собирать Java команду. Отправил и забыл. Подходим к самому интересному. На следующий же день после решения уволится мне позвонила девушка. с той самой компании, через 2(!) месяца после отправки резюме, и предложила попробовать пройти тест на JavaScript интерна. На тот момент я считал JavaScript и фронт енд девлоперов кем-то типа формошлпепщиков которые только и делают что двигают кнопочки на пару пикселей. Как оказалось я ошибался. У меня была одна неделя до крайнего срока прохождения онлайн теста. До этого момента JavaScript я даже в глаза не видел. Скажу вам вот что - если вы знаете Джаву, то выучить JavaScript вам не составит особого труда. Мне далось легко и было довольно увлекательно. Пройдя тест меня пригласили на скайп интервью. Оно длилось полтора часа. Меня спрашивали по JavaScript, а потом и по Java, алгоритмам, математике. Мне наверное повезло потому, что парень который меня собеседовал сам знал Java и когда я по джаве ответил на 10 из 10 он пригласил меня на еще одно, очное интервью и дал тестовое. Тестовое я сделал без проблем. Отработав две недели я уволился. Это был четверг. Мы с женой поехали на выходные в свой родной город к родителям праздновать Пасху. Во вторник после Пасхи я пришел на третье собеседование. На интервью было еще пол часа разных не особо технических вопросов и мне предложили интернатуру на 2 месяца с ЗП выше той что у меня было на прошлой работе. Сказать что я был счастлив - это ничего не сказать. Тяжело описать такое словами. Получилось так, что я вышел на работу ровно через неделю после увольнения с предыдущей. Из плюсов - мы с женой вернулись в свой родной город, родился ребенок, родители были рядом и помогали с ребенком на первых порах и я наконец-то нашел работу мечты. Это даже нельзя назвать работой, мне так нравилось(и нравится) делать то что я и сейчас делаю, что я готов был и бесплатно это делать. Досрочно, за месяц, закончив интернатуру, мне предложили позицию Junior JavaScript Developer и + 50% к ЗП на следующие пол года. Еще через пол года + 100% к ЗП. И это при всем при том, что работа идет в кайф. Отличное чувство. Прошло еще немного и я решил идти дальше. Причина банальна: используемые технологии были устаревшими и безперспективными, и амбиции выросли)) В общем и целом за 2 недели пока мой профиль висел на джинне мне предложили оффер от которого я не смог отказаться. Это переезд обратно в Киев, небольшая компания-стартап, выбор технологий за мной + ЗП в 3 раза больше (твердого миддла). Работая здесь два месяца я могу сказать, что ни о чем не жалею. Особенно я благодарен создателям и комьюнити в JavaRush. Именно он дал мне тот первый толчек, и те важные практические навыки. Казалось бы причем тут Java, я же работаю совсем с другим языком? Да, неважно с чего ты начинаешь, важно начать. Еще через Х лет я возможно буду писать вообще на неведомом сейчас языке. Главное не язык, а понимание основ. Кстати в этом мне очень помог курс по Алгоритмам на Coursera. Всем спасибо за внимание и помните, главная черта для достижения любой цели - это настойчивость.
Комментарии (25)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
zavarnik1
Уровень 37
26 октября 2016, 21:24
Поздравляю автора и спасибо за мотивацию!
Про технологии был в курсе, но вот про алгоритмы не знал. Добавлю в свой список «для изучения»
Pablon
Уровень 25
27 октября 2016, 11:21
Спасибо! Да, алгоритмы очень важны для поиска работы, особенно первой работы. Мне в работе за полтора года еще не приходилось использовать эти знания, но чтоб вас взяли на первую работу, когда у вас нет опыта и кода, который можно показать, надо уметь реализовать свой двусвязный список, отсортировать и обьяснить зачем нужны деревья. Самые простейшие структуры данных знать надо.
Torin
Уровень 27
27 октября 2016, 11:41
Глянул литературу что вы кидали по ссылкам, там книги меньше чем 800 страниц нет. Я конечно могу только рассуждать, у меня, к сожалению, пока еще нет трудоустройства, но, имхо, тут стоит острый вопрос о целесообразности траты времени (вы и сами про это знаете, вы ведь работали во время учебы). Читать талмуды по 800 страниц ради тех вещей что вы перечислили, а именно

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

это мне кажется не рационально. Чтобы описать принцип работы двусвязного списка достаточно одного предложения, одного ввода в поиск, одного взгляда на src.zip. Алгоритмы сортировки уместились в одну статью на хабре, деревья мы решаем на 20-ом уровне, если не изменяет память. Неужели вы потратили недели на изучение алгоритмов? читали книги по 800 страниц? и это такой принципиальный момент? многие кто уже работает, пишут в комментах о том что алгоритмы им ни разу не понадобились, и вообще их требуют чтобы хоть как-то оправдать потерянное свое личное врем во время учебы в универе. Нужны еще мнения по алгоритмам, давайте решать эту проблему. Нужен концентрат информации по ним, а не книги по 800 страниц
Pablon
Уровень 25
27 октября 2016, 13:41
Да, вы абсолютно правы. Столько времени тратить на алгоритмы нецелесообразно. Именно поэтому я учил их по видеоурокам и курсу на Coursera(что занимает у меня намного меньше времени).
На счет того нужны ли они вообще. Впервые меня незнание оных подкосило при пробе устроится на интерна в EPAM. После этого я начал их учить.
На финальном собеседовании туда куда меня взяли на первую работу я как-раз показывал как реализовать несколько простых структур данных на Java(списки, деревься, хешмап и другие). Я к тому, что в том числе благодаря знаниям простейших алгоритмов я прошел на место где(как потом рассказывала мне HR) до этого прособеседовали 40-50 человек.
В той статье на Хабре есть только описание, но нет реализации. Надо не только абстрактно понимать их, но и уметь их реализовать самому без сторонней помощи на собеседовании.
Повторюсь: минимум — это простейшие алгоритмы. Курс на Coursera я так и не закончил — нашел работу, и ушел в нее с головой. Но я надеюсь в ближайшем будущем закончить)

Я специально поднял свой аккаунт на Coursera чтоб посмотреть на чем закончил. Вот плюс-минус то, что я знал по алгоритмам на момент поиска работы:

1. Анализ алгоритмов, сложность алгоритмов.
2. Union−Find
3. Stacks and Queues
4. Elementary Sorts
5. Mergesort
6. Quicksort
7. Priority Queues
8. Binary search, binary search tree

На этом я закончил. Это 4 недели курсов. Еще 2 оставалось до конца но я не закончил. Каждую неделю было 5-7 видеоуроков + практические задания. Каждый рабочий день я тратил около 2 часов на изучение алгоритмов. То есть 2 часа в день * 5 дней в неделе * 4 недели = 40. Около 40-50 часов я потратил на алгоритмы. Это насколько я помню. Дальше думайте сами.
Torin
Уровень 27
27 октября 2016, 15:12
Спасибо за развернутый ответ. Итак, под «Знать алгоритмы» подразумевается — подытожим:

1) Уметь самому реализовать структуры данных, такие как ArrayList, LinkedList, HashMap, Set? кстати по коллекциям есть подходящий линк1 и линк2 с хабры.

2) Проработать алгоритмы сортировки, понять и уметь в 3 часа ночи разбуженным написать на листке туалетной бумаги сортировку пузыркем.

3) Сложность алгоритмов

4) Бинарный поиск

5) Деревья
Pablon
Уровень 25
27 октября 2016, 15:40
Да, этих пунктов в большинстве случаев вам с головой хватит. Глубже копать на этапе поиска первой работы не вижу смысла. Удачи!
planet
Уровень 14
26 октября 2016, 14:15
Поздравляю с успехом. Хотел спросить сколько лет автору?
Pablon
Уровень 25
26 октября 2016, 16:15
Спасибо, когда начинал учить было 25 и я считал себя безнадежно опоздавшим на лодку) Через год уже работал. Сейчас мне 28 и полтора года опыта за плечами. Никогда не поздно начинать. Главное отбросить сомнения.
z_ildar
Уровень 30
23 октября 2016, 21:13
поздравляю, сейчас нахожусь на испытательном, проработал месяц, осталось 1-2, мб тоже будет что написать)
Pablon
Уровень 25
23 октября 2016, 21:32
Поздравляю. Конечно будет что рассказать, главное не забыть. Для кого-то это хороший мотиватор)
Joysi
Уровень 41
21 октября 2016, 19:11
Поздравляю, можно несколько вопросов:
1) Помимо Java предъявлялись ли требования к знанию сисадминстра — инсталляции и поддержки серверов, развертыванию и сопровождению приложений (особенно в небольшой компании)?

2) Какой требуется уровень английского:
— Чтение и разбор технической литературы
— Умение вести переписку
— Умение вести аудио/видеопереговоры

3) Практикуется ли замануха (в больших компаниях) — обучение на первых сроках оформляется в контракте, согласно которому работник при увольнении в течении первых 1-2 лет обязан вернуть сумму обычно равную 3-6 его окладам.

Спасибо заранее.
Pablon
Уровень 25
21 октября 2016, 20:54
1. Не было такого ни разу. Я бы не рассматривал такие предложения. Вначале надо сосредоточится на программировании.
2. Везде по разному. Обычно просят рассказать про себя несколько предложений на английском. В моем случае, в обе компании куда я прошел, английский не проверяли. Точнее в первой забыли и проверили после оффера. Во второй поверили на слово. Даже не проверяли.
3. Да я слышал о таком. Точно знаю что такое есть в Люксофте, сам пытался попасть туда на практику по такой схеме. Еще у меня есть знакомые которые по такой схеме подписали контракт на 5 лет с ноунейм конторами и сильно пожалели. Я думаю год-два — это допустимый срок, особенно в больших компаниях которые дорожат своей репутацией. С небольшимы я бы не рискнул подписывать контракт.
dima_force
Уровень 10
21 октября 2016, 17:41
Поздравляю! Подскажите какой именно курс по алгоритмам на Couresera проходили?
Pablon
Уровень 25
21 октября 2016, 18:27
Спс, ru.coursera.org/learn/introduction-to-algorithms,
ru.coursera.org/learn/java-data-structures-algorithms-2
Могу сказать что в том числе благодаря этому прошел. Знать основные структуры данных — очень важно.
Fatal
Уровень 14
22 октября 2016, 15:12
Спасибо за ссылки, но курс на английском, не все им владеют в должной степени (по крайней мере я *смайл Гарольд с болью в глазах*). Есть ли альтернатива на русском? может сталкивались? и поздравляю с победой над собой и обстоятельствами! перешагнуть через пропасть сомнений и в конце концов добиться желаемого выше всяких похвал. Низкий поклон )
Pablon
Уровень 25
23 октября 2016, 00:37
Спасибо, это всем под силу, главное не останавливаться) На счет алгоритмов, есть альтернативы на русском. В гугле можно легко найти книги по алгоритмам и структурам данных на русском или даже видео уроки в ютюбе. Например хорошая подборка вот vk.com/page-54530371_48795618
Fry
Уровень 41
21 октября 2016, 12:46
Мои поздравления
Kingpin
Уровень 31
21 октября 2016, 05:50
Спасибо за историю! Тоже понимаю что работая на работе, остается очень мало сил и времени на обучение, но пока трудно решиться на увольнение в никуда…
Pablon
Уровень 25
21 октября 2016, 10:48
Спасибо) Я тоже долго не решался. До момента когда почувствовал что вот-вот устроюсь. Была такая уверенность потому что последние несколько собеседований мне говорили что я по знаниям им подхожу на 100% и они бы меня взяли но есть кандидат который знает все что знаю я + еще кое-что. В тот момент когда на 2-3 собеседованиях ты уже отвечаешь на все что спрашивают, в тот момент ты и понимаешь что можно двигать дальше.

У меня по сути ушел год с того момента как начал обучатся до момента устройства. Первые пол года тупо учил Java (JavaRush + youtube + книги), вторые пол года учил JavaEE + все остальное что требовалось в вакансиях + паралельно ходил по всем собеседованиям куда приглашали, даже туда где бы не хотел работать.
Kingpin
Уровень 31
21 октября 2016, 12:56
Спасибо, т.е. еще работая на основной работе, лучше подтянуть знания до минимально необходимого уровня +-, а уже когда будет хоть какая то основа в виде знаний под ногами, можно отправляться в открытое плавание.
Cabron
Уровень 30
21 октября 2016, 02:04
Поздравляю!
Хотелось бы узнать, если не секрет, какое тестовое задание вам дали?
Pablon
Уровень 25
21 октября 2016, 10:41
Спасибо, не секрет. Тестовое первое было 50 вопросов по JavaScript с вариантами ответов. А второе — создать две игры в браузере: змейку и карточную игру. Сделал легко) После JavaRush в принципе все тестовые в компаниях проходятся как два пальца.
ZackFox
Уровень 14
28 октября 2016, 18:17
я пока учусь — пытался сделать тетрис 2 недели его собирал. Нигде не было и нет нормального объяснения. Но форумах никто толком не отвечал конкретно
Tigran
Уровень 30
21 октября 2016, 01:59
Воу, наконец-то новая саксесс стори! Поздравляю искренне!
Традиционная пара вопросов из зала:
1. Когда рассылал резюме, размещал в нем какие-то куски своего кода и просили ли их показать на собеседованиях?
2. Помнишь свое самое провальное собеседование?)
Pablon
Уровень 25
21 октября 2016, 10:38
Ага, спс)
1. Никаких кусков кода не показывал. На некоторых собеседованиях просили показать github аккаунт. Но это не показатель. У меня даже сейчас мой гит аккаунт почти пустой. Там только мелочи всякие и тестовые проекты которые я не показывал бы никому.
Но резюме постоянно обновлял, доделывал. Под каждую компанию делал новое резюме в соответствии с их ожиданиями от кандидата)
2. Самое провальное… Пригласили меня после тестового в одну контору на второе тестовое. У них тестовое нужно было делать в офисе и времени давался один день, с утра и до ночи. Там задание распечатано на 8 страницах А4. В общем просидел я там часов 8 без обеда и вроде как сделал. Когда позвал проверять парня то оказалось что я не обратил внимание на одну маленькую деталь и потому сделал совсем не то. Мне предложили еще до ночи посидеть но я вежливо отказался и свалил, голодный и злой под дождем шел домой и клял свою внимательность)))

Но это меня не сильно расстроило) Такое бывает, просто ловиш тормоз и сказать ничего не можешь. После первых 5 собеседований так больше не происходит) Я себя так настроил: ходить по собеседованиям не ради работы, а ради опыта хождения по собеседованиям))) Это дало уверенность в себе. Приходил, отвечал все что знал, мило общался и прощался) В какой-то момент мне даже по приколу было) Жаль больше не хожу по ним))