Обложка статьи «От «яблочного» хейтера до iOS-Teamlead: как постоянное обучение привело к карьерному росту»

От «яблочного» хейтера до iOS-Teamlead: как постоянное обучение привело к карьерному росту

Алексей Рочев, iOS-разработчик и тимлид в «Сбере», преподаватель на курсе «iOS-разработчик» в Нетологии, рассказал о своём карьерном пути от специалиста по автоматизации до востребованного iOS-разработчика, а также о том, с какими трудностями он столкнулся и какие уроки из этого вынес.

Алексей Рочев

Алексей Рочев, iOS-разработчик и тимлид в «Сбере»

Техникум и университет

В техникуме и университете я занимался программированием и пробовал писать на Java для первых телефонов Sony Ericsson. Но Java, С++ и Паскаль мне не заходили, поэтому я решил попробовать Objective-C. Тогда по нему была документация только на английском, а в школе я учил французский, поэтому мне было очень трудно ее читать. В начале я был одним из «яблочных» хейтеров, а потом купил и начал пользоваться iPod Touch 4 и понял, что за техникой Apple будущее. Пробовал программировать без macOS на GCC, а потом установил Hackintosh. Но в итоге убедился, что macOS очень хороша (пробовал Windows, Linux и Ubuntu) и взял первый MacBook Pro.

В начале 2000-х годов разработчики в основном учились на математических факультетах Пермского научно-исследовательского технологического института (бывший ПГТУ). В моем городе был факультет «Электротехнический» со специальностью «Автоматизированные системы обработки информации и управления», куда я и пошел. Учился я с 2003 по 2018 годы (да-да, 15 лет), а диплом защитил только недавно: переводился с одного факультета на другой, отчислялся и восстанавливался.

Первая работа

Долгое время я работал вахтовым методом на автоматизации у газовиков в Перми. Затем переехал в Ижевск, где работал на автоматизации у нефтяников и постепенно понял, что для выхода на новый уровень мне нужно будет писать системы, а я не хотел развиваться в этой сфере. Мне хотелось работать с крутым языком и технологиями, которые будут приносить большую значимость. Концентрацию этого я и нашел в iOS-разработке. До нее я рассматривал для себя Java, Delphi, C и C++, но ни к чему из этого у меня не лежала душа. Если говорить об Android, то тогда они были на Java, которую я не любил. Да и работа с кучей разных телефонов меня не вдохновляла.

Как я пришел в iOS-разработку

В начале 2000-х разработчиков на iOS было не так много, но я чувствовал, что вакансий со временем станет больше. Сначала учиться было сложно — литературы или статей по теме было мало даже на Habr. Опыт в разработке у меня имелся, поэтому я знал, что нужно делать, и как выучить язык. Я пытался разобраться в самом механизме Objective C, как он работает, и почему именно так. Примерно через полгода все базовые вещи я уже знал. Параллельно я работал вахтовым методом и на три недели вахты брал себе книгу на изучение. Но книг, как я и говорил, было мало: вышла iOS 6, а в магазинах появлялись книги про iOS 4. Мы также кооперировались с другими разработчиками, создали чат в Skype с ребятами из России, Украины и Белоруссии, где задавали друг другу вопросы и пытались вместе найти ответы и решения.

Когда я переехал в Ижевск, увидел что московский стартап ищет там Android и iOS-разработчиков. Ребята делали мобильные приложения и предлагали очень высокие на тот момент зарплаты в 60 тысяч рублей. Многие ижевские специалисты не верили, что такие деньги можно получать. Я был первым iOS-разработчиком, который пришел к ним на собеседование. Мне дали тестовое задание на неделю и по итогам взяли на работу Junior-специалистом с зарплатой 40 тыс. рублей. На тот момент для нашего региона это были очень большие деньги. И приходить в новую сферу было не страшно — я очень хотел получить этот опыт и понимал, что всегда смогу вернуться в АСУ.

Какое-то время я был единственным разработчиком на iOS в компании. Поскольку команда Android уже была сформирована, я приходил к ним советоваться, например:

— Как вы делали вот эту вот штуку?
— Поднимали socket-соединение.

Так я понимал, что нужно socket-соединение, и шел разбираться, что это. Действовал на ощупь, путем проб и ошибок. Первые полгода в компании были жесткими: мне приходилось постоянно гуглить и читать форумы. Мои пробелы в знаниях быстро давали о себе знать в реальных задачах, а код приходилось часто переписывать. В этом стартапе я проработал 2 года, стал лидом команды из четырех человек, вместе мы выпустили несколько приложений.

Карьера

В какой-то момент я понял, что мы пишем код, а выхлопа не видно, монетизации не происходит. И я решил попробовать пройти собеседование в ижевский EPAM Systems. Там мне задавали такие вопросы, о которых раньше я даже не думал. Но я прошел, получив уровень middle-разработчика. Я понимал, что лидом в стартапе я стал во многом потому, что был первым iOS-разработчиком в компании, но мне еще многому нужно было учиться. В EPAM были совершенно другие процессы и оказалось, что многое до этого я делал вообще неправильно.

Через пару лет проекты с iOS-разработкой почему-то стали оставаться в других городах присутствия компании — в Минске, Москве или Санкт-Петербурге и не доходили до маленьких городов. Эта ситуация меня не устраивала, я уволился и начал поиск работы сначала в Ижевске, а потом решил попробоваться в Москву: в течение пяти дней проходил по 3-4 собеседования в день. Одни мне сразу давали оффер, другие говорили, что я не дотягиваю.

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

  1. В компании было условие: чтобы в ней работать, нужно было либо учиться в университете, либо иметь высшее образование. Если бы я оставил учебу, меня бы уволили,
  2. Меня отпускали на сессии со 100% оплатой учебного отпуска, это помогало проводить больше времени с семьей.

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

Разработка на iOS — хорошая возможность сделать быструю карьеру, но при условии, что вы готовы постоянно учиться. Сейчас я работаю тимлидом на проекте в «Сбере» и еще раз убеждаюсь в этом. Например, сейчас мне пришел заказ от руководства, что мне нужно менеджерить еще и Android. Поэтому я пытаюсь опять изучать Java для Android, но уже в «Нетологии».

Советы начинающим iOS-разработчикам

  1. Если вы только стоите перед выбором профессии, не ставьте в приоритет материальную составляющую. Вам в первую очередь должно нравиться программирование, иначе будет тяжело постоянно держать себя в тонусе, развивать технические навыки и изучать новое. В мобильной разработке постоянно происходит обновление инструментов: новые SDK, технологии проектирования интерфейсов и языки. Например, пять лет назад разработка под iOS велась на Objective-C, а сейчас на Swift. Разработчику нужно постоянно развивать технический скилл. Если с самого начала не интересно, за пару лет можно выгореть.
  2. Ходите чаще на собеседования, они сильно помогают в профессиональном развитии: вы столкнетесь с вопросами, на которые раньше не знали ответ и поймете, что действительно важно для компаний. А после собеседований изучайте каждый из таких вопросов. Так вы быстрее прокачаете свои навыки.
  3. Не стоит брать одну компанию мечты и пытаться попасть только в нее. Пробуйте работать в разных. Иногда бывает так, что идешь в малоизвестную компанию на собеседование, а в ней работают очень классные и профессиональные люди.
  4. iOS-разработка становится все более масштабной. Если раньше многое могло уместиться в одной голове, то сейчас технологий так много, что каждый может развиваться в интересном ему направлении. Поэтому если у вас есть понимание, как работает та или иная технология, лучше позиционировать себя не просто как iOS-разработчика, а как специалиста, который еще и, например, занимается машинным обучением, разбирается в обработке видео и т.п.
  5. Набивайте руку: если вы год или два просто изучаете язык программирования, это не интересно работодателям. Вы будете наиболее ценным начинающим специалистом, если уже попробуете к моменту поиска работы писать код для какого-либо проекта. Даже если у вас нет работы, ищите подработку и любые возможности применить знания на практике.
  6. Если вы понимаете, что вам интересна какая-либо технология, но в вашей компании ее нет, смело меняйте компанию. Проектов под iOS-разработку сейчас огромное количество, и если ваша компания не работает, например, с машинным обучением, а оно вам очень интересно, вы обязательно найдете ту, которая развивается в этой сфере. В iOS-разработке вы всегда сможете выбрать проект, который будет вам по душе и поможет освоить новые навыки.