Почему я не жду субботы, или Мой опыт создания комфортной рабочей среды

Всем привет! Меня зовут Никита, я Senior Software Engineer в SimCorp. У меня за плечами 6 лет работы в небольшом количестве компаний, таких как SimCorp, собственный стартап (около 10 человек), Cellebrite. Начинал свою карьеру в компании SimCorp с позиции student helper в команде, которая отвечает за разработку и саппорт внутреннего фреймворка, там же я и работаю и сейчас.

Сегодня я хотел бы поделиться интересными вещами, которые происходят у нас. Цель данной статьи — рассказать о трансформации команды инженеров, в которой все члены команды становятся ключевыми игроками на поле боя. Статья может быть интересной для тех, кому важно не только девелопить, но и проводить время в комфортной среде с людьми, в том числе и в нерабочей обстановке. И также для тех, кто готов попробовать «починить» свою команду, если в ней что-то не работает.

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

Сделаю небольшое отступление, так как есть нечто отличающееся в компании от других компаний, которые мне доводилось узнать. У нас очень уникальный стек задач, кто-то скажет, что фреймворки — это плохо, но наша компания вкладывает в это деньги на протяжении уже 20-30 лет. Ничего не стоит на месте, и сейчас мы заняты переводом всего продукта на новую архитектуру. Мы не имеем прямых заказчиков, для нас ими выступают другие подразделения в компании. Наши задачи описаны чисто технической терминологией, убрана вся вода, иногда задачи могут описывать несколькими словами, которые понятны только нам. Так что у нас работают очень технические люди, которые порой не умеют правильно говорить. Иногда мне кажется, что они даже лишены человеческих эмоций :) Далее вы поймете, зачем я это все описываю.

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

Монологи

Одна из главных проблем, которую мы имели и преодолели — неумение слушать друг друга. Иногда инженерам намного проще писать, а не разговаривать. Мы часто перебивали друг друга на митингах, процесс очень напоминал Верховную Раду, мы только не дрались :) И так как важные решения принимала небольшая групка людей, которые давно работали в компании и хорошо знали систему, намного проще было переговорить с кем-то из них две минуты, чем вводить других в курс дела. Никто не тянул на себя клеёнку, это просто была специфика в команде.

Карантин выступил основным триггером для изменений. Мы все начали работать удаленно, возросло количество митингов, и было невозможно продолжать работать в таком стиле. На тот момент у меня были проблемы с сетапом, приходилось вести разговоры с виртуалки, что делало делей в 3-4 секунды. Я банально не успевал ничего прокомментировать, высказать свое мнение. Также на нас сильно повлияло, что в определенный момент ушли ключевые люди, и пришлось включать новых людей в фокус группы.

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

Интересный факт, что discovery insight воркшоп, в котором приняла участие вся наша тима и который был организован по нашему запросу, послужил триггером и сделал конфликт в тиме явным для всех ее членов. Хотя целью воркшопа было построить команды через понимание друг друга, а также узнать предпочтения друг друга в коммуникациях, что поможет нам стать более продуктивной командой.

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

С чего начали мы: у нас основной мессенджер — Microsoft Teams. Там есть функция поднятия руки, мы просто начали поднимать её каждый раз, когда кто-то хотел сказать. Я уверен, что в других мессенджерах есть похожий функционал. По началу это не сильно работает, но если кто-то один будет придерживаться этому правилу, все начнут обращать на него внимание. Люди выработают привычку не вести монологи и почувствуют, что нормально делать паузы. Это очень помогло мне активно участвовать в митингах, а также помогло нашим мидлам участвовать в митингах.

Менторство

Два года назад я вернулся в SimCorp на позицию senior-девелопера, на тот момент у нас было два middle-девелопера и два lead-девелопера. Речь далее пойдет о развитии мидлов. Я почти сразу понял, что мне выпала участь быть ментором для ребят. Вначале я пытался акклиматизироваться к возвращению в компанию, пытался поднять какие-то скилы. Так произошло, что в силу возраста или же позиции ребята чаще ходили ко мне за советами или обсуждениями. Я сначала относился к этому, как к благотворительности, сам же видел себя в тусовке лидов, думал, что там я могу быть более полезным.

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

  • Максимальное погружение в обстановку девелопмента. Постоянно кто-то давал им дельные советы, проходя мимо, завязав общение возле кофейного автомата, за обедом. Все их задачи попадали в продакшн, не было никаких тренировочных задач и задач в стиле — нужно покрыть код юнит-тестам. Это влияло на их отношение к написанию кода.
  • «Один в поле не воин». На первых порах были проблемы с написанием вообще С# кода. Очень помогало, когда более опытный человек сидел рядом, говорил, что делать, а второй имплементировал это в коде. Очень рекомендую использовать данную практику, человек обучается в «турбо»-режиме.
  • Разные люди в команде. Чтобы пройти у нас ревью, важно не только написать рабочий код, но он должен быть оптимизированным и при этом хорошо читаемым. Так, у нас в тиме у каждого выработались свои преимущества, есть люди — перфекционисты, которые помогут обыграть любой код так, что код будет похож на поэму, есть люди, которые быстро находят решения в любых ситуациях. Таким образом ребята пребывали как будто в каком-то научном центре, где тысячи специалистов, при этом каждый специализируется на своем.
  • Общедоступные курсы. Не всегда бывает достаточно внутренних курсов компании, и тут пришел на помощь доступ к pluralsight. Там они могли найти что-то, что интересовало их.

Спустя полгода ребята стали более опытными, и их таски стали доходить до закрытия. Хороший показатель их роста — это то, что мы можем спокойно уйти в отпуск, не думая, что же будут делать ребята. (Мы любим ходить в горы на пару дней, чтобы найти свой дзен).

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

Мозговой штурм и парное программирование

Мы работаем в основном по методу мозгового штурма и парного программирования. Сделаю отсыл на определение данной терминологии.

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

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

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

По началу это очень бесило, как же это так, люди могут весь день трясти языком. Но чуть позже были заметны результаты, они, по сути, применяли практики pair-программинга. Мы попробовали в масштабах всей тимы, и нам понравилось. Как описывал мой коллега: «Это подобно тому, как муравьи накидываются на большое животное и побеждают его».

Какие плюсы от этого? Можно не слайсить очень детализировано задачи, да и не всегда комфортно заслайсить задачу. Вместо работы одного senior/lead девелопера на протяжении недели может сформироваться групка с 3-4 человек и решить задачу за два дня. При этом в таких фокус-группах очень сильно участники обмениваются опытом. В целом нам очень нравится этот подход. Под Новый год мы просто собирались вместе, включали какой-то джаз на фоне и девелопили. Была очень приятная обстановка, можно было спросить у любого любой вопрос, и это влияло только положительно на перформанс.

Наша компания выбрала для себя работу по аджайл. Хотя у нас в тиме скорее канбан или даже ватерфлоу. Как завещал аджайл, мы имеем право тратить часть времени на свое обучение. У нас есть возможность выделять один день в каждом спринте (раз в две недели — IP день) на инновации. Это происходит следующим образом: накануне нашего инновационного дня мы определяем топики, которые выносит каждый, и голосуем за 2-3 из них. Таким образом на следующий день у нас есть фронт работ. В эти топики входили разработки собственных ботов, тулов, применение различных подходов в программировании, изучение новых технологий и прочее. Это очень сильно помогает нам расти как команде и влиять на наши daily routines.

В последнем PI (planning iteration, состоит из 5 спринтов и 6 ip-спринта) мы решили потратить все наши IP-дни на разработку нового веб-клиента для нашего продукта в последнем спринте. Это просто было желание позаниматься вебом в команде, до этого клиентом выступали вин формы. Мы полностью сменили стек наших технологий, некоторые из нас получили опыт в веб-программировании, также мы увидели места для улучшения. В итоге мы показали, что наш продукт ложится в веб и продемонстрировали это. Наши результаты продемонстрировали во всей компании, и компания очень активно взяла вектор и на это направление. Тем самым меняем компанию. Старайтесь находить время на смену рода деятельности, а также улучшать свои процессы. Умножьте секунду, которую вы можете сэкономить, на количество людей в тиме, арте и, например, на месяц, получится неплохая цифра, особенно, если ее перевести в деньги.

Оффтоп

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

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

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

Еще хочу поделиться крутым опытом, прошлым летом мы почти всей тимой с семьями поехали на море работать на две недели. Мы сняли один дом на всех, на первом этаже устроили рабочие места в стиле Пентагона. Это было очень круто проводить время вместе, как и на работе, так и вечером, жаря мясо во дворике или на пляже.

Выводы:

  1. Атмосфера важна, хотя раньше я не предавал этому значение.
  2. Важен психологический комфорт, когда очень разные люди дополняют друг друга, и не вступают в конфронтацию, а открыто делятся мнением и прислушиваются друг к другу.
  3. Общению надо учиться, и чем раньше, тем лучше для тебя. У меня был опыт общения с ключевым людьми в государственных органах. Бывали кейсы, когда несколько раз организовывались встречи с одной и той же агендой, но результат был только после нахождения правильного подхода к собеседнику (я не о коррупции). После этого я читаю книги не только по программированию.
  4. Хорошо, когда в тиме нет иерархии, а опыт и компетенции — это то, чем люди охотно делятся.
  5. Для менторства имеет смысл выбирать самых опытных, так как они диктуют темп и имеют сферу влияния на команду. При этом важно, чтобы ментор понимал, зачем он это делает.

Сподобалась стаття? Натискай «Подобається» внизу. Це допоможе автору виграти подарунок у програмі #ПишуНаDOU

👍ПодобаєтьсяСподобалось14
До обраногоВ обраному4
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Мне бы комфортный понедельник, а не среду

Для меня комфортный понедельник обусловлен комфортной пятницей)

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

За 2 недели она уже надоела на столько, что пару лет мы точно туда не поедем))

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

Абсолютно согласен

Это всегда работало)

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

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

когда решили поехать часть тимы на отдых и решили поработать от туда.

Похоже на бенефит «только в нашей компании во время отдыха вы сможете работать не 12, а только 8 часов в сутки»

Могу сказать только про свою команду, у нас нету вообще овертайма. Так как мы не имеем прямых клиентов, работаем только 8 часов. За все время работы в этой компании я 1 раз фиксил баг на выходных и компания оплачивала это в 2х кратном размере, при этом мы сами решаем кто хочет пофиксить багу и получить больше денег

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

Одно упоминание овертаймов — уже повод держаться от такого места далеко-далеко.

Кабеля с розетками — то еще ладно (но это не точно).
Не представляю, как избежать мыслей о суициде после нескольких часов работы на таких стульчиках.

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

Ви знаєте, мою колишню, але так само милу компанію N-iX за значно кращі умови для воркейшну в горах тут влітку висміювали.

Я розумiю, але сподiваюсь, щось хтось оцiнив-ить

У меня спина разболелась от стульев на этой фотке :-)

Господи, та ти подивись на них — вони ж в режимі общаги ще живуть. Це ж як зібратись з пацанами щоб лаби порішать цілу ніч напрольот. Молодому організму ще пофіг на ті стулья і столи, головне ж фану побільше

До 25-30 спокійно можна жити в режимі цього постійного хакатону і працювати на кофе, сексі і сигаретах.

Та что вы привязались)
На фото ребята молодые им пока еще в новинку эта кодерская романтика)

Я понимаю что 6 лет не срок, но пока что доводилось работать там, где глаза горят от задач. Надеюсь так будет продолжаться и дальше, возможно мне повезло и я могу работать над тем, что мне нравится

Читаем:
* Peopleware
* Organizational Patterns of Agile Software Development
и применяем здравый смысл (Country Club style en.wikipedia.org/...​iki/Managerial_grid_model )

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