Обложка статьи «Моя история в IT: как стать Android team-lead»

Моя история в IT: как стать Android team-lead

Моя история прихода в IT была забавной. Я училась в МИФИ, на кафедре «Компьютерные системы и технологии». У нас были курсы по ОС, Java, C++, конечно же математический анализ, комбинаторика и вычислительная математика. Было довольно много разнообразных занятий по электротехнике. Курса по Android не было – но зато была возможность на нескольких курсовых по разным направлениям выбирать технологии самостоятельно.

На летних каникулах, как раз когда я искала работу, мне написали с предложением пройти собеседование в небольшой стартап, писать соцсеть наподобие Вконтакте и Инстаграма. Я очень ответственно подошла к делу: проштудировала список библиотек, которые были указаны в вакансии, и написала небольшое приложение, в котором все их использовала. На собеседовании мне задавали в общем стандартные вопросы и сильно удивились тому, что я написала демо. Особенно запомнился тот момент, когда меня спросили, через сколько я готова приступить к работе. Ноутбук у меня был с собой, и я достала его, ответив: «Прямо сейчас!».

Тогда моими главными источниками знаний об Android  были:

  • Люди, с которыми я работала.
  • Документация Android Developers.
  • Хаб про разработку на Android на Habrahabr .
  • Рассылка AppTractor. Большинство статей, которые я затем читаю на Хабре или Медиуме, я нахожу именно здесь.

В стартапе я проработала чуть меньше года. Там я познакомилась с потрясающими людьми, с которыми поддерживаю контакт до сих пор. Один из них в какой-то момент ушел работать в Яндекс. Он рассказал мне про Школу мобильной разработки (ШМР) и предложил попробовать сделать тестовое задание. Сейчас, конечно, уже смешно вспоминать тот код, который я там написала, но на тот момент я выложилась на полную. На собеседовании тоже постаралась, хотя и сильно волновалась — к тому же у меня прерывалась связь. Но через некоторое время я получила заветное письмо об успешном прохождении – так и началась моя учеба в ШМР.

Android-сообщество очень дружелюбное, и для меня эта дружба началась именно в Школе мобильной разработки. Там было много людей, которые были рады познакомиться с начинающими мотивированными разработчиками с горящими глазами и поделиться с ними знаниями. И самое крутое, что такое же отношение я продолжаю видеть по всему сообществу – на конференциях, в других школах и даже просто в чатах. Это очень радует.

Что я поняла за это время:

  1. В разработке Android очень много частностей — поэтому важно постоянно обучаться. На Android работает множество устройств, и у всех из них разные разработчики, железо, софт и экраны. Невозможно научиться решать все проблемы, просто читая, поэтому вам очень нужны практика и ошибки. Много ошибок 🙂
  2. Нужно обзавестись терпением, потому что некоторые баги невозможно исправить сходу, нужно сесть и разобраться. Магии не существует, нужно прочитать логи, внимательно изучить код, понять, как что работает, и только тогда уже можно будет исправить то, что не работает. Главное, не отчаиваться и не сдаваться. Подсказка: прийти за помощью к коллеге или учителю – это не сдаться! Наоборот, это ускорит процесс.
  3. Если вы хотите попасть в большую компанию, то скорее всего алгоритмы придётся прокачивать самостоятельно. Мобильным разработчикам они обычно не нужны, и в мобильных школах этому обычно не учат. На них объясняют, как работает Android, как сделать красиво, плавно, оптимизировано и понятно. Но позже знания алгоритмов могут вам помочь в неожиданных местах, а ещё их часто проверяют на собеседованиях в крутые IT-компании. Для подготовки я могу посоветовать ресурсы для тренировки в решении задач – Hackerrank и LeetCode. Важно набить руку и уверенно решать задачи легкого и среднего уровней.

Что даст изучение Android на школах: разберётесь в архитектуре приложений, станете понимать, как писать так, чтобы другим разработчикам и вам в будущем было удобно. Вы узнаете, что вообще ждут от разработчика в плане знаний, и поднатаскаетесь в понимании Android. Точно поймёте, как реализовывать базовые кейсы, — но и что-то посложнее наверняка будете делать. Самое главное – у вас будет возможность общаться с теми, кто уже давно занимается разработкой. Используйте эту возможность для того, чтобы узнать как можно больше нового – в голове обязательно останется хотя бы примерное понимание того, как что-то сделать или как минимум нагуглить. Еще после Школы вместо обрывочных знаний сформируется более цельная картина и понимание среды.

Главное отличие ШМР от других онлайн-курсов в том, что помимо обучения hard skills есть еще и вторая неотъемлемая часть. Это групповая работа, в которой вы объединяетесь с дизайнером, менеджером и другими разработчиками в небольшую команду и делаете совместно придуманный проект на заданную тему. В нашем случае на проект отводилось полтора месяца – и мы, кажется, сутками сидели, программируя, и пытаясь решить, как идею превратить во что-то реально работающее, как запрограммировать и быстро, и правильно, и красиво, и реализовать всякие фичи, которые придумали вместе с дизайнером и менеджером. Конечно, совершенно не обязательно этим заниматься весь день, но сама атмосфера стартапа, ощущение того, что вокруг тебя увлеченные и креативные люди, к этому располагает и дает сил.

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

После такой продуктивной учебы мне и самой понравилось обучать. Я принимала участие во всех последующих ШМР в качестве ментора, а потом и лектора. Менторила и выступала в Android Academy. И планирую продолжать помогать тем, кто хочет учиться, и дальше.

Еще материалы для обучения:

  • Android Academy
  • Курсы Udacity: Basic, Kotlin, Advanced
  • Видео с предыдущих ШМР
  • Блог Ханнеса Дорфманна
  • Блог с подробными разборами
  • Канал Android Good Reads
  • Канал Библиотека мобильного разработчика
  • Канал Android Developers
  • Книга «The Busy Coder’s Guide to Android Development» – ежегодно переиздается, есть и в печатном, и в онлайн-формате. Это неисчерпаемый источник знаний, но лучше использовать ее как справочник, а не как учебник.