Реорганизация софтверной компании: как изменить ее технологический профиль и выбрать специализацию на ИТ-рынке?

Опубликовано: 2023-03-06

Каждая софтверная компания имеет свой технологический профиль. Часто бывает так, что для технических специалистов это важнее, чем профиль домена компании. Это связано с тем, что ИТ-разработчики скорее видят себя через призму технологии, в которой они работают, например, я программист систем, построенных на C#. Однако то, делают ли они проект для компании, занимающейся обучением или производством коробок, имеет второстепенное значение. Конечно, знание предметной области всегда полезно программистам, но они не меняют их восприятия себя через технологическое измерение, — говорит Роберт Марек, соучредитель и технический директор FINGO.

FINGO — польская компания по разработке программного обеспечения, предоставляющая услуги программирования уже более 20 лет. В 2022 году организация успешно сменила технологический профиль. В дополнение к предлагаемым услугам программирования на технологиях Java и .NET, он добавил Node.js и завершил все проекты, созданные до сих пор на PHP.

Почему был сделан этот ход? Как выглядит процесс самоорганизующихся изменений? И каков был результат? Узнайте об этом, прочитав наше интервью с Робертом Мареком.

Прежде чем мы начнем рассказывать о самом процессе смены технологического профиля, не могли бы вы рассказать, как выглядела компания до ее реорганизации?

Если вы следите за 20-летним портфолио FINGO, вы найдете проекты для финансов, недвижимости, автомобилестроения, электронной коммерции и многих других секторов, которые более или менее связаны друг с другом. Немного совпадение – за эти годы такие проекты появились, и мы развиваем нашу команду. Но на такое положение дел во многом повлиял наш технологический профиль (Java, .NET, PHP), под которым мы искали дальнейшие заказы.

Однако я чувствовал, что это не очень хорошо для нашего бизнеса. Большой технологический разброс, как правило, не годится для компании-разработчика программного обеспечения размером с FINGO. Может быть проще найти проект, но сложнее обеспечить взаимозаменяемость людей. Я приведу вам пример. Предположим, вам нужно 5 разработчиков для вашего проекта. На скамейке сидят 6 человек, но только 2 знают технологию, требуемую в проекте. Такое положение дел означает, что без работы остаются еще 4 высокооплачиваемых специалиста, которых нужно обеспечить работой. Кроме того, вам нужно познакомить 3 человек с необходимой технологией, чтобы проект был укомплектован персоналом.

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

Так что же побудило вас изменить технологический профиль FINGO?

В начале пандемии рынок замер. Компании, не зная, что будет дальше, воздерживались от продолжения текущих проектов или запуска новых. Это было время, когда даже программисты боялись потерять работу. Мы думали, что делать. Мы не хотели увольнять людей, но, с другой стороны, нам нужно было что-то, что выделяло бы нас из толпы.

Примерно в мае 2020 года мы как владельцы компании обнаружили, что без принятия смелых решений ситуация может ухудшиться. Больше всего проектов, а значит, и опыта у нас было в финансовой сфере. Кроме того, у нас была продуктовая часть, которая предлагала программное обеспечение, позволяющее внедрить обязательную отчетность в банковской сфере. Финансовый сектор был для нас естественным выбором.

В то время мне казалось, что FinTech и финансовый сектор вряд ли будут использовать PHP в своих проектах. Так что я предполагал, что сосредоточившись на этом секторе, мы уйдем от PHP и останемся только с Java и .NET. С этой информацией мы вышли к команде на общее собрание компании.

Значит, именно вспышка пандемии заставила вас принять решение о смене технологического профиля FINGO?

Да и нет. После обмена информацией о специализации мы сформировали рабочую команду, состоящую из нескольких опытных программистов с деловым чутьем. Его задачей было проверить, какие тенденции, технологии и популярные решения в отдельных странах, когда речь идет о финансовом секторе. Их анализ подтвердил мои прежние предположения, что PHP редкость в финансовых проектах. При этом рекомендовали развивать компетенции в Node.js, что ценится даже в мире стартапов.

В нашей компании мы лелеем концепцию бирюзового управления, где, помимо прочего, мы открыто консультируем значимые для организации проекты со всей командой. Благодаря этому люди ощущают влияние на развитие компании, но и чувствуют со-ответственность за принимаемые решения.

Поэтому инициативу перехода на Node.js, которая исходила снизу вверх, еще предстояло одобрить остальной команде FINGO. Однако вскоре выяснилось, что есть сильное желание развиваться в этом направлении. Возможно, это было особое время, когда мы все боялись будущего в разных измерениях (экономических аспектах, здравоохранении и т. д.). Как это ни парадоксально, это увеличило принятие решения принять вызов.

Сколько людей должны были приобрести новые технологические компетенции?

Всего в смене участвовало 15 человек. Им нужно было решить, хотят ли они развиваться в качестве разработчиков интерфейса или оставаться разработчиками бэкэнда и создавать решения на Java, .NET или Node.js.

Один из этих людей был full-stack разработчиком, который уже объявил себя фронтенд-разработчиком, так что в его случае решение далось легко. Следовательно, 2 человека выбрали Java, а остальные 10 — Node.js.

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

Были и вылеты, но это были индивидуальные решения. Один человек уволился из FINGO довольно быстро, но это было связано с тем, что он занимался развитием PHP-сообщества во Вроцлаве. Вполне естественно, что наши ожидания от сотрудничества стали расходиться. В ходе продолжающегося процесса по разным причинам компанию покинули еще 2 человека.

Принятие решения — это только начало пути.Компания как-то помогала программистам приобретать новые компетенции?

Создан стратегический проект для поддержки разработчиков в подготовке к максимально быстрому оказанию услуг в коммерческих проектах. В начале мы попросили их субъективно определить, сколько времени им потребуется для приобретения необходимых знаний, чтобы они могли уверенно выполнять работу для внешних клиентов, предполагая 2 сценария. Первый из них был при поддержке более опытного коллеги, второй – без такой поддержки. В ответ мы получили различные оценки.

Одни заявляли, что при поддержке опытного разработчика Node.js смогут присоединиться к коммерческому проекту даже через месяц, а другие — через несколько месяцев. Все зависело от того, какой предыдущий (личный или профессиональный) опыт у вас был и сколько в вас было мужества. Также стоит отметить, что у нас в FINGO тоже был опыт работы с этой средой. Итак, у нас была база.

Однако мы не навязывали им способ приобретения знаний. Все эти люди — опытные программисты, которые хотят постоянно учиться. У них есть свои предпочтительные стили обучения. Вообще постоянное получение знаний так или иначе вписано в индустрию новых технологий. Поэтому мы решили, что самым разумным решением будет просто предоставить им ресурсы и время для обучения.

Мы также реорганизовали компанию. Были созданы самоорганизующиеся гильдии, где люди, работающие в данной технологии, но не обязательно над одними и теми же проектами, обмениваются полученными знаниями. В рамках гильдии Node также был создан внутренний проект, где можно было проверить полученные знания. Для волонтеров были организованы выездные курсы.

Однако больше всего давала возможность быстро присоединяться к проектам. Лучшим примером этого был один из заказов, над которым мы работали, где нам нужны были все возможные руки. После получения согласия клиента к проекту присоединился опытный PHP-разработчик, также работающий на JavaScript, не имевший опыта работы с самим Node.js. Однако в проекте уже были опытные программисты, которые смогли поддержать коллегу и обеспечить качество кода.

Давайте поговорим немного больше о ваших клиентах.Как они отреагировали на ваше решение отказаться от PHP?

Самое большое внутреннее сопротивление и печаль у нас были с проектом, созданным для клиента с 10-летней историей. Это довольно забавно, потому что один из наших программистов работал над этим с самого начала. Естественно, он знал о системе больше, чем многие менеджеры этой компании. Нам было трудно объяснить им свое решение. Несмотря на то, что у нас было уведомление за месяц, мы хотели хорошо позаботиться об этом клиенте. Мы согласились быть доступными для них еще шесть месяцев. Интересно, что через 3 месяца клиент прекратил сотрудничество сам, в связи с внутренней реорганизацией компании. Это также показало, что вы не должны задерживаться на вещах слишком долго. Их надо делать и все.

С другими проектами было проще. Как и другие события, это произошло вполне естественно. Например, у нас был клиент, разрабатывавший часть системы на Node.js. Мы договорились, что наши программисты, которые ранее поддерживали проект в технологии PHP, первые несколько месяцев будут предоставлять свои услуги по более низким расценкам. В некотором смысле это была компенсация за предполагаемую более низкую эффективность команды, которая недавно сменила технологии.

Как вы думаете, как разработчики теперь относятся к этому изменению?

Я думаю, они счастливы. Люди в этой отрасли любят учиться. В то время у них было время и деньги на учебу. Они учились на дневном отделении, получали полную зарплату и могли пользоваться учебными грантами. Это, безусловно, положительно сказалось на их чувствах.

Node.js лучше, чем PHP? Это конечно спорно. Безусловно, эта технология сейчас популярна, поэтому мы вступили в период восходящего тренда.

Некоторые люди поначалу сожалели о выходе из долгосрочного PHP-проекта. Но спустя короткое время они признали, что вырвались из некоего застоя. И они почувствовали волнующий ветер новых вызовов. В целом, я думаю, все прошло хорошо.

Как долго длилась смена?

Весь процесс затянулся со временем. Проверка рынка заняла довольно много времени. Работа над реорганизацией компании и расставанием с клиентами также заняла много времени. Всего с момента создания задачи в Jira и ее закрытия прошло почти 2 года.

Однако стоит отметить, что самый длинный промежуток времени между переходом разработчика с PHP-проекта на Node.js составил всего 3 месяца. Это было связано с его заявлением о времени, которое, по его мнению, ему нужно, чтобы присоединиться к проекту с более опытными коллегами.

Какой аспект был самым сложным?

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

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

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

Если бы к вам пришел технический директор другой компании и сказал, что тоже думает об изменении технологического профиля компании, какие 3 совета вы бы ему дали?

Иметь видение. Знайте, почему вы хотите это сделать, и объясните своей команде, куда вы идете и почему.

Сотрудничайте со своей командой. Разговаривайте с людьми, адаптируйте свои действия к тому, что вы слышите, и принимайте во внимание их возможности. Делайте все с людьми.

Делайте все последовательно, несмотря на моменты колебаний.