«Нормально делай и нормально будет»
easy

«Нормально делай и нормально будет»

Даниил Попов о современной андроид-разработке, пользе твиттера и уходе из Авито.

👨‍💻 Герой: Даниил Попов, 30 лет, Москва. Выпускник МГТУ им. Н. Э. Баумана

🛠 Работа: Андроид-инженер в Bolt. Работает на удалёнке, 5/2. Гибкий график, нет чёткого времени начала и окончания рабочего дня

🧭 Рынок: Андроид-разработчик в России: 119 вакансий

Почему ты часто критикуешь андроид-разработку?

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

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

👉 Доклад Даниила Попова о поиске ошибки в многопроцессном приложении:

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

Даниил Попов о современной андроид-разработке: розетка, прибор и провод — всё работает, но сделано как попало. Как в андроид-разработке
Розетка, прибор и провод — всё работает, но сделано как попало. Как в андроид-разработке

Ты поэтому ушёл из продуктовой разработки в платформенную? 

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

Я заинтересовался мобильной разработкой в 2011 году. Это случилось после покупки HTC Incredible S — моего первого смартфона на андроиде, в который можно устанавливать приложения. Мне понравилась идея, что карманный гаджет может поддерживать полезные программы и их можно разрабатывать. 

Сначала я занялся самообразованием и в свободное время изучил джаву и андроид. Примерно через год я нашёл работу в каком-то местном стартапе и познакомился с фреймворком xamarin — платформой, которая позволяет создавать мобильные приложения под iOS и Android на языке C#. 

👉 Подробно о языках Java и C# мы писали в отдельных статьях.

Даниил Попов о современной андроид-разработке: HTC Incredible S с Android 2.2
HTC Incredible S с Android 2.2 — модель гаджета, которая привела Даниила Попова в мобильную разработку. Сейчас это раритет, который сложно найти даже на Яндекс.Маркете

После стартапа я устроился в Mail.ru Group и с 2013 года делаю приложения под андроид. К 2016 году я вырос до сеньора, а к 2017-му — до тимлида. Став тимлидом, я переключился на менеджерскую работу и на полтора года отошёл от рутинной разработки — в это время я проводил собеседования, общался с заказчиками, организовывал командную работу и писал код чужими руками. 

👉 Если ещё не слышали о сеньорах и тимлидах — обязательно почитайте. 

Как тимлид я выступал на конференциях и рассказывал о работе команды. Доклад из ролика — это пример того, как мы решали проблему с работой нескольких тем в мобильном приложении:

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

А почему именно Авито и как туда попал?

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

Я отправил резюме, получил обратную связь и прошёл несколько интервью. 

Процесс интервью в Авито

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

Дальше меня пригласили в офис на платформенный этап интервью — спрашивали о том, насколько глубоко я знаю андроид. 

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

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

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

После общения с руководителем меня познакомили с потенциальной командой. Мы поговорили про музыку, фильмы и другие общие темы. 

После всех этапов я попал в Авито и около 8 месяцев занимался разработкой андроид-приложений: верстал кнопочки, экранчики и другую рутину. После я перешёл в платформенную команду Speed и занялся инженерной работой. 

👉 В апреле 2020 года команда Speed открыла андроид-инфраструктуру Авито. Вы можете воспользоваться кодом и почитать об этом на Хабре

Выше я рассказал о том, почему решил стать андроид-инженером и как попал в Авито. Хочу отметить, что это только моё мнение и я не имею ничего против тех людей, которые десятилетиями занимаются одним и тем же. Если они получают удовольствие от однотипной работы — могу им только позавидовать. 

Какими инструментами пользуешься? 

Я использую Android Studio — это среда разработки от Гугл, которая находится в свободном доступе и совместима с любыми операционными системами. У меня MacBook Pro, но для работы рекомендую брать ноутбуки на линукс — у коллег из Авито они меньше грелись и быстрее компилировали проекты.

Рабочий график

Я уже много лет не соблюдаю режим и работаю так, как удобно. Мне сложно представить, что кто-то из программистов может по 8 часов в день сохранять концентрацию и выдавать качественный код — обычно после 2–3 часов интенсивной работы все начинают заниматься отвлечёнными делами. 

Есть задачи спринта и дедлайн. Я оцениваю свои силы, планирую нагрузку и каждый день делаю то, чтобы нужно, чтобы успеть в срок. У меня нет специальной системы, которую можно кому-то рекомендовать: нужно днём заняться своими делами — пойду займусь, а вечером завершу запланированное.

Программист должен работать в комфортных условиях и направлять всё внимание на качество кода
Дача, яблоня, свежий воздух и новый проект. Я считаю, что программист должен работать в комфортных условиях и направлять всё внимание на качество кода. Если этого не будет, то формальные вещи вроде дресс-кода или графика с 9:00 до 18:00 не дадут результата
Даниил Попов о современной андроид-разработке: иногда нужно забыть про комфорт и переключиться на турборежим
Иногда нужно забыть про комфорт и переключиться на турборежим. Такое бывает, и хорошего программиста этим не напугать — он готов на всё, чтобы успеть в срок

Поделись планами на будущее

Сейчас сентябрь 2020 года, и я уже пару недель не работаю в Авито — я ушёл по собственному желанию, переехал в Эстонию и занимаюсь андроид-разработкой в компании Bolt. Про новую компанию пока ничего не скажу, но если читателям интересно — можем пообщаться через полгода: к этому времени я освоюсь, перевезу семью и смогу что-то рассказать. Первое впечатление — всё супер. 

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

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

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

Универсальный и банальный совет: нормально делай и нормально будет. Если человек занимается своим делом и получает от этого удовольствие — у него обязательно всё получится. По крайней мере у меня нет знакомых программистов, на которых бы не распространялось это правило. 

Если говорить о чём-то более прикладном — рекомендую твиттер. Например, после анонса Android Studio 4.1 я запустил тред — создал в твиттере ветку с короткими заметками по теме. На публикации откликнулись другие разработчики, которые своими комментариями дополняли мои наблюдения и помогли разобраться с нюансами. По такой же схеме начинающий разработчик может изучить любую тему — в твиттере не нужно много писать и можно легко найти единомышленников.

Текст

Александр Бабаскин



Корректор

Ира Михеева


Иллюстратор

Даня Берковский


Вёрстка

Маша Дронова


Доставка

Олег Вешкурцев

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Вам может быть интересно
easy