[Из песочницы] Как стать «толковым джуниором». Личный опыт
На Хабре есть уже довольно много статей от джуниоров и для джуниоров. Некоторые поражают степенью зажратости юных специалистов, которые в самом начале своего карьерного пути, уже готовы давать советы корпорациям. Некоторые наоборот удивляют несколько щенячим энтузиазмом: «Ой, меня взяли на фирму настоящим программистом, теперь я готова работать хоть и бесплатно. А еще вчера на меня тимлид посмотрел — уверена, мое будущее устроено». Такие статьи в основном в корпоративных блогах. Ну, и вот я решил, рассказать о своем опыте начала работы джуниором в Москве, потому что, а чем я хуже? Бабушка мне говорила, что ничем. Как вы, наверное, заметили, я люблю длинные отступления и растекаться мыслью по древу, но есть же любители такого стиля — так что наливайте большую чашку чая — и поехали.
Итак, несколько лет назад: я на 4 курсе политеха в своем тихом провинциальном облцентре. Я прохожу практику в полуразрушенном (на физическом уровне) НИИ. «Программирую» на XML’е. Моя работа очень важна для процесса импортозамещения в приборостроительной отрасли. Наверное, нет. Надеюсь, что нет. Надеюсь, что все XML-ки, которые я в полусонном состоянии на автомате набивал в этом НИИ пошли в корзину сразу после моего ухода. Но в основном, я читаю двачи и Хабр. Там пишут о сытой жизни программистов в столицах, которые сидят в удобных и светлых офисах, зарабатывают 300К/сек. и выбирают, какую модель Бентли купить на февральскую зарплату. «В Москву, в Москву» становится моим девизом, «Три сестры» — любимым произведением (окей, я имею в виду песню БГ, Чехова я не читал, конечно, он желчный какой-то).
Пишу своему виртуальному знакомому московскому программисту:
— Слушай, программисты-джуниоры в Москве вообще нужны?
— Ну как, толковые нужны, бестолковые нафиг никому не нужны (тут было другое слово, если что )
— А что такое «толковый» и что такое «бестолковый». И как мне понять, я вот — какой?
— Чуваааааак, блин, первое правило джуна — не быть душным. Толковый — это толковый, что тут непонятно.
Ну, что тут сказать — москвичи они слова в простоте не скажут. Но, по крайней мере я узнал первое правило джуниора.
Однако я уже очень хотел стать «толковым джуниором». И стал прицельно готовиться к переезду через год. Готовился я, естественно, на своей практике в НИИ в ущерб своей «работе», так что если проект импортозамещения провалится, то вы знаете кто виноват. Из минусов у меня было так себе образование — я потерял энтузиазм к обучению уже после первой тройки на экзамене (то есть после первого экзамена первого семестра). Ну и еще… это… я не очень умный. Высоколобые ученые и программные архитекторы вызывают у меня немое восхищение. Но все-таки хочется же!
Итак, за время подготовки я:
- Подучил синтаксис своих основных языков программирования. Так, случилось, что у меня это C/C++, но если бы начать сначала, я выбрал бы другие. Страуструпа я не осил, сорян сэр, но это выше моих сил, а вот Липпман — самое то. Керниган и Ритчи — напротив отличный туториал по языку — респект таким парням. В целом, по любому языку как правило есть несколько толстых книг, из которых джуниору достаточно прочитать одну
- Подучил алгоритмы. Кормана я не осилил, а вот Седжвик и курсы на курсере — самое оно. Просто, доступно и прозрачно. Также я тупо решал задачки на leetcode.com. Все easy-задачки я осилил, можно сказать прошел игру на изи-уровне сложности, хе-хе.
- Выдавил из себя пет-проект на github’е. Мне было сложно и скучно писать проект «просто так, для будущего», но я понимал, что надо, на собеседованиях это спрашивают. Это получился торрент-клиент. Когда я устроился уже на работу, я с огромным наслаждением удалил его с гитхаба. Спустя год после написания мне уже было стыдно смотреть на его код.
- Заучил гору идиотских логических задачек. Теперь я точно знаю как посчитать число включенных лампочек в зацикленном вагоне, узнать цвета шапок на гномиках и съест ли лиса утку. Но это настолько бесполезное знание… Зато теперь очень смешно, когда какой-нибудь тимлид выдает «У меня есть особая секретная задачка, которая определяет, может ли человек думать» и выдает одну из баянистых задачек, про которые знает весь интернет.
- Прочитал кучу статей про то, что hr-барышни хотят услышать на собеседовании. Теперь я точно знаю, какие у меня недостатки, какие планы развития на 5 лет и почему я выбрал именно вашу компанию.
Итак, я закончил институт и начал осуществлять план переезда в Москву. Я разместил резюме на hh.ru, место пребывания, естественно указал Москву и откликнулся на все вакансии, хотя бы отдаленно напоминающие мой профиль. Желаемую зарплату я не указывал, потому что понятия не имел, сколько платят. Но принципиально — работать за еду я не хотел. Бабушка мне говорила, что деньги — это мерило уважения тебя работодателем, а работать с теми, кто тебя не уважает, нельзя.
Я приехал в Москву и кинул рюкзак на свое койкоместо. За следующий месяц у меня было огромное количество собеседований, зачастую по несколько в день. Если бы я не вел дневник, я бы все уж забыл, но я все записывал, так что вот несколько категорий компаний и собеседований в них с точки зрения джуниора:
- Российские IT-гиганты. Ну, вы все их знаете. Они могут прислать приглашение «побеседовать» даже если вы не выкладывали резюме, типа мы все равно следим за тобой и все уже и так знаем. На собеседовании — тонкости языка и алгоритмы. Видел как посветлело лицо одного там тимлида, когда я изящно повертел бинарным деревом на листочке. Так и хотелось сказать «изи, изи, рилток литкод». По деньгам 50–60, предполагается, что за «большую честь» работать в компании с громким названием вы поскромничаете по зарплате.
- Иностранные IT-гиганты. В Москве есть несколько офисов крупных иностранных фирм. Звучит очень круто, однако свой опыт собеседований туда могу описать только так: WTF?! В одной меня долго собеседовали психологическими загонами типа «А как вы думаете, зачем люди работают? А за какую минимальную сумму вы бы стали работать на работе мечты?». После того как градус идиотии достиг максимума мне предложили взять парочку интегралов. Интегрировать я умею только е в степени х, о чем и сообщил интервьюеру. Скорее всего, после расставания мы оба считали друг друга дурачками, но он-то дурачок старый и уже не поумнеет, хе-хе. В другой фирме сказали, что я очень клевый, послали вакансию на согласование в Америку и пропали. Возможно почтовый голубь через океан не долетел. В другой фирме предложили стажировку за 40. Нунезнаааааю.
- Российские госконторы. Госконторы любят выпускников крутых вузов (с чем у меня проблема). Госконторы любят академические знания (с чем у меня тоже проблема). Ну и плюс госконторы бывают очень разные. В одной дамочка, похожая на школьную учительницу с уверенностью в голосе предложила 15 тысяч. Я даже переспросил — реально 15. В других 60–70 без проблем.
- Геймдев. Тут как в анекдоте «все говорят фильм для дураков, а мне понравилось». Несмотря на плохую репутацию отрасли, по мне так нормально — интересные люди, 40–70 по деньгам, нуачо, норм.
- Всякий трэш. В натуральном подвале сидят и пованивают 5–10–15 разрабов и пилят блокчейн/мессенджер/доставку игрушек/малварь/браузер/свой фоллач. Собеседования разные — от пристального взгляда до теста по языку на 50 вопросов. Деньги тоже разные: 30 тыс, 50 тыс, «сначала 20, потом 70», $2100. Общее одно — темные перспективы и темная схема оформления. А мне бабушка говорила, что в Москве все так и норовят обмануть такого воробушка как я.
- Адекватные середняки. Есть такие конторы середнячки, у которых нет громкого бренда, но и нет каких-то загонов по поводу своей исключительности. Они очень жестко конкурируют за кадры, так что у них нет 5-тиэтапных собеседований и попыток намеренно задеть на собеседовании. Они прекрасно понимают, что кроме зарплаты и крутых проектов — остальные мотиваторы, они уже дополнительные. Собеседования адекватные — по языку, что есть/чего хочешь, какие есть пути развития. По деньгам 70–130. Я выбрал одну из таких контор и успешно работаю в ней по сей день.
Окей, если кто дочитал до этого места поздравляю вас — вы крутые. Вы заслужили еще одну порцию советов джуниорам:
- Знайте синтаксис своего языка хорошо. Бывают спрашивают всякие редкости.
- Не паникуйте, если собеседование прошло неудачно. У меня было собеседование на котором после почти каждой моей реплики интервьюеры начинали громко ржать и прикалываться над моим ответом. Когда я вышел из комнаты, мне реально хотелось плакать. Но потом я вспомнил, что у меня через два часа следующее собеседование, а этим #### желаю трудноуловимых багов в продакшне.
- Не быкуйте на собеседованиях с hr-ками. Скажите девочкам то, что они от вас хотят и идите дальше к техническим специалистам. Я на собеседованиях многократно заверял hr-ок в том, что просто мечтаю работать в телекоме/геймдеве/финансах, разрабатывать микроконтроллеры и рекламные сети. Деньги для меня конечно же не важны, только чистое познание. Да-да-да, я нормально отношусь к переработкам, готов слушаться начальника как маму, а свое свободное время посвящать дополнительному тестированию продукта. yeah-yeah, whatever.
- Пишите нормальное резюме. Внятно изложите какими технологиями владеете и чего хотите. Всякие «коммуникабельность и стрессоустойчивость» лишнее, особенно если вы категорически некоммуникабельны и нестрессоустойчивы как я.
Надо чем-то закончить статью, так удачи джунам, синьоры-помидоры не злитесь и не обижайте молодежь, всем пис!