
Как выбрать оптимальный стек и построить команду для Embedded продукта: опыт Head of Software Development Department в PocketBook
Выбор архитектуры проекта и стека разработки — это одна из самых хардовых задач IT-специалиста и менеджера. Нужно учитывать сферу применения, бюджет, возможности масштабирования и многое другое. Этому не научат на интенсиве по разработке, а ошибки стоят сотни тысяч долларов…
Именно поэтому мы запускаем в блоге новую рубрику, где будем делиться опытом Head и CTO технических отделов IT-компаний. Мы расскажем про их экспертизу, что такое стек технологий с точки зрения работы компании, поделимся советами о том, как лучше построить процессы в команде и найме, а также познакомим вас с разными продуктами. И уже готовы поделиться первым интервью!
Что за компания? PocketBook — международная компания в сфере e-book с украинскими корнями. Она входит в топ-3 производителей электронных книг и сопутствующей инфраструктуры (от онлайн-магазина до дополнительных аксесуаров). Уже проданы миллионы устройств по всему миру.
А с кем интервью? Андрей Каляка — Head of Software Development Department, который уже более 11 лет помогает создавать и развивать продукты в PocketBook. До работы в этой компании он работал в сферах телекоммуникаций, биллинга и сетевых технологий. В PocketBook прошел путь от PM до руководителя отдела разработки, принимал активное участие при принятии архитектурных решений.
Как вы выбирали текущий стек для вашего продукта?
Я принимал участие в выборе архитектуры и стеков наших проектов еще много лет назад. Конечно, за это время многое изменилось и в выборе технологий, и в самих процессах. Например, сейчас мы пришли к мировым стандартам SDLC, современным принципам разработки (используем CI инструменты). Мы близки к идеальному состоянию по процессам, насколько это возможно на реальном продукте.
Но раньше мы посвятили множество времени и обсуждений в команде, чтобы прийти к единому решению. Мы учитывали и особенности работы с нашим оборудованием (электронные книги), необходимость обеспечить кроссплатформенность и добавить конкурентных преимуществ нашим продуктам.
Текущий технический стек нашего проекта выглядит так: C++, Qt, QML. Конечно, кандидаты, которые подаются на вакансии, также должны понимать и сопутствующие технологии: базы данных, обладать опытом работы с криптографией, сетями, многопоточностью.
Что повлияло на выбор технологий на вашем проекте? Чему уделяли особое внимание?
При выборе стека систем мы ориентировались на то, чтобы оптимизировать код на мобильной платформе. В целом для нас были критичными три принципа:
- быстродействие,
- энергоэффективность (у PocketBook лучшие показатели по энергоэффективности и продолжительности работы на одном заряде батареи в сфере e-book),
- кроссплатформенность.
Как нам это удалось? Мы избегали лишних надстроек над ядром Linux в устройствах для чтения. Без лишней скромности скажу, что нашу разработку можно назвать отдельной операционной системой PocketBook на базе Linux, тогда как конкуренты чаще выбирают решения на Android.
Среди возможных минусов только то, что относительно новые электронные читалки на базе Android могут привлекать пользователей тем, что можно легко скачать стороннее ПО на устройства. Однако такие решения сильно удорожают продукты в связи с необходимостью использования более мощной аппаратной спецификации и уменьшают автономность.
Какие технологии вы планируете внедрить?
Мы постоянно занимаемся ресерчем новых рынков и ниш для применения E-Ink экранов (электронная бумага). У нас колоссальный опыт в этой сфере и мы планируем расширять спектр наших продуктов, создавая не только электронные книги.
Из того, что могу раскрыть: привлечь к линейке наших продуктов eNotes с большим размером E-Ink экранов и использованием Android OS. Также мы сейчас исследуем новые направления, в которых E-Ink экраны были бы уместными и удобными.
Какой текущий состав и структура вашей команды?
В моем департаменте 30 человек. 70–80% из них — синиорные Embedded и Application программисты, несколько Middle, которые выросли в нашей компании. Пока мы приостановили найм джуниоров, так как ориентированы на максимально быстрые решения по разработке. Также в нашей команде есть несколько ID, UI/UX дизайнеров, Hardware Developers, Technical Writers, DevOps и QA Engineers.
Как построен рекрутинг-процесс в вашу команду?
С кандидатами мы проходим по таким стандартным этапам:
- Интро-звонок (до 30 минут) — на нем я рассказываю о текущих и новых проектах, о нашем стеке технологий. Обычно это на 99% покрывает все основные вопросы разработчиков. На этом звонке я «продаю» возможность поработать над известным продуктом на долгосрочном проекте.
- Тестовое задание (до 5 часов) — помогает проверить, насколько профессионален и эффективен код кандидата по определенным критериям. Мы обращаем внимание на качество кода и использование современных подходов. Каждого кандидата мы приглашаем на следующий этап, чтобы обсудить результаты выполненного ТЗ на тех. собеседовании. Был буквально несколько кейсов, когда кандидатам отказали в дальнейшем общении по качеству кода.
- Техническое собеседование — еще ближе знакомимся с кандидатом, обсуждаем результаты тестового, проверяем знания C++ на практических примерах.
- Оффер.
На что обращаете внимание в первую очередь: soft skills VS hard skills?
Тут нет правильного ответа. Я одинаково уделяю внимание и тому, и другому. У нас высокие требования к знаниям и синиорности кандидатов, поэтому мы тщательно проходимся с каждым кандидатом по его hard skills.
По мягким навыкам я ориентируюсь на результаты скрининга рекрутеров, обращаю внимание на то, как человек общается по техническим вопросам на собеседовании, насколько он способен работать в команде. Если это кстати, то могу также спросить про то, как он проводит свободное время и какие его увлечения.
Почему IT-специалисты хотят работать с вами и остаются в компании на года?
Кандидатов привлекает то, что можно долго работать над одним продуктом, видеть результат своей работы и позитивный фидбек пользователей. Это не конвейерный подход, когда надо сдать проект и забыть о нем после релиза. Еще не раз слышал, что IT-специалистам импонирует то, что свои труды можно увидеть в магазинах в Украине и по всему миру, услышать отзывы реальных пользователей. Быть частью международной большой компании — дополнительная ценность.
В команде практически все работают подолгу, прикипают к проекту и искренне любят свой продукт. Большое внимание мы уделяем дружеской атмосфере и взаимопомощи. Если кто-то будет героически часами и днями побеждать проблему, c которой кто-то из команды уже сталкивался, — это иррационально. Моя задача как менеджера в том, чтобы люди были открыты и не боялись делиться своими достижениями и сложностями. К примеру, мы обсуждаем, с какими проблемами столкнулись и как их решали, на ежедневных статус-митингах. Уверен, открытость повышает эффективность команды.
До войны мы также часто выбирались на тимбилдинги и корпоративы, вместе проводили праздники. Сейчас такие активности, к сожалению, приостановлены. Но то, что нельзя «поставить на холд» — количество общения, помощи и взаимоподдержки, которые задают атмосферу в команде.
БЛИЦ-ВОПРОСЫ
Что в резюме/ответах специалиста для вас точно красный маркер?
Определенных красный маркеров нет. Всегда в первую очередь обращаю внимание на соответствие требованиям вакансии, опыт и сферы, в которых работал кандидат.
Какое минимальное количество резюме нужно, чтобы закрыть техническую позицию в вашей команде?
В команде мы стараемся придерживаться правила «трех резюме». Мы общаемся хотя бы с несколькими кандидатами, чтобы более объективно сравнить их между собой и принять решение. Но совсем недавно был кейс-исключение с ITExpert — первый же кандидат на позицию получил и принял оффер, это было прямое попадание.
Если бы вы не занимались разработкой, кем бы хотели стать?
Честно говоря, даже не думал. Тогда как мои одногодки мечтали стать космонавтами, меня уже в детстве привлекали технологии и создание новых вещей. Поэтому я именно там, где и хотел бы быть.
Насколько полезной была эта статья?
Click on a star to rate it!
Средняя оценка 5 / 5. Количество голосов: 12
Оценок пока нет! Будьте первым, кто оценит этот пост.




