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, 16:13
Орнул с этого:))) «Первым делом, я познакомился с непосредственным руководителем, подметил, что он курит и начал выходить курить вместе с ним (а так вообще я не курю).»
Dmitry Golyshkin
Уровень 22
31 октября 2018, 20:17
Фантастика
Сергей Юрьевич
Уровень 24
23 октября 2018, 13:44
как то сомнительно
Евгений
Уровень 16
26 августа 2017, 22:22
Скромный человек. Раз вы смогли не просто удержаться на уровне миддла, но и достичь успехов, то это была явно ваша должность! Вас ждут великие дела!