Кроме кода. Во что будущему айтишнику инвестировать время и силы

Кроме кода. Во что будущему айтишнику инвестировать время и силы

Разнообразию в мире IT можно только позавидовать. Сюда попадают люди из самых разных сфер, начинают с разных ступеней и привносят самые безумные идеи. Но самыми важными (и трудными!) этапами по-прежнему остаются самые первые. Наш iOS-разработчик Денис Сушков расскажет, во что начинающему айтишнику стоит инвестировать время и силы, чтобы найти первую работу, не разочароваться в ней и, самое главное, продолжить свой взрывной рост. Пройдемся по шагам.

Шаг 1 – определиться с направлением

Именно эта точка является ключевой – в дальнейшем она повлияет на то, насколько вам понравится ваша будущая работа и насколько сильным у вас будет желание расти и развиваться. Многие хотят попасть в компанию с громким именем, и крутыми проектами. Но это рисковый путь мышления, поскольку есть вероятность наткнуться на неоправданные ожидания.

В 2016 году один программный инженер опубликовал свою историю устройства в Apple – Мекку мобильной разработки. Чтобы получить приглашение на эту должность, ему пришлось летать в Калифорнию из Сиднея, проходить собеседования на протяжении пяти часов (не считая телефонных интервью). А после долгого ожидания и согласования ему предложили место в команде, которая занимается одной не самой интересной фичей, да еще и с рядом жестких ограничений: запрет на создание собственных приложений, табу на любые публичные разговоры о платформе iOS, плюс отказ в использовании новых технологий, включая язык Swift. Предложение он в итоге отклонил, несмотря на потраченное время и силы. Бренд его полностью устраивал, а сам рабочий процесс разочаровал еще до старта.

Поэтому в первую очередь стоит определиться с направлением разработки, которым вы будете заниматься. Мы выделили три основных: инхаус, аутсорс и аутстаф.

Кроме кода. Во что будущему айтишнику инвестировать время и силы

Инхаус-разработка – это как иметь свой автомобиль. Вы делаете проект внутри компании для этой же самой компании. Аутсорс похож на такси: на вас «ездят» различные клиенты. Аутстаф – это каршеринг. Вашу команду кто-то арендует под проект на короткий срок, после чего вы дожидаетесь следующего арендатора (или следующей команды).

Инхаус-разработка

Инхаус-разработка – это когда внутри крупной компании существует свой собственный IT-отдел, который занимается разработкой программных продуктов только для нее. Самые яркие примеры – это большие маркетплейсы, мобильные операторы и банки.

У такого направления есть огромный плюс – стабильность. Особенно когда все процессы четко отлажены, регламентированы, и вероятность форс-мажоров практически исключена. Здесь есть постоянный поток задач и возможность планировать наперед. Вы знаете, что в ближайшие недели, месяцы или даже годы вы не заскучаете без работы.

Среди минусов – отсутствие разнообразия. Каждый день вы будете работать над одним и тем же продуктом: иногда даже не над всем, а над его маленькой частью. Следовательно, высок риск выгорания.

Также здесь меньше возможностей для горизонтального развития. Когда вы концентрируетесь на одном конкретном пункте, как тот самый разработчик кошелька Apple, ваши профессиональные навыки развиваются в узком направлении. Шаг влево, шаг вправо – и там ваши знания будут значительно проседать.

Кроме кода. Во что будущему айтишнику инвестировать время и силы

Аутсорс-разработка

Это студии, к которым приходят заказчики и просят по их идеям разработать с нуля программный продукт, например, iOS-приложение. К этому направлению относимся и мы – MobileUp.

Плюсом аутсорса являются разнообразные проекты и задачи. Каждые несколько месяцев у вас есть возможность переключаться с одного приложения на другое и использовать новые технологии.

Здесь вы вольны выбирать точки роста. Когда есть много задач и слаженная команда, можно поучаствовать в каком-то проекте или изучить какую-то технологию для ее внедрения. А значит, ваши профессиональные навыки будут существенно расти горизонтально.

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

Но главный минус – зависимость от заказчика, у которого могут внезапно возникнуть новые требования, или он может попросту передумать/обанкротиться и остановить проект.

Кроме кода. Во что будущему айтишнику инвестировать время и силы

Аутстаф-разработка

Когда крупному бренду нужно временно увеличить собственную команду или в кратчайшие сроки разработать приложение, он арендует рабочую силу на стороне. Обычно вы идете на проект уже сложившейся командой, с которой уже над многим работали, а значит, не придется каждый раз привыкать к незнакомому коллективу. И это, пожалуй, главный плюс.

Не менее значимый – крупные заказчики и большие проекты. И дело не только в финансовой составляющей, но и в личном и профессиональном росте. В резюме не помешает упоминание о работе над приложениями крупнейших игроков IT-рынка России.

Из минусов – временность работы. Даже самый классный проект рано или поздно придется оставить. Аутстаф почти никогда не бывает постоянным и тем более вечным. Вас берут на пул работ, а потом с вами прощаются и передают проект другой команде на поддержку. И, конечно, возможны периоды простоя, когда заказов нет.

Кроме кода. Во что будущему айтишнику инвестировать время и силы

Что выбрать?

Выбирая между этими направлениями, стоит руководствоваться только своими ощущениями. Так же, как и между такси / каршерингом / своим автомобилем здесь нет однозначно выигрышного варианта. Но выбрав максимально комфортный для себя, вы увеличиваете возможности роста и не даете шансов выгоранию.

Шаг 2 – набраться опыта

Широко распространена байка о том, что без опыта пробиться в IT практически невозможно. На самом деле, хоть эти случаи не так часты, но у рекрутеров бывает потребность нанять джунов, стажеров, интернов и обучить их внутри компании. Главное – не упустить момент такого найма, и среди огромного количества кандидатов оказаться тем самым, который попадется рекрутеру на глаза и зацепит его внимание. А отсутствие коммерческого опыта у начинающего айтишника можно компенсировать тремя пунктами.

Во-первых, это собственные pet-проекты и тестовые задания других компаний. Регулярно выкладывайте их на GitHub вместе с описаниями или ТЗ, чтобы пояснить, какие задачи были поставлены и какие из них выполнены. Так рекрутер сможет увидеть вашу целеустремленность и оценить, насколько внимательно вы подходите к выполнению тестовых заданий.

Во-вторых, вопреки мифу, что образование в последние годы стало ненужным, если у вас нет коммерческого опыта, для многих HR оно может прозвучать как неплохая компенсация. Да, опыта нет, но человек на протяжении нескольких лет изучал программирование, набирался навыков, а значит, поддерживает знания в актуальном состоянии и сможет быстро втянуться в коммерческую разработку.

В некоторых магистерских программах вузов существует преподавательская практика. Если у вас есть такая возможность, обязательно воспользуйтесь ей. Обучая других, вы не только приобретете полезные софт-скиллы, но и сможете добавить этот пункт в резюме. Он очень сильно цепляет внимание рекрутеров.

И третий вариант – вклад в опенсорс-проекты. Это так называемая задача под звездочкой, поскольку сделать это не всегда легко. Но если вам удалось поучаствовать в опенсорс-проекте, и хотя бы предложить изменения по существу, обязательно документируйте это, прикладывайте ссылки, размещайте в GitHub и в резюме. Максимально подробно опишите такой опыт: он, во-первых, указывает на вашу готовность поддерживать чужой код и работать над уже существующими проектами, а, во-вторых, говорит о вашей уверенности в собственных силах.

Шаг 3 – найти вакансии

Многие начинающие разработчики до сих пор считают, что HeadHunter – единственное место для поиска будущей работы. Но наиболее активный хантинг и поиск вакансий сейчас происходят в каналах и чатах Telegram. У каждого направления разработки есть свои каналы, но в случае iOS и Android самое густонаселенное место – Mobile Dev Jobs.

Профиль в социальной сети LinkedIn также существенно вам поможет. Сеть безумно активна, особенно за счет HR. Регулярно наполняйте ленту скриншотами своих продуктов или небольшими отчетами о том, какую работу вы проделали. Так, рано или поздно вашу страницу заметят и, возможно, даже первыми напишут с предложением.

Шаг 4 – составить резюме

Чтобы ваше резюме с отсутствием коммерческого опыта все-таки попалось на глаза, нужно соблюдать несколько простых правил. Подробнее об этом расскажет наш рекрутер Лера – она одна из тех, кто ежедневно работает с десятками кандидатов и точно знает, как зацепить внимание HR-менеджера.

1. Указать весь опыт работы, даже нерелевантный (сделать акцент на релевантном – описать подробнее, для нерелевантного – место работы и должность)

2. Указать все технологии и инструменты, с которыми работали (желательно в порядке, который соответствует времени работы с ними – от большего опыта к меньшему)

3. Примеры кода/работ (ссылка на на Github, ссылки на приложения в маркетах, pet-проекты)

4. Сведения подкреплять конкретными фактами/цифрами (пример: в App Store размещено 2 приложения, суммарное количество скачиваний – более 1000)

5. Наличие фото будет плюсом (фото, где хорошо видно лицо, желательно довольное)

6. Информация о себе (хобби, увлечения, интересы). Указать, почему выбрал для себя разработку, какая ближайшая карьерная цель

7. При отклике на вакансию обязательно пишите сопроводительное письмо (почему откликаетесь на эту позицию именно в эту компанию). При отсутствии опыта это самое важное, чтобы рекрутер не посчитал ваш отклик случайным и не отправил его в корзину.

Валерия Рябинина, Рекрутер MobileUp

Шаг 5 – пройти отбор

Все начинается с собеседования с рекрутером и скрининга. Здесь проверяют вашу адекватность, умение идти на контакт, софт-скиллы. Будьте готовы к десятку несложных теоретических вопросов из той области, куда вы хотите попасть. Старайтесь отвечать на них максимально четко, потому что проверять ответы HR будет по скрипту, то есть по сценарию.

Далее вам как сотруднику без опыта, скорее всего, предложат тестовое задание. Оценивать его будут опытные разработчики. Главный критерий, на который они обратят внимание – соответствие техническому заданию и макетам, если такие имеются. Поэтому внимательно читайте и просматривайте каждую деталь. Время выполнения – тоже важный фактор, определяют его чаще всего по коммитам в GitHub, поэтому следите за тем, как вы распределяете ресурсы.

Еще один критерий – код-стиль. Конечно, у большинства компаний это закрытая информация, но если вы в открытых источниках найдете основы стиля разработки на выбранном языке, воспользуйтесь ими. Поверьте, это заметят, и такой код будет явно проще понимать тем, кто будет давать ему оценку.

Самая сложная и стрессовая часть отбора – техническое собеседование. Здесь вам придется столкнуться с тимлидом или техлидом компании (а иногда сразу с обоими). Они проверят ваши базовые знания из областей фреймворков языка и предложат решить несложные задачи без подготовки. Если вы не знаете ответа, на начальном этапе к вам не будут придираться и гораздо больше оценят ваше умение рассуждать и принимать решения. Ответ, до которого вы дойдете логическим рассуждением, может оказаться гораздо важнее ответа, который вы и так знали или попросту зазубрили.

Шаг 6 (бесконечный) – расти и расти

Наконец, пройдя все эти этапы и заняв свое первое джуновское или стажерское место в IT компании, нужно задуматься о росте. Прокачивать хард-скиллы в выбранной области будут помогать ваши тиммейты, тимлид и сам процесс работы.

Hard Skills

К «жестким» навыкам, которые высоко ценятся, стоит отнести:

1. Инструменты командной работы. Те самые приложения, которые используются для коммерческой разработки: начиная с GitHub и GitLab, заканчивая досками задач в Jira и трекингом времени в Harvest.

2. Знание новых подходов и технологий. Насколько вы держите руку на пульсе, насколько осведомлены о возможностях фреймворков, с которыми работаете, насколько готовы внедрять что-то новое.

3. Качество кода. Звучит довольно субъективно, но то, насколько ваш код соответствует общему стилю, насколько его легко читать другим, насколько он понятный и насколько легко его будет поддерживать – это один из самых важных моментов, на который обязательно обратят внимание, оценят, и по нему же определят ваш уровень как специалиста.

Soft Skills

Но примерно половина вашего успеха и роста – софт-скиллы. Те самые навыки, которые определяют вас как личность, как работника, как товарища по команде. Самые ценные из них:

1. Коммуникация. В команде и между командами – насколько комфортно с вами общаться, насколько детально вы доносите свою мысль, насколько быстро вы можете решить проблему, если она не на вашей стороне, а где-то в соседнем отделе.

2. Проактивность. Это ваше умение реагировать на возникающие проблемы, не поддаваться эмоциям, принимать взвешенные решения даже в нестандартных ситуациях. Ваша готовность смотреть на шаг вперед, продумывать все заранее, возможно, делать больше, чем ожидалось.

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

Направление роста

Многие видят только два направления роста: тимлид и техлид. Первый больше сосредоточен на управлении командой, второй – на технологиях, их внедрении и изучении.

Но есть и третий вариант – обычный senior-инженер. Нет ничего плохого в том, чтобы стать классным специалистом без необходимости управлять командой или процессами. Особенно, если вспомнить о тех же вакансиях – в большинство компаний требуются не лиды, а просто крутые разработчики, инженеры с прокачанными скиллами. Поэтому, если вас не тянет в сторону должности со словом lead, это не повод ограничивать себя.

И помните: огромную роль в поиске работы в IT играет упорство. Многие разочаровываются после пары-тройки неудачных собеседований или отказов со стороны рекрутера. Но с каждой новой попыткой у вас будет расти опыт в собеседованиях, в технологиях, будут накапливаться выполненные тестовые задания. И каждый такой маленький пункт добавляет шансов, что вас не просто заметят, а скажут «да» и с удовольствием примут в вашу первую команду.

Кроме кода. Во что будущему айтишнику инвестировать время и силы

Автор: Денис Сушков, iOS-разработчик MobileUp

1919
9 комментариев

Надеялся прийти в коменты и увидеть хорошие развернутые споры на профильную тематику с грамотной и развернутой аргументацией, а мой комент оказывается первый. Ну да ладно, загляну через недельку.

7
Ответить

А что тут обсуждать? Маркетинговая статья скучная, ни о чем.

7
Ответить

Я думаю инвестировать надо в свой быт и деятельность вне работы. Чтобы жизнь смысл обретала. Касается, это мне кажется вообще любого работающего.

2
Ответить

Я думал статья о том, что надо кодерам в будущем, а тут советы от мобильщика как детям за ушедшим поездом бежать и вода вода вода. Аутсорс аутстаф инхаус… лучше идите в науку, там дыра, вокруг тиктокеры да скрипткиддисы бестолковые

1
Ответить

Информация о себе (хобби, увлечения, интересы). Указать, почему выбрал для себя разработку, какая ближайшая карьерная цельДля того что бы открыть студию разработки, очевидно же.

1
Ответить

Нормально отстрелялся! Начальные шаги 1 и 2 — сильные!!

Ответить

Можно всем собраться и придумать бизнес общий, у меня их 5, есть экологический, по восстановлению экологии, климата от климатических катастроф!

Ответить