Ситуация, при которой сотрудника далеко не все устраивает на текущем месте работы, но опасается выходить на рынок труда, возникает очень часто. Как избавиться от страха смены работы для блога GMS рассказал Денис Неклюдов, ведущий Android-разработчик британского финтех-стартапа Revolut, первый Google Developer Expert в России и ведущий подкаста о разработке под Android. Ему слово.
Это первая из двух статей о трудоустройстве, все описанное ниже основано на моем личном видении ситуации и дополнено коллегами по цеху.
Почему стоит поискать новую работу
Надеюсь, сама тема моей статьи не вызовет негатива со стороны компании, которые не хотят терять своих разработчиков. Тут все просто — если работодатель крут и приятен, то никто не захочет от него уходить. Но чаще всего недостатки все же есть, но по разным причинам специалисты их терпят.
Денис Неклюдов
Делать этого не стоит по ряду причин. Рассмотрим самые распространенные страхи разработчиков, связанные со сменой работы, и развеем сопутствующие им мифы:
- Нежелание бросать команду на середине пути. Даже если поезд в огне, российского разработчика часто одолевает чувство долга перед коллегами и руководством. Но на самом деле через неделю все адаптируются под новые условия, а через три недели никто уже и не вспомнит своего, такого важного для проекта, коллегу.
- Займ под малые проценты от работодателя. Лучше было бы сразу не брать его.
- Необходимость вернуть подъемные. Это пугает, однако хороший специалист вполне в состоянии устроиться на новую работу, взять там новые подъемные, большего размера и часть из них вернуть старому работодателю.
- Желание получать опционы за выслугу лет. Отличное желание, но вполне резонно проверить, будут ли они в действительности даны до наступления срока, и стоят ли они чего-то на самом деле.
- Вера, что в ближайшем будущем вам поднимут зарплату и/или поменяют должность на более высокую. Обычно рост заработных плат осуществляется быстрее (~25%+) сменой компаний, чем внутри. А опыт и знания гораздо быстрее нарабатываются не в ходе выполнения рутинных задач, а при форсированной подготовке к собеседованиям и разработке собственных «домашних» проектов (если конечно вы не работаете в крупном аутсорсе, где в порядке вещей сидеть несколько месяцев без проекта, обучаясь новым технологиям).
- Боязнь не найти быстро новую работу. Вот, чтобы избавить вас от этого страха, я и пишу эту статью.
Правила составления резюме
Правила составления резюме отлично описаны в этой статье блога GMS, от себя я лишь хочу добавить, что меня интересует, когда собеседования провожу я сам.
Мне совершенно не интересно, где учился кандидат, особенно, если это опытный разработчик, я знаю блистательных коллег, бросивших универ в начале пути получения высшего образования, которые за пояс легко заткнут многих кандидатов наук по всем фронтам. Но новичкам лучше иметь за пазухой приличный диплом по специальности, он даст больше шансов.
Я с любопытством отмечу все пункты, связанные с технологиями, которые знает кандидат. Если у него будет ORMLite, aQuery и AndroidAnnotations я буду опечален, а если кандидат использует OkHttp и знает его устройство и связку с Retrofit, пробовал/интересовался/внедрял новые ORM или вообще противник ORM, знает Dagger или умеет делать Dependency Injection иными способами, ниндзя реактивного программирования и пишет в свободное время проекты на Kotlin — я буду больше заинтересован. Но это вовсе не означает, что я не побеседую, впоследствии возможно и найму человека, который аргументировано докажет, что все вышеупомянутые слова лишь мода сегодняшнего дня, которая будет заменена другими модными словами в будущем.
Поэтому, если вы считаете, что все должно быть написано лично вами, или авторами, библиотеки которых проверены годами, придумайте, как отразить это в вашем CV.
Важное замечание: в статье по ссылке выше сказано, что HR смотрит по 150 резюме в день, на самом деле, когда ищут профессионала на хорошие деньги, смотрят не так много резюме, и иногда бывает резюме в день, поэтому есть шанс, что его сразу изучат внимательно. Ну и в небольших компаниях соответственно поток тоже меньше, и внимания кандидатам достается больше.
Не стесняйтесь «подгонять» резюме под конкретную вакансию. Например, если вы работали с банковскими приложениями или финансами ранее, и откликаетесь на вакансию, смежную с этой областью, сделайте на этом акцент. Если работа связана с постоянным общением с иностранцами, докажите своим резюме, что это не будет для вас проблемой.
Непременно перечислите ваши статьи, публикации, выступления по теме ваших профессиональных знаний, я очень ценю в сотруднике жажду поделиться с сообществом своими навыками и открытиями.
Главное — уместить все на один лист. Пожалуйста, не нужно писать сочинение, лучше используйте только теги, поясняющие ваш опыт и достижения.
Если вас заинтересовала вакансия тимлида, обязательно покажите уже в первых строчках, что вы не только хороший специалист, но и всю жизнь активно работаете с людьми и легко находите с ними контакт. Даже деятельность активиста вне профессиональной области сыграет вам на руку. Для меня лично, как для закоренелого экстраверта, всегда приятно общаться с такими же людьми, но и разглядеть в тихом, необщительном кандидате настоящего профессионала я стараюсь всегда. Однако процесс прохождения собеседования мы подробнее рассмотрим уже в следующей статье цикла.
SEO резюме на порталах поиска работы
Для начала стоит сказать, что порталы поиска работы больше подходят для новичков. Когда вы станете профессионалом, заявившим о себе в работе, на конференциях и написавшем технические статьи, у вас не будет отбоя от рекрутеров, которые так и будут предлагать вам новые рабочие места в шикарные стартапы с печеньками или к крупным монстрам с бесплатными обедами и сказочными офисами. (Если вы вдруг уже суперпрофессионал, и у вас нет сотни рекрутеров в друзьях – значит вы хорошо шифруетесь, и охотники за головами просто не могут вас найти). Однако на новичков традиционно спрос ниже, и они нуждаются в небольшом SEO своих профилей.
Начнем с самого первого ресурса, который приходит в голову большинству соискателей — для 90% это будет headhunter.ru. По моему опыту, там очень сложно встретить по настоящему интересные вакансии, чаще публикуют либо «совок», либо репосты вакансии рекрутинговыми агенствами, либо что-то завалявшееся. И есть большая вероятность, что вакансия уже вообще закрыта. Конечно, так бывает не всегда, мой опыт касается лишь Android-разработки, и это все только мои наблюдения. Все вышесказанное вполне подходит и для SuperJob.ru с Job.ru. Но иногда и там можно найти жемчужину, поэтому мы не игнорируем эти площадки и старательно заполняем везде профили.
«Мой круг» (ранее BrainStorage) — это более узкоспециализированная площадка поиска работы. Я стараюсь в первую очередь искать людей здесь. Профили здесь выглядят немного лаконичнее, поиск возвращает более релевантные запросу результаты, да и интерфейс приятнее. Но самое главное — там представлены исключительно вакансии из мира ИТ.
Неважно, ищите вы вакансии только в России или за границей, есть ли у вас большой опыт или вы еще студент-новичок. С первых дней регистрируйтесь в LinkedIn. Это ваше профессиональное лицо. Заносите сюда все активности, любые выступления и публикации, все проекты участия в сторонних ИТ-мероприятиях и в первую очередь описывайте работу: свои обязанности и проекты. Желательно сразу делать это на двух языках, потом себе скажете спасибо. Сразу поищите своих коллег и старших выпускников из вуза, расширьте социальных граф, чтобы рекрутеры легко вас нашли. Раздел навыков не должен быть заплюсован вашей мамой и соседом гуманитарием – только плюсы знающих людей.
Про теги:
в моем круге и линкедине есть раздел с тегами. На первый взгляд кажется странным там видеть xml, json, REST, ORM. Но, к сожалению, они нужны, ибо рекрутеру, особенно начинающему, что REST, что LAMP — все неведомые слова. Ему написали компании, что им нужны люди, знающие о значениях этих слов, вот они их и ищут. И вас еще на первом интервью спросят, точно ли для вас это не пустой звук. Если же вы “Pro”, теги ваши никому не сдались.
Про аватарку:
Вообще я не осуждаю мнение, что чем круче программист, тем убитее у него свитер на аватарке, действительно, многие уходя в глубь профессии, забывают о внешнем виде. Но не все, поэтому, если вам приятно быть в костюме — выкладывайте фото в костюме. Только не на фоне Альп и красного купе, взятого в аренду. Но и без фоток в свитере на фоне ковра неумытым — не надо жестить. И ни в коем случае не ставьте на аватарку, дракончика, поняшку или губку-боба, лучше уж отсканируйте портрет из паспорта, честное слово.Про ссылки:
Если у вас крутой профиль на SOF — добавляйте его. Если этот профиль прокачан на ресурсе ответы.mail.ru — об этом никому лучше не знать.
Если много коммитите в опенсорс — скорее похвалитесь этим. Если много публикуете на пикабу, перестаньте немедленно!
Если пишите на Хабре и Медиуме и у вас высокая карма и много подписчиков — прикрепите это к профилю. Если пишите на лурк… решайте сами, что делать дальше, возможно, жизнь тлен, и работа это вряд ли исправит.
Github. Удивлены? Да-да «гитхабчик»-дорогой, именно он, наш маленький мирок исходников, очень важен для трудоустройства. Вам не обязательно быть активным контрибьютером в крупные фреймворки и библиотеки, можно не быть автором известной «либы» для Android. Достаточно просто выложить ваш идеальный семпловый проект, в который вы вложили все свое лучшее, что вы сейчас знаете. Даже если вы зеленый новичок, наверняка уже практикуетесь в программировании, и желание показать это миру, вам будет в плюс. А еще с github к вам могут постучаться хитрые рекрутеры, которые умеют делать git clone и смотреть почту автора коммитов, а затем на нее писать.
Виды работодателей
Резюме мы написали, тестовый проект запушили, на всех площадках поиска работы зарегистрировались, и вот теперь нужно понять, а к кому вы хотите пойти работать? Даже если вы живете не в столице, я уверен, у вас в городе как минимум пара-тройка компаний, занимающихся мобильной разработкой. А поскольку на российском рынке труда присутствует ощутимый большой спрос на кадры вроде нас, то мы вольны выбирать, куда идти. Давайте рассмотрим виды работодателей:
Крупные российские компании
Если вы новичок, и не очень много умеете, но стремитесь к знаниям как никто другой, ваш выбор — крупные компании, где процесс разработки и обучения давно отлажен, в штате много профессионалов, и вам будет максимально комфортно расти, не отвлекаясь на странности стартапов. Также крупные компании отлично подойдут для матерых тимлидов, которым нужны большие команды и проекты с миллионами пользователей. У крупных компаний все хорошо с офисом, условиями труда, процессом и оборудованием.
Из недостатков можно отметить их «пенсионеризм»: сидишь ровно, без потрясений, с ДМС, но нет драйва открытия новых миров, да и дружного уютного коллектива приятелей, собирающихся после работы в соседней кафешке, которые населяют маленькие компании. Но так на самом деле не всегда, сейчас все, даже монстры вроде «Сбербанка» твердят о горизонтальных отношениях между служащими и о гибких методологиях разработки, плюс не боятся выпускать внутрикорпоративные стартапы. Но и собеседования у них всегда жестче, там с вас спросят по полной.
Вот, что будет интересовать работодателя:
- навыки логического мышления
- математика
- сложность алгоритмов
- основы ООП
- concurrency
- SQL
- какая-нибудь подкапотная никому не нужная тонкость Java
- основы Android (View Holder, ЖЦ Activity…)
- тонкости Android (Анализ утечек памяти, работу с Doze Mode…)
Небольшие российские компании
Российские малые компании — полная противоположность. Никакой уверенности в завтрашнем дне, часто минимальная часть зарплаты выплачивается в белую, бывают задержки. Но вы словно моряк на небольшом судне, сквозь бури и преграды плывете к райскому процветанию. К тому же, ввиду того, что в маленьких компаниях далеко не всегда есть кому адекватно оценить технические знания соискателей, последние могут с большей вероятностью подороже себя продать. В итоге зеленым сотрудникам могут доставаться «взрослые» задачи.
Получить знания у отцов-старожилов в таком случае лучше не рассчитывайте — они тут либо очень заняты, либо их нет. Конечно, бывают и богатые стартапы или компании, с 27-дюймовыми iMac с Retina-дисплеями и бесплатными обедами, но их меньше, и почти наверняка они находятся в столице. Зато, работая в небольших компаниях, можно просить опционы, и иметь хорошую мотивацию, чтобы не угробить нечаянно проект, а сделать его суперпопулярным.
Здесь с вас спросят:
Тут как повезет, могут выжать из вас все, как крупные компании, а может и ничего не спросят, лишь поинтересуются, почему хотите идти к ним. Абсолютно непредсказуемо.
Фриланс-площадки
TopTal, oDesk, Rubrain и другие – если вам знакомы эти слова, то вы уже интересовались темой фриланса или аутсорса своего интеллектуального труда. Если вы уверены в своих знаниях, а также не поленитесь зарегистрировать ИП и ежегодно разбираться с финансовой отчетностью — добро пожаловать. Вероятность, что после года успешной работы в одном из таких проектов, вам предложат перейти в штат, да еще и рабочую визу оформят, довольно большая. Но, как понимаете, вся эта история для домоседов-интровертов.
С вас спросят (На примере toptal):
- вы решите задачки с Codility
- вы пройдете тест по знаниям Android
- c вами пообщаются на английском “за жизнь”
Зарубежные компании
Как и в России, зарубежные компании бывают разного размера и разной степени безумства. Но помимо знаний, помните о нюансах получения разрешения на работу и проживания. В США, например, рабочая виза выдается лишь раз в год в начале апреля ограниченному списку, и конкурс на визу бывает по три человека, а то и больше. В каждой стране свои плюсы и минусы, но если вы мечтаете о Google или Facebook, то будьте готовы.
С вас спросят:
- навыки логического мышления, нужно отлично решать задачки, вроде тех, что представлены на Codility или HackerRank.
- писать код на бумажке/доске/в голове.
- остальное, см. пункт Российские крупные.
Уровни опыта и знаний и ценники в разных регионах
Далее я перечислю общепринятую градацию, но помните, за первые три-четыре года ваше звание в компании может вырасти от стажера до тимлида, но не зазнавайтесь. Чем больше мы знаем, тем отчетливее понимаем, как много мы не знаем. Тем не менее факт остается фактом: мобильная разработка не самая сложная из наук, и познать ее в объеме достаточном для создания полноценных успешных приложений при должном старании можно за короткие интервалы времени.
Я рассмотрю линию роста, начиная со студента-стажера, хотя нередки случаи, когда в мобильную разработку приходят дяди из других программистских профессий и им сложно дать звание джуниор, даже если в Android они знают немного.
Стажер (интерн)
С этого начинается все, мы убираем пузырьки с пленки только что купленного планшета, моем кружки, тыкаем непонятные либы и пытаемся понять весь масштаб бедствия.
Интерн может не знать ничего об Android, максимум – иметь девайс на этой ОС. Но вот читать документацию на английском языке должен уметь, а лучше еще и понимать прочитанное. К тому же важно понимать принципы ООП и желательно иметь пусть небольшой, но опыт написания собирающегося и даже работающего кода на Java. Часто интерны не трогают продакшен-код, а только проходят обучение
Сколько можно зарабатывать (в месяц):
- Москва — 0 — 50 000 рублей
- Санкт-Петербург — 0 — 40 000 рублей
- Крупные регионы (Воронеж, Новосибирск, Омск, Томск, Казань, Самара, Саратов) — 0 — 30 000 рублей*
Джуниор
Если вы знаете, как сделать скролящийся список, переходы между Activity, зачем нужен Fragment, и как получить данные с сервера и сохранить их на устройстве, то вы Джуниор. За вами будут присматривать, но вы сможете делать достаточно важные задачи и работать с продакшен кодом.
Сколько можно зарабатывать:
- Москва — 50 — 100 000 рублей
- Санкт-Петербург — 40 — 90 000 рублей
- Крупные регионы (Воронеж, Новосибирск, Омск, Томск, Казань, Самара, Саратов) — 30 — 60 000 рублей*
Мидл
Я считаю, что начинающий сотрудник может за год-полтора вырасти до позиции мидл-разработчика, вряд ли это можно сделать быстрее. Этот человек уже набил достаточно шишек, ненавидит Samsung на четвертом Android, попробовал достаточное количество библиотек, научился работать в команде и знаком с современными архитектурными подходами в мобильной разработке. Если его отправить на конференцию по Android разработке — он поймет все доклады. Если у вас свой домашний проект, и вы в нем обкатали свои знания, и даже имеете тысячи активных пользователей, вы тоже мидл, даже не работая в компаниях.
Сколько можно зарабатывать:
- Москва — 100 — 160 000 рублей
- Санкт-Петербург — 80 — 150 000 рублей
- Крупные регионы (Воронеж, Новосибирск, Омск, Томск, Казань, Самара, Саратов) — 60 — 100 000 рублей*
Сеньор
Года три, а лучше пять в разработке под Android, и вам можно доверить написание проекта с нуля, возложить на вас ответственность за ход разработки, спрашивать, что можно имплементировать в жизнь из дизайнерских задумок, а что нет. Но к сожалению или к счастью, пределов совершенству нет. И тут лишь вы сами вольны выбирать дальнейшее направление карьеры — пойти изучать тему глубже, уйти на другие технологии и языки, или же вовсе стать менеджером.
Сколько можно зарабатывать:
- Москва — 150 — 250 000 рублей
- Санкт-Петербург — 150 — 200 000 рублей
- Крупные регионы (Воронеж, Новосибирск, Омск, Томск, Казань, Самара, Саратов) — 100 — 150 000 рублей*
* Примерный размер заработной платы указан gross – то есть до вычета НДФЛ.
Есть компании, в которых готовы платить больше, но это редкость. Чаще всего это международные компании, которые зарабатывают/платят сотрудникам в долларах/евро. Также выходить на высокие цифры можно на вышеперечисленных биржах (TopTal, RuBrain и т.д.)
Цифры ниже этих вилок встречаются еще реже, и это уже большая несправедливость к разработчикам – прекрасный повод поговорить с руководством или поднять контакты рекрутинговых агентств.
Важные знания и навыки
В первую очередь вас нанимают для написания новых или поддержки существующих приложений. Причем, не так часто, как нам с вами бы хотелось, заказчику важна красивая архитектура, максимальная оптимизация и поддержка самых последних API. Конечно, они все это у вас на собеседовании спросят, но поверьте мне, даже у крупных серьезных компаний внутри оказывается полнейший бардак в легаси-коде, неуспевание поддержать новейшие фишки, и даже бывает не выстроен процесс Continuous Integration.
Поэтому не обольщайтесь. Нередко бизнесу надо, чтобы вы делали максимально быстро новые фичи (не новые фичи API, а возможности приложения) и им не важны MVP, RX, DI, и другие слова. Но, конечно, если вы будете бездумно клепать новые кнопки, то когда-нибудь либо вы встрянете в задачу, которую не решить без рефакторинга, ибо обрастете костылями, либо сотрудник, пришедший в ваш проект, вас убьет.
Что же важно знать? Важно хорошо знать Java. Быстро уметь найти решение любой задачи, будь то изменение высоты тени при клике на кнопку или выбор протокола для общения чат приложения с сервером. Понимать причины основных падений и багов приложений и особенности платформ/вендоров. Желательно заботиться о безопасности разрабатываемых приложений. И не в последнюю очередь нужно спокойно принимать и быть готовым дорабатывать, а не переписывать с нуля чужой код. Мы конечно не в мире большой серверной Java, но и мобильные проекты стали большими долгостроями.
Знать или не знать RX, DI, настройку CI, уметь писать на kotlin и иметь несколько своих личных библиотек на github — решать вам. На этапе собеседования это зачтется вам как дополнительный плюс, но никогда это не будет критичным при выборе кандидата. Он может знать хоть пять разных вариантов Dependency Injection, но если он не знает, зачем нужны абстрактные классы и почему нельзя хранить контекст Activity в статичном поле и не знаком с системами контроля версий, то разговор с ним будет коротким.
Я извиняюсь за обилие профессиональных терминов и лексики, понятной только коллегам по цеху. Если вы новичок, и не поняли каких-то слов – обязательно поищите их значения в интернете, но не бойтесь, если они вам ничего не скажут. Когда придет время, вы во всем разберетесь. Еще раз напоминаю, что все вышесказанное лишь мое мнение, основанное на моих пяти с лишним годах работы в индустрии.
Во второй части мы поговорим о подготовке к собеседованию и его непосредственном процессе.
Продолжение статьи по ссылке