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

👨‍💻 Герой: Дани­ил Попов, 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, но для рабо­ты реко­мен­дую брать ноут­бу­ки на линукс — у кол­лег из Ави­то они мень­ше гре­лись и быст­рее ком­пи­ли­ро­ва­ли про­ек­ты.

👉 Напри­мер, у Вла­ди­ми­ра Олох­то­но­ва ноут­бук LENOVO и ОС Ubuntu

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

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

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

👉 Почи­тай­те про сприн­ты в про­грам­ми­ро­ва­нии.

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

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

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

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

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

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

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

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

Текст:
Алек­сандр Бабас­кин

Редак­тор:
Мак­сим Илья­хов

Кор­рек­тор:
Ира Михе­е­ва

Иллю­стра­тор:
Даня Бер­ков­ский

Вёрст­ка:
Маша Дро­но­ва

Достав­ка:
Олег Веш­кур­цев