JavaRush /Java блог /Истории успеха /Java Middle за 2.5 месяца

Java Middle за 2.5 месяца

Статья из группы Истории успеха

Досье

  • Кто: Толеген Избасар
  • Место жительства: Астана
  • Возраст на момент старта обучения Java: 23
  • Первая работа программистом: 2 месяца после старта обучения
  • Оригинал истории успеха
Java Middle за 2.5 месяца - 1
Можно ли очень быстро проскочить стадию Junior и сразу стать Middle-программистом? В принципе, можно, но не так уж это просто. «Не знаниями едиными», — считает герой этой истории успеха, но знаний у него, надо сказать, очень немало. Нестандартная история успеха, в которой автор рассказывает, какую роль в быстром повышении могут сыграть внимательность, сигареты и стратегическое планирование. Приветствую всех читателей, подумавших, что за 2.5 месяца с нуля действительно можно стать Middle. Спешу вас огорчить: это возможно только при очень усердной работе над собой, а я знаю, как всем хочется всего и сразу причем — прямо сейчас и никак иначе. Да и фраза с нуля ко мне применима только условно. Да, язык программирования Java у меня действительно был абсолютно нулевой. Но кое-что я все-таки уже знал и умел еще до знакомства с JavaRush и, пожалуй, мне бы хотелось начать свой рассказ именно с этого, потому что мой карьерный рост — довольно странное сочетание знаний, умений и удачи в некотором роде.

Перед JavaRush

Итак, позвольте привести список, благодаря которому я и приобрёл конкурентное преимущество перед другими, а также позволил пройти JavaRush (до 34 уровня) довольно быстро и без особых сложностей (по крайней мере, они меня не удивили). Список состоит из знаний, которые я получил в университете, а также тем, что мне самому было интересно. Не буду разделять, где что лежит, и называть университет тоже не буду. При желании можно усвоить эти знания самостоятельно. Алгоритмы и структуры данных: мой путь в этом направлении начался с изучения принципов построения алгоритмов, чтения классических книг (Кнут) и изучения языка программирования Pascal. Продолжился он языком C, реализацией всех структур данных и разбором преимуществ и недостатков каждого из них. Не буду говорить, что также умею работать с Машиной Тьюринга и Алгоритмами Маркова… уже сказал, но вы можете пропустить это мимо ушей. Хотя по моему скромному мнению, понятие о бесконечной ленте памяти и движении указателя по нему, дает наиболее правильное представление о том, как же все-таки работает компьютер изнутри. Архитектура компьютера и Assembler: когда вы решите, что полностью разобрались с принципом работы компьютера, попробуйте писать программы на очень низком уровне (иначе как вы оцените все прелести Java?). Я рассматривал все учебные варианты с одним, двумя, тремя регистрами и понял, как приходится изворачиваться, когда регистр всего один, а программа работает (удивительно, правда?). Дискретная математика: стоит взяться ещё и за этот предмет, так как он дает полное представление о логическом мышлении, а теория конечных автоматов расскажет вам, как устроены «внутренности» процессора, как они организованы в интегральных схемах. Также в рамках этого предмета изучают Теорию графов, которая 100% лишней не будет. Высшая математика: решил выделить все остальные математические предметы в один пункт, чтобы не слишком забивать голову. Здесь лежат: математический анализ, теория вероятностей и статистика, линейная алгебра. Последняя, кстати, очень важна, если вы планируете заниматься трехмерной графикой. Знаю, у всех мечта — писать игры, правда для этого придется ещё и курс дифференциальных уравнений с численными методами пройти. Архитектура Linux: после того, как освоитесь здесь, многопоточность в Java вызовет гораздо меньше вопросов, да и окажется, что сказку про философов вы уже где-то слышали. ООП, язык C++: ну вот, почти добрались до вершины пищевой цепи. Не буду здесь подробно писать, почему реализацию ООП именно на C++ смотреть гораздо интереснее. Дополнительно: еще пара мелочей, которую я уже знал, были: компьютерная графика (OpenGL, Unity 3D) и C# (Core).

Причем тут JavaRush?

Ну вот, вместе со всем этим барахлом знаний, еще в сентябре прошлого года я наткнулся на JavaRush, пролистал пару уровней и забил, так как довольно просто нашел работу после университета (не программиста, но в IT… Может, кто догадается, что это могло быть?). Но вскоре обнаружил, что мне это стало совсем не интересно, за пару месяцев я почти достиг потолка и понял, что развиваться здесь не имеет смысла, хотя руководство компании предлагало почти занимательные варианты (среди которых был DevOps). Их я отверг. Параллельно я занимался подготовкой школьников к олимпиадам по информатике (забыл упомянуть — мне очень нравилось спортивное программирование), ну и после ухода с основной работы ушел туда с головой. Примерно 4-5 месяцев меня все устраивало, пока и это дело мне не надоело. Вопросы повторялись, все темы были пройдены и вот тут-то я и вспомнил о JavaRush.
«Будучи рационалистом (жадиной), я сперва от корки до корки прошел 10 начальных уровней, затем заглянул подальше (хватило уровня до 15 вроде), понял, что это довольно интересно и в свойственной мне манере занимался этим просто в любой свободный момент. Есть лишние 5 минут? Отлично, допишу логику метода.»
Итого: я купил две месячные подписки. За первый месяц прошел от 10 уровня до 28, за второй неполный (примерно 15 дней) — прошел от 28 до 34 уровня. По хронологии — это был апрель-середина мая, то есть потрачено 1.5 месяца (в рублях сами посчитайте). Не буду говорить, как стоит заниматься, а как не стоит — об этом уже очень много сказано.

Трудоустройство

Где-то на 30 уровне я просмотрел вакансии в своем городе и решил не торопиться, рассылая резюме всем подряд, а точечно выбрать желаемую компанию, подготовиться к ней и только после этого отправлять свои каракули в HR-отдел. Каракули я тоже очень старательно вывел, и получилось очень даже ничего. Меня довольно быстро пригласили на собеседование. Я прошел его очень уверенно (по крайней мере то, что касается Java Core). Не буду расписывать, какие были вопросы. Проблемы начались, когда у меня спросили, как работает Spring, и знаю ли я хоть какие-то Enterpriseтехнологии. Собственно, я сказал, что не знаю, а с таким уровнем — Junior гарантирован (выше не прыгнете), но я все же прыгнул и вот тут, наверное, начинается самая интересная часть. В общем, когда мне объяснили условия (2 месяца — испытательный срок, позиция — Junior и вилка зарплат), я понял, что мне они не очень нравятся, но согласился. Только спросил, могу ли я приступить к работе позже, мотивировав тем, что мне необходимо было закончить дела на текущей работе, прежде чем приходить в новую компанию. Таким образом, я выбил себе почти месяц для подготовки. На собеседовании я был в начале мая, а приступал к работе 23 числа. Естественно, я еще раз изучил требования, узнал, какие используются технологии (Java EE 6) и готовился к работе.

Middle или не Middle?

Приступив к работе, я обнаружил, что они набрали около 5 Junior-ов, среди которых, я выделялся, но не слишком.
«Первым делом, я познакомился с непосредственным руководителем, подметил, что он курит и начал выходить курить вместе с ним (а так вообще я не курю).»
Также с нами ходил еще один программист, о нем расскажу чуть позже. В общем, за курением (3-4 раза за рабочий день) я общался с руководителем, подробнее рассказывал о своих успехах, невзначай упоминал свои знания (должны же они пригодиться) и вообще, входил в доверие, как только мог. Организованный мною в конце первой недели шашлык с пивом позволил установить более приятельские отношения.
«В офисе я оставался работать до 11 вечера (рабочий день до 18:30), пока меня не выгонял охранник. Со мной в офисе иногда оставались генеральный директор компании и CTO, с которыми я тоже общался. Мы вместе ужинали и вместе выходили из офиса (мне CTO даже предлагал подвезти до дома, но я вежливо отказывался).»
Таким образом, я, во-первых, установил хорошие отношения с непосредственным руководителем, во-вторых, показал высшему руководству, что я доделаю задачу, а только потом пойду домой. Естественно, все это еще не делает меня Middle. Так что же сделало? Напоминаю, что я не знал до собеседования ни одного фреймворка (кроме JUnit). Вот тут, как раз стоит вернуться к программисту, которого я упомянул выше. Это был очень мощный программист с 20-летним опытом, который проработал 5 лет в Москве, около 7 лет в Америке (в качестве главного архитектора проектов) и много где еще, включая правительственные проекты особой важности (все это я узнал, пока курил вместе с ним). Так вот, этому программисту дали очень серьезную задачу, и он решил взять меня в помощники. После того, как ему дали эту задачу, оказалось, что ему нужно очень срочно уезжать из страны и работать он не сможет. Он написал каркас приложения и оставил меня за главного, сказав, что будет следить издалека. Именно этот момент помог мне стать Middle, и закончить испытательный срок не за 2 месяца, а за один и претендовать на более серьезную зарплату. Потому что следить издалека у этого программиста не получалось и проект полностью остался на мне. За месяц я успешно его завершил, за что и получил свою должность и возможность претендовать на более высокую зарплату.

В чем мораль?

Вы можете сказать, что мне повезло учиться там, где дали все эти знания (заметьте, я использовал их просто для упоминания перед начальством), что обстоятельства сложились так, что выпал такой проект на мои плечи, да и причем здесь, казалось бы, JavaRush? Еще раз напомню, до JavaRush уровень владений Java у меня был 0 — это раз. Во-вторых, когда решаешь задачи с 52 попытки, что-нибудь да запоминается. У меня была набита рука на исключениях, проверках и прочем, что тоже было конкурентным преимуществом, да и в целом — Java Core начинаешь понимать очень основательно (что подтверждает сертификат OCA, который я сдал за счет компании и набрал 94%), а без этого дальше двигаться смысла особого не вижу. На следующей неделе меня назначают на новый проект с нуля, который я буду вести сам (включая проектирование базы данных, выбор технологий, а также — набор команды). Также, я буду вести собеседования, и рассматривать прогресс Junior-ов для определения: стоит, не стоит. Хочу сказать, что в этих вопросах мне помогли не только фактические знания, но и умение налаживать общение с командой, хорошо показывать себя перед руководством, умение произвести впечатление и доказательство того, что я все доведу до конца. Спасибо за внимание, желаю всем побольше упорства и внимания к деталям.
Комментарии (4)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Viktor Balobanov Уровень 12
7 июня 2020
Орнул с этого:))) «Первым делом, я познакомился с непосредственным руководителем, подметил, что он курит и начал выходить курить вместе с ним (а так вообще я не курю).»
Dmitry Golyshkin Уровень 22
31 октября 2018
Фантастика
Сергей Юрьевич Уровень 24
23 октября 2018
как то сомнительно
Евгений Уровень 16
26 августа 2017
Скромный человек. Раз вы смогли не просто удержаться на уровне миддла, но и достичь успехов, то это была явно ваша должность! Вас ждут великие дела!