Гость нового выпуска подкаста «Сушите вёсла» — Android-разработчик, технический директор, автор Telegram-канала «Android в лицах» и создатель стартапа PapaJobs Саша Смирнов. В этот раз обсуждаем сразу несколько тем: чем полезны стартапы специалисту, кто такой CTO, а также ищем разницу между Developer и Software Engineer.
В своем CV на должность техдира (CTO/Team Leader/Software Engineer в отдел iOS&Android разработки) одним из пунктов своих способностей я указывал:
— На всех этапах разработки замещать любого из членов своей команды и мотивировать ее своим примером;
Считаю это главным качеством для СТО. Даже если вся команда «развалится», правильный СТО должен быть способен самостоятельно продолжить работу над проектом на выбранном им стеке технологий. Клиентская, серверная, промежуточная части - СТО должен быть 100% Full Stack Developer.
Замечал, что многие начинающие фаундеры этого просто не понимают.
Часто вижу вакансии, в которых фаундеры пытаются самостоятельно (без СТО): выбрать стек технологий для своего стартапа, найти бэкендщика, фронтендщика, дизайнера и т.д. – т.е. самостоятельно «собрать» команду на проект. Потом удивляются, почему ничего не получается…
Собирать команду, выбирать стек технологий, устанавливать сроки, соблюдать сроки, самостоятельно писать качественный, чистый, читаемый код, рефакторить его, взаимодействовать с менеджерами, дизайнерами, девелоперами, тестировщиками – это все должен уметь делать СТО + решать какую часть работы можно делегировать команде.
Даже если вся команда «развалится» - как блять может команда разваливаться, если это не команда из пацанчиков, которая по выходным решила запилить приложуху дабы покорить мир или какая нить говноконтора, разрабатывающее сайт? Че вы тут все несёте то хуйню какую то, а?
Вы путаете обязанности CTO и Team Lead. CTO - это менеджерская должность, ну кроме микростартапов.
Насколько мелкой должна быть компания, чтобы CTO в ней мог заменить любую другую позицию? Три с половиной человека? CTO — это уже давно не про разработку — это лидер лидеров. Никакому CTO в более или менее крупной компании не стоит лезть в какой-нибудь UI/UX, а оттуда прыгать в DevOps просто потому, что кто-то из членов команды заболел. У хорошего CTO вообще не должно существовать в команде bus factor'а, при котором в случае болезни одного из сотрудников случается остановка проекта. Решаются такие вопросы не нырянием CTO в отладку приложений. Когда вы из lead/head/architect позиции переходите в C-level, то стоит забыть уже о том, чтобы быть самым главным экспертом по технологиям, потому что заниматься вы будете не тем, чем привыкли заниматься, будучи технарём. На вас будут и бюджеты, и общение с бизнесом, и регулярные встречи с руководителями других отделов, и работа с другими лидами/хедами. В таких условиях вам будет банально не до чтения технических ресурсов, а опыт разработки будет постепенно утрачиваться. Именно поэтому многие не решаются идти в руководители, предпочитая продолжать оттачивать экспертизу на позиции архитектора.