Разрешите представиться! Меня зовут Иван и я перешел с разработчика в IT-управленцы, но не до конца ушел в управление, а еще и пишу код. Давайте расскажу как это было. Вдруг вы стоите перед похожим выбором, тогда сможете оценить плюсы и минусы такого решения.  Я с 9-го класса пишу код и не представляю свою жизнь без разработки (мне сейчас 28 лет). Мне нравится и процесс программирования, и конечный результат. Когда люди пользуются моим творением и оно как-то облегчает им жизнь — это круто. Я начинал с древнего Турбо Паскаля, писал эпизодически на C++, C#, Delphi, но основной мой язык программирования — Java. Я писал игры и приложения для Android, корпоративный софт на Spring Boot. Ну и куда же без пет-проектов. Я писал различные дополнения для libGDX (крутая опенсорсная Java библиотека для разработки игр), парсил Google Play, вытягивая информацию о приложениях. И также где-то два года назад я начал преподавать Java на вечерних курсах одной из IT-школ. Тогда для меня все это было подработкой. Я просто ходил вечером, рассказывал студентам как писать на Джаве, и жизнь была прекрасной. Мои студенты устраивались на работу, писали радостные отзывы о компании, о мне. Но потихоньку у меня в жизни назревали перемены. У меня заканчивался контракт на старом месте работы (это была госслужба, там так), и оставаться дальше я там не хотел. Плюс я перезжал с Киева (я живу в Украине) в более спокойный город. И мне нужно было выбирать — я дальше иду в какую-то компанию Java-разработчиком, либо же был альтернативный вариант. Сейчас будет смешно, но так и есть. То ли директор компании предложил мне, то ли я ему — давай в Виннице (город, куда я переезжал) сделаем филиал компании. Ну и я собственно буду управлять этим филиалом. Я согласился на эту затею. Мне немного задолбало писать код, захотел попробовать пойти в управленцы. И тут все завертелось.  По приезду в город я начал заниматься организацией филиала. Не было ни помещений, нифига. Все это нужно было искать, договариваться, встречаться с разными людьми. Я стал ФОПом (физическое лицо-предприниматель, аналог ИП в России). Я начал проводить консультации. Мы собирали группу людей, я рассказывал им про IT-сферу, часть этих людей приходила к нам учиться. Также я искал преподов. Мы брали минимум Middle+ разработчиков из крупного аутсорса на эту роль. Чуть позже в филиале появился менеджер по продажам, который здорово помог развитию. Появился вспомогательный персонал. Я начал вникать детально в вопросы начисления ЗП, распределения финансов. Начал вникать в рентабельность, прибыльность, прочие финансовые вопросы. Звучит все довольно страшно, и оглядываясь назад — да, это было серьезным испытанием. Но я ощущал мощную поддержку со стороны всех сотрудников компании. Если я обращался с каким-то глупым вопросом к бухгалтерам — меня обстоятельно консультировали. Рекрутеры искали кандидатов на преподов, я их только финально собеседовал их. В общем, я делал много работы, но с хорошей поддержкой все это было реально и даже интересно. Я очень прокачался за это время в софт-скилах, в переговорных навыках, просто как общаться с людьми. Начал понимать, что хотят на самом деле люди, когда они говорят те или иные вещи. Научился продавать, в общем. Понятно, что программированием в это время я не занимался. Было просто некогда. Так прошло где-то три месяца. За это время финально все более-менее утряслось, вошло в колею. Появились постоянные сотрудники, офис. Я спокойно приходил на работу, задач было много, но это уже был более-менее отлаженный процесс. И у меня появилось время на программирование. Генеральный директор компании — очень адекватный мужик. Во многом я согласился возглавлять филиал именно из-за него. И у него есть неплохое видение развития компании. Один из таких моментов — автоматизация, написание своих внутренних продуктов. И мы внутри компании начали делать кросс-функциональные группы по разработке своего софта. Первый проект, который мы запускали как пилотный, был относительно простым. Это чат-бот в Телеграме, который помогал изучать html-теги. Там было сохранение прогресса юзеров, напоминания о неизученных словах. После изучения этих тегов юзеру давали сертификат-картинку. На момент публикации в этом чат-боте больше десяти тысяч пользователей, и порядка 1000 пользователей добавляется каждую неделю. Мы проводим массовые бесплатные обучающие марафоны, где чат-бот — один из элементов. Технологии — Java, Spring Boot, Telegram Bot Library, MySql. Все это крутится на самом дешевом VPS от Aruba (1 GB RAM, 20 GB диск, и непонятно что по процессору). Прекрасно работает, за полгода не было ни единого сбоя. Вдохновленные успехом первого продукта, мы начали делать второй продукт. Я пока не могу говорить что это такое, потому что мы еще не зарелизили его. Но это тоже про обучение. Здесь уже пишу не я сам. У нас есть фронтенд-разработчики, которые пишут фронт на React.js. Я пишу бекенд на Java, тот же Spring Boot. Есть тестеры. Есть PM, который пишет беклог. В общем, более-менее серьзный процесс разработки. Каждое утро мы созваниваемся, и корректируем курс разработки. Мы протестили уже продукт на 500+ пользователей, и итеративно допиливаем нужные моменты. В этом продукте я понял важность аналитики. Изначально я собирал базовые данные (скорость прохождения отдельных задач, количество попыток). Потом очень интересно смотреть на эту аналитику, и понимать, где возникают сложности. В общем, банальность, но как есть — аналитика этот тот мастхев, без которого я бы не запускал любой продукт, рассчитанный на массовую аудиторию. И вот во время разработки этого продукта мне уже очень пригодились навыки управления, продаж, коммуникации, понимания как работает бизнес. У нас разноплановая команда, и я частично занялся функциями тимлида. Ну просто потому что всегда кто-то должен принимать финальные решения, и отговаривать делать ненужные штуки. У нас были и есть довольно ограниченные временные ресурсы. Как итог, нужно было выбирать используемые технологии, принимать решения о выбрасывании тех или иных функций. У нас в команде есть разработчики, которые чисто о программировании, и им сложно оценить последствия их решений. Например, были предложения заюзать GraphQL, хотя для нашего продукта, где десяток эндпоинтов, это был явный оверкилл, и только бы добавил сложности. Вот такие решения я блочил, поясняя что не успеем, не нужно, не стоит, не на текущем этапе развития продукта. Также я делал различные исследовательские темы. Например, мы хотели внедрить фичу специфической подсветки исходного кода, но было непонятно, можем ли мы это сделать. Я выделял полдня, читал апишку, и делал работающий прототип. Потом отдавал его фронтендеру для допиливания. В общем, мне это нравится. Я делаю крутой продукт в хорошей команде. У нас есть много интересных планов по его развитию. Мы не ограничиваемся рынком Украины, думаем про международный масштаб. Мне это заходит — я чувствую, что делаю не просто 100500 базу данных, а реально полезный и уникальный продукт. Конечно, же возникает вопрос — а как же управление филиалом? Тут все довольно просто. У нас в компании линейная и функциональная структура управления. И я, например, непосредственный линейный руководитель нашего менеджера по продажам. И в то же время у него есть функциональный руководитель — это руководитель отдела продаж. И основное общение идет как раз между ними. При таком подходе я решаю какие-то пожары, разбираюсь с возникающими проблемами. Принимаю решения, которые принять можно только на месте. И выходит, что времени довольно много. И второй момент — у меня есть мои заместители, который решают большинство операционной деятельности. Фактически, последние два месяца, на карантине, я почти не вникаю в операционную деятельность филиала. 90% моего времени сосредоточено на разработке. Сейчас моя ЗП на уровне примерно middle+ разработчика. Превышает среднюю зарплату в Украине примерно в 5-6 раз. Этого хватает на жизнь, на развлечения, и получается примерно $1000 в месяц откладывать. Я получаю ЗП за руководство филиалом, за разработку, бонусы за отдельные активности. Также у меня планируются бонусы за достижение определенных KPI по филиалу, но пока что с карантином это отодвинулось на задний план. Сейчас это меня более чем устраивает. Главная фишка — я, хоть и частично, сам себе хозяин. Если я в какой-то день чувствую, что разработка не идет — я не пишу код. Могу придти в офис позже, если нет встреч. Могу пойти домой раньше, если это нужно. Конечно, бывают и ненормированные моменты. Например, раз в неделю я стабильно провожу либо живую встречу, либо вебинар. Это происходит вечером. Таким образом, один вечер в неделю у меня занят. Бывают факапы в разработке. Например, что-то не рассылается пользователям. Тогда я могу и вечером с этим начать разбираться. Такое было только раз или два, но тем не менее. Впрочем, это неизбежные моменты при моем положении, я отношусь к этому с пониманием. Если я написал софт, который взаимодействует с тысячами пользователей, и в важный момент он заглючил — это нужно пофиксить прямо сейчас. Иначе получится, что мы сливаем кучу денег на рекламу просто так. Такое тоже было только раз или два, и такие моменты мотивируют писать надежный код, чтобы спать спокойно. Ты пишешь не на аутсорсе, где ты далек от финального результата. Твой код вот — он работает, и ты за него отвечаешь. В общем — мне нравится, чем я сейчас занимаюсь. Оглядываясь назад, понимаю, что я бы не хотел просто разрабатывать софт на аутсорсе, например. Вот такой микс разработки с элементами управления, маркетинга — лично мне он подходит. Я веду Телеграм канал Программист и бизнес. Там я пишу о своем опыте управления командой, и немного про IT в общем. Подписывайтесь, если работаете в команде, и особенно управляете или будете управлять командой — будет полезно. Пишу из личного опыта, описываю успехи и факапы. Ссылка на канал — https://t-do.ru/progbiz P.S. Если интересны какие-то отдельные аспекты, чем занимаюсь — пишите в комментариях. Если будет какая-то объемная тема — оформлю отдельным постом. Программист мобильных игр