Testing Stage’19: Technical | Security | Management and Approach — Early bird till 21 Dec. Hurry up!
×Закрыть

Как я работаю: Петр Коренев, iOS Team Lead в Sigma Software

[В рубрике «Как я работаю» мы приглашаем гостя рассказать о своей работе, организации воркспейса, полезных инструментах и лайфхаках]

Петр Коренев почти 2 года работает в Sigma Software, занимается разработкой под iOS около 6 лет. Часто выступает на конференциях, а также участвует в их организации: на его счету подготовка и проведение CocoaHeads Ukraine и UMT.

Петр рассказал DOU, как ему удается совмещать работу с подготовкой тренингов и мероприятий, почему его рабочая неделя длится 60 часов и как вопросы к самому себе помогают наладить продуктивность.

О себе

Я увлекаюсь программированием очень давно, где-то с 12 лет. Мне очень нравилось что-то создавать, начинал с графических программ в консоли. Тогда у меня еще не было компьютера: я ходил по родственникам, компьютерным клубам, уделял внимание информатике в школе. Поэтому, когда пришло время поступать вуз, вопрос о направлении не стоял. Я выбрал специальность «Компьютерные системы и сети» в ДонНТУ.

Когда мне было 20 лет, решил, что пора найти работу по специальности. Я тогда много занимался железом и FPGA, но трудоустроиться по этому направлению в Донецке было сложно. Тогда я стал рассылать резюме без привязки к стеку технологий. Одна компания заинтересовалась и пригласила на работу. Приняли на работу именно меня, потому что в отличие от большинства других кандидатов, я умел читать и говорить по-английски.

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

Впоследствии я за 6 лет поработал в 5-ти аутсорсинговых компаниях — в Донецке, затем в Днепре и Киеве. В Sigma Software пришел в августе 2016 как Senior/TeamLead iOS Developer.

Последние несколько лет я часто выступаю на конференциях (из последних — ITEM, CocoaHeads Ukraine, SE в Киеве), провожу тренинги и воркшопы. Чувствую ответственность перед сообществом, которое вырастило меня как профессионала, и хочется отдавать ему «долг». К тому же, очень мотивирует, когда после выступления ко мне подходят люди и говорят, что им очень понравилось.

В 2015 году помогал жене с организацией конференции UMT в Днепре, затем мы вместе сделали встречу CocoaHeads Ukraine в Киеве, стали координировать местное сообщество и проводить такие мероприятия регулярно. К сожалению, для нас это не прибыльное занятие: чаще, наоборот, приходится докладывать свои деньги. Но мне кажется, конференции — это важно для развития индустрии.

Рабочие обязанности

Главная моя обязанность в Sigma — обеспечивать такие процессы и результаты, чтобы наши клиенты были всем довольны :) Всегда стараюсь вникать в бизнес-задачу клиента, предлагать ему решение не на основании «вы нам деньги, мы вам часы», а на основании его бизнес-потребностей.

Около 70% всего времени непосредственно пишу код. Остальное время уходит на работу с процессами и проектами, репортинг, код-ревью, менторинг, обучение.

Как правило, в Sigma сотрудники уровня Junior и Middle задействованы в одном проекте. Люди Senior+ разделяют свою экспертизу и время между несколькими разными проектами. Я сейчас работаю параллельно на двух. Один из них — в сфере Advertisement, другой — из игровой индустрии. Также сейчас начинаю работу над проектом в области Embedded.

Кроме этого, я занимаюсь preSales-активностями: помогаю оценить потребности нового клиента, перспективы проекта.

Если говорить о моих обязанностях как соорганизатора конференций CocoaHeads Ukraine и UMT, то я — технический модератор. Работаю со спикерами, заранее просматриваю их слайды, даю советы, как можно улучшить их выступления. Занимаюсь техническим оснащением, слежу за количеством розеток, доступностью Wi-Fi на локации, организовываю видео- и аудиозаписи выступлений. На подготовку одного митапа CocoaHeads уходит порядка 150-200 часов.







Типичный рабочий день

7:00-9:00. В это время я просыпаюсь, готовлю завтрак себе, жене и коту, затем еду на работу. В дороге обязательно что-то читаю — как правило, это статьи, которые отложил для чтения за предыдущие дни.

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

12:00. После обеда приступаю к программированию. К сожалению, не всегда удается провести все митинги утром: иногда день разорван на 6-7 совещаний, и в промежутках довольно сложно продуктивно выполнять задачи по разработке. Но без митингов тоже работа не продвинется — я понимаю, что это необходимо.

20:00. Еду домой. Офис Sigma расположен на Подоле — и утром, и вечером тут страшные пробки. Обычно я стараюсь «пересидеть» это время в офисе и выезжаю, когда дороги становятся более свободными.

21:00. Вечером дома или что-то читаю, или готовлю программы своих курсов и тренингов. Это не связано непосредственно с рабочими обязанностями в Sigma, но я все равно отношу это к сфере работы — в данном случае это работа над моим личным брендом. И, к тому же, источник дополнительного дохода.

Сейчас работаю над двумя тренингами — по темам Performance testing in Swift и Mobile products security essentials. Они пройдут на базе Sigma Software University в мае и июне. Это довольно-таки большие мероприятия, которые требуют серьезной подготовки. Стараюсь выделять время для работы над ними каждый день.

Инструменты и продуктивность

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

Работаю за ноутбуком. У меня есть второй дисплей, но подключаю его очень редко.

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

Все коммуникации по рабочим проектам веду через Slack, также пользуюсь Telegram и Jira. Для разработки — Xcode. Люблю приложения, которые упрощают жизнь, — к примеру, книги и банкинг в телефоне.

Активно использую Google-календарь: планирую там все встречи и активности.

Почту и мессенджеры проверяю постоянно. Стараюсь отвечать на письма по рабочей почте ASAP — это позволяет выглядеть перед коллегами обязательным и пунктуальным. Facebook и Twitter в рабочее время стараюсь не проверять.

Я не использую какие-то особые практики по продуктивности, это происходит скорее интуитивно. Работая над проектом, постоянно задаю себе вопрос: «А не фигню ли я делаю?». Это помогает оптимизировать свои занятия.

В общей сложности я работаю около 60 часов в неделю: сюда относится и работа в Sigma, и подготовка моих тренингов, и организация конференций. Думаю, за меньшее количество часов будет очень сложно прийти к каким-то стоящим результатам.

Времени на отдых мне хватает, я не могу сказать, что работаю совсем на износ :) Перегрузить мозг позволяет телик — просмотр каких-то бессмысленных программ, типа «Голос країни». На эти 3 часа ты превращаешься в «диванного овоща» и неплохо расслабляешься. Также я раз в несколько месяцев путешествую и работаю из других стран — это тоже помогает перезарядиться.





Книжки и самообразование

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

Сейчас читаю «Пять пороков команды. Притчи о лидерстве» Патрика Ленсиони. Эта книга полна инсайтов, с которыми ты сталкиваешься каждый день, но не задумываешься о них. Например, отсутствие доверия приводит к тому, что в команде нет никаких конструктивных конфликтов — люди просто молча соглашаются друг с другом, эффективность падает, каждый замыкается в своем пузыре.

До этого читал «Продавец обуви» Фила Найта. Это история успеха компании Nike, рассказанная ее основателем, — очень вдохновляющая.

К сожалению, выделять время на чтение получается не очень часто. К примеру, первую половину «Пять пороков команды» прочитал за один вечер. После этого прошло уже 2 недели, но никак не получается вернуться к книге.

Ретроспектива и планы на будущее

Если бы мог дать совет себе в прошлом, сказал бы: «Петя, учи математику!». В университете я очень скептически относился ко всем теоретическим дисциплинам, если не понимал их прикладное значение. И сейчас ощущаю, как мне не хватает математической подготовки — на ней базируются все перспективные направления. Data Science, искусственный интеллект, дополненная и виртуальная реальность — все это требует серьезного математического бэкграунда. К сожалению, многие направления лично для меня по порогу входа, скорее всего, закрыты.

Конкретных планов на следующие годы у меня нет. К примеру, еще 5 лет назад я не мог себе представить, что сейчас я буду жить в Киеве, настолько плотно заниматься Mobile. Что будет еще через 5 лет? Думаю, мир будет другим. Поэтому строить четкие планы — это, наверное, не мое.

Я каждый год задаю себе вопрос, куда хочу расти дальше. Что мне интереснее — развиваться как технический специалист или идти в менеджмент, — я еще не решил. Знаю точно, что полностью оставлять техническую составляющую не хочу. Мне очень нравится работать с технологиями. К тому же, в этом пути нет какого-то потолка роста: постоянно появляются новые возможности и направления.

LinkedIn

23 комментария

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

Не ожидал тут увидеть знакомое лицо :)
70% времени на код — это очень даже неплохо. Меня, помниться, очень напрягало, когда пару дней подряд времени — в лучшем случае чужой код почитать. Потом привык. Сейчас опять больше пишу, тоже порякда 70% времени.
А вот 10 часов в офисе не считая дороги — это жестко. По личному опыту скажу — следи за эмоциональным состоянием. Выгорание — штука очень неприятная. И, как показывает практика, совершенно ненужная. Компании обычно нужен не top performer с вероятностью перегореть, а надежный сотрудник без проблем с психикой и внезапных депрессий, даже если он работает меньше положенного, но достаточно. А здоровье у тебя одно. Я сейчас пинками выгоняю себя из офиса в промежутке между 17:00 и 18:00, и принципиально не работаю из дому. Но от трудоголизма лечиться тоже сложно.
С математикой — тоже думал так же пару лет назад. Сейчас смирился. И без нее есть довольно много интересных областей. Но да, очень обидно, что серьезно недооценил ее в универе. А сейчас учить намного сложнее.
Про менеджмент тоже думал, где-то в тот же период. Сейчас точно понимаю, что нет и еще раз нет. Во первых — спрос на технарей на порядки выше. Менеджеру удачно уехать в другую страну — большая проблема, там своих менеджеров достаточно. А программисту — все и так знают. Во вторых — не для того я более 10 лет программированием занимался, чтоб сейчас его бросить и уйти в другую область.
А в целом — рад что у тебя все ок :)

Хах, спасибо большое)

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

О технарях и менеджерах ну оооочень ценный инсайт, но есть две больших проблемы с одним последствием — не развиваясь «в ширину» очень сложно соответствовать рынку на протяжении 10-20 лет. Первое, это необходимость поддерживать свои знания up-to-date.

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

Вторая проблема гораздо серьезнее, она дольше кристаллизуется и несравнимо сложнее адресуется инженером. Возьми для примера Swift и то, насколько сильно он опускает планку для работы с технологией. Среднестатистический инженер перестает думать о механизмах вызова / форвардинга, type safety, в конце концов об управлении памятью. Меньше кода, легче менеджить codebase. Нужно гораздо меньше статического анализа, вкрутил swiftlint и пошел дальше. Тот масштаб проблем, которые ты умел решать с Objective-C... он ушел.

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

В менеджменте все проще, краеугольные понятия установлены в середине XX века и они не меняются — важны лишь твои soft skills и адаптивность, т.е. импакт риска изменений гораздо меньше.

Написанное выше лишь набор моих субъективных бредней, без указания каких-то персональных предпочтений. Как-то так :)

О второй проблеме — twitter.com/...​status/829463498702934016. У меня такой ступор вызывали сначала ARC, потом thread sanitizer :)

Я для себя решил ее довольно просто — закопался глубже туда, где мои старые навыки нужны. Очень четко осознаю, что «среднестатестический инженер» решит среднестатистическую задачу быстрее и эффективнее меня. И лично для себя решил выйти из этой гонки, и сфокусироваться на задачах, которые я хорошо умею решать, а этот самый «среднестатестический инженер» скорее всего просто впадет в ступор. Минус очевиден — гораздо меньше подходящих проектов. Зато если уж находится подходящий проект — то он обычно мне интересен.

Но да, все так.

Щодо технологій, це проблема рівня мідла. Якщо абстрагуватися від технічних наворотів, питання по архітектурі і алгоритмах залишаються актуальними. І в цій сфері досвід грає головну роль. На другому місці я б поставив завдатки логічно мислити, і нижче вже обізнаність в технологіях.

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

Я, например, могу сказать, что всего 5 лет назад все было по-другому. Уровень ребят middle предполагал гораздо большее количество знаний и навыков для того, чтобы решать одинаковые задачи. Сейчас часть задач решила платформа, часть — коммьюнити. Нельзя отрицать, что прогресс сдвигает уровень сложности большинства продуктов в сторону хелловорлдщиков.

Разве в твоей основной технологии не произошло за 5 лет каких-то изменений и роста, понизивших порог вхождения и сложность большинства проблем?

В цьому плані цілком згідний. Я теж іОС розробник :) В принципі самі мобільні додатки доволі прості, тому прощають багато прогріхів. Для бізнесу це виглядає, як «навіщо платити більше...», все-одно результат буде однаковий в короткосроковій перспективі.

Петр, при всем уважении к тебе, я не понял о чем статья. В чем главный посыл?

А другие статьи этой рубрики читал ?

блин, не увидел что за рубрика, все вопрос снят.

Я так понимаю суть рубрики в get-to-know тех ребят, которые достигли высоких карьерных позиций в IT компаниях, об их продуктивности, о usual working day, о том как они все успевают/не успевают.

Что Ваш кот предпочитает на завтрак ? Чай с бутербродом ?

7:00-9:00. В это время я просыпаюсь.
10:00. Приезжаю на работу.

Брутально.

10:00. Приезжаю на работу
20:00. Еду домой
21:00. Вечером дома или что-то читаю, или готовлю программы своих курсов и тренингов

+ 2 години на дорогу
навіть поголити бороду чи сходити в барбершоп часу не вистачає

мабуть він поганий працівник якщо не встигає робити роботу в робочий час

Это ты по каким таким показателям решил? Из донецка плохих работников не бывает

ну так правильний працівник робить работу за 8 годин, а він за 10 :)

Он же ждет когда пробки рассосутся. Читай внимательно. Я тоже под пробки работаю например)

Он же ждет когда пробки рассосутся. Читай внимательно. Я тоже под пробки работаю например)

Эт вы, конечно, молодцы, но это же капец, как рано. В 7 утра встать. Брр...

Над заставлять себя ложиться до 12, все равно мозги не работают. Биоритмы и все дела)

Ну так ему одного кота кормить, а не десять и шиншиллу ;))))

и я так же :)

А вы крепкие. Это видно по вашим штанам. В такую рань вставать-то.

Подписаться на комментарии