Гендерные праздники в IT. Как отметить

от автора

В самый разгар гендерных праздников хочется помочь тем, кто делает мероприятия в офисе. Отношение к 23 февраля и 8 марта с каждым годом все неоднозначнее. Но мы пока не готовы отказаться от еще одного повода повеселиться всем вместе.

Знаем, что часто HR делегируют работу по выбору развлечений и подарков на тех, кто совсем не готов к этому. Поэтому, если вы разработчик\архитектор\тестировщик\ (нужное подчеркнуть) … или отчаявшийся HR без идей поздравления – этот материал для вас.

В статье реальные кейсы, которые зашли нашим сотрудникам. Возможно, и вам удастся стать королем вечеринки, если дочитаете до конца.

Best practices. Или, как использовать то, что делают в телике или на ютубе в своих целях.

Мы «придумали» игру «Директумблер». Что делать?

Берем фамилию вашего сотрудника, к примеру, Чернова. Добавляем к фамилии картинку предмета, например, вакуум. Получаем: ЧерноВакуум.

Может кто-то сейчас и удивится, но игра зашла. Мы получили 331 комментарий, выложив игру в корпоративном Блоге. В какой-то момент мы даже потеряли управление, потому что сотрудники стали сами в пэйнте делать свои картинки. Тут у нас фамилия Чепель и всеми любимые пельмеши. На выходе получаем – ЧеПельмени. Попробуйте, вам понравится.

image

Для поздравления команды до 10 человек подойдет игра «Интуиция». Собираем странные факты о коллегах и пробуем угадать, где, что, про кого. Так мы выяснили, что в отделе есть те, кто: сбегал из детского сада, печатал проездной на принтере, носил чесночные бусы и засыпал в море.

КомментАут на минималках
Делим коллег на 2 команды. Задания могут выполнять все игроки по очереди. Также, как и в популярном шоу, сначала тянут комментарий, затем, если не пишут – выполняют задание.

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

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

По классике

Самое простое, но так горячо любимое многими – игровые турниры. Mortal Kombat, FIFA, CS или Dendy – смотря на что хватит фантазии, и что выберут отмечающие. По нашему опыту девочкам нравится MK – рандомно лупить по врагу – то еще развлечение.

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

Проведите Drunk Fight. Всё то же самое, что в обычном морталике, но перед каждой игрой участники выпивают. Непьющие ребята не играют. Лучше из алкоголя брать легкое пиво, чтобы в конце было кого награждать. И это +50 к зрелищности, веселью и праздничному настроению.

Из игр еще можно арендовать для офиса кикер, аэрохоккей или аркадный автомат. Играют все желающие на протяжении дня. Особенно прекрасна реакция людей на аркадные автоматы – классика, которая так близка и дорога сердцу: Space Race, Street Fighter, Pacman.

image

Еще одно классическое мероприятие – это Encounter. Найдите тех, кто напишет вопросы, желательно связать с ИТ, чтобы было веселее. Дальше дело за малым: организовать водителей, собрать команды и отправиться до полуночи разгадывать загадки по городу. Для простоты можно ограничиться определёнными районами. В лучшие годы у нас было 15 команд по 5 человек.

Чего еще хочется в праздник? Конечно, вкусно поесть.

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

image

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

Организовать сложнее, но заходят хорошо.

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

image

Code in the dark. Мероприятие достаточно популярное, но, если вы не знали, его тоже можно провести в рамках празднования. В чем суть? Это фановый контест по вёрстке, который зайдет и тем, кто «ну, я вообще-то не верстальщик» или «еще что-то вроде помню», и тем, кто «я так-то бог фронтенда».

Как было у нас:

  • 4 или 2 разработчика на время верстают один простой макет;
  • зрители наблюдают за работой в реальном времени на проекторе;
  • через 15 минут редактор блокируется, аудитория выбирает лучшего.

Веселье в том, что каждый участник видит только редактор html и не может переключаться между вкладками браузера, а – значит – не видит результата верстки до самого конца. Результаты выводятся на проектор после блокировки редактора. Мы приносили попкорн, напитки и снеки, включали drum&bass фоном. Было весело!

image

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

Самый страшный код

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

public DateTime EndOfMonth(DateTime date)   {     try     {       var date_string = date.ToString("dd.MM.yyyy");       var month = date_string.Substring(3, 2);       var year = date_string.Substring(6, 4);       var rez = "";       Console.WriteLine(month);       if (month == "01")         rez = "31.01";       else if (month == "02")         if ((Int32.Parse(year) / 4) * 4 == Int32.Parse(year))           rez = "29.02";         else           rez = "28.02";       else if (month == "03")         rez = "31.03";       else if (month == "04")         rez = "30.04";       else if (month == "05")         rez = "31.05";       else if (month == "06")         rez = "30.06";       else if (month == "07")         rez = "31.07";       else if (month == "08")         rez = "31.08";       else if (month == "09")         rez = "30.09";       else if (month == "10")         rez = "31.10";       else if (month == "11")         rez = "30.11";       else if (month == "12")         rez = "31.12";        return DateTime.ParseExact(rez + "." + date_string.Substring(6, 4), "dd.MM.yyyy", CultureInfo.InvariantCulture);     }     catch (Exception e)     {       // Ничё-ничё...     }      return date;   }

В результате набрали 20 ужаснейших вариантов, их которых победил вот этот:

using System; using System.Globalization; using System.Diagnostics.CodeAnalysis;  namespace ScaryCode {   public static class DateTimeNormalizeExtension   {     public static string ToNormalString(this DateTime dateTime)     {       return dateTime.ToString(Program.EndOfMonthCalculatorExecutor.DateFormat);     }   }    class Program   {     static void Main(string[] args)     {       var endOfMonth = UniversalFunctionsExecutor.ExecuteRandomFunction(typeof(EndOfMonthCalculatorExecutor), "EndOfMonth", DateTime.Today);       Console.Write(endOfMonth);       Console.ReadKey();     }      public interface ICalendarElement     {       // Абстракция.     }      public interface IDay : ICalendarElement     {       // На будущее пригодится.     }      public interface IMonth : ICalendarElement     {       // На будущее пригодится.      }      public interface IYear : ICalendarElement     {       // На будущее пригодится.     }      public interface IDate : ICalendarElement     {       // На будущее пригодится.     }      public abstract class LastMonthDay : IDay     {       [SuppressMessage("Используем String, чтобы лучше считалось","Без этого параметра не компилируется")]       public virtual string GetLastDayTwoPartsOfThree()       {         return String.Empty;       }     }      public class LastJanuaryDay : LastMonthDay     {       override public string GetLastDayTwoPartsOfThree()       {         return "31.01";       }     }      public class LastFebruaryDay : LastMonthDay     {       override public string GetLastDayTwoPartsOfThree()       {         return "28.02";       }     }      public class LastVisocosicFebruaryDay : LastFebruaryDay     {       override public string GetLastDayTwoPartsOfThree()       {         return "29.02";       }     }      public class LastMarchDay : LastMonthDay     {       override public string GetLastDayTwoPartsOfThree()       {         return "31.03";       }     }      public class LastAprilDay : LastMonthDay     {       override public string GetLastDayTwoPartsOfThree()       {         return "30.04";       }     }      public class LastMayDay : LastMonthDay     {       override public string GetLastDayTwoPartsOfThree()       {         return "31.05";       }     }      public class LastJuneDay : LastMonthDay     {       override public string GetLastDayTwoPartsOfThree()       {         return "30.06";       }     }      public class LastJulyDay : LastMonthDay     {       override public string GetLastDayTwoPartsOfThree()       {         return "31.07";       }     }      public class LastAugustDay : LastMonthDay     {       override public string GetLastDayTwoPartsOfThree()       {         return "31.08";       }     }      public class LastSeptemberDay : LastMonthDay     {       override public string GetLastDayTwoPartsOfThree()       {         return "30.09";       }     }      public class LastOctoberDay : LastMonthDay     {       override public string GetLastDayTwoPartsOfThree()       {         return "31.10";       }     }      public class LastNovemberDay : LastMonthDay     {       override public string GetLastDayTwoPartsOfThree()       {         return "30.11";       }     }      public class LastDecemberDay : LastMonthDay     {       override public string GetLastDayTwoPartsOfThree()       {         return "31.12";       }     }      public interface ICalculationFunctionExecutor     {             }      public static class LastDayWithootYearCalculatorFabric     {       public static string GetLastDayWithoutYearCalculatorExecuteAndReturn(string month, string year)       {         var rez = "";          if (month == "01")           rez = new LastJanuaryDay().GetLastDayTwoPartsOfThree();         else if (month == "02")           if ((Int32.Parse(year) / 4) * 4 == Int32.Parse(year))             rez = new LastVisocosicFebruaryDay().GetLastDayTwoPartsOfThree();           else             rez = new LastFebruaryDay().GetLastDayTwoPartsOfThree();         else if (month == "03")           rez = new LastMarchDay().GetLastDayTwoPartsOfThree();         else if (month == "04")           rez = new LastAprilDay().GetLastDayTwoPartsOfThree();         else if (month == "05")           rez = new LastMayDay().GetLastDayTwoPartsOfThree();         else if (month == "06")           rez = new LastJuneDay().GetLastDayTwoPartsOfThree();         else if (month == "07")           rez = new LastJulyDay().GetLastDayTwoPartsOfThree();         else if (month == "08")           rez = new LastAugustDay().GetLastDayTwoPartsOfThree();         else if (month == "09")           rez = new LastSeptemberDay().GetLastDayTwoPartsOfThree();         else if (month == "10")           rez = new LastOctoberDay().GetLastDayTwoPartsOfThree();         else if (month == "11")           rez = new LastNovemberDay().GetLastDayTwoPartsOfThree();         else if (month == "12")           rez = new LastDecemberDay().GetLastDayTwoPartsOfThree();          return rez;       }     }       public static class UniversalFunctionsExecutor     {       public static string ExecuteRandomFunction(Type type, string FunctionName, DateTime FirstArgument)       {         var instance = type.GetProperty("Instance").GetValue(null);          var rez = type.GetMethod(FunctionName).Invoke(instance, new [] { (object)FirstArgument });         return DateTime.Parse(rez.ToString()).ToNormalString();       }     }      public sealed class EndOfMonthCalculatorExecutor : ICalculationFunctionExecutor     {       private static EndOfMonthCalculatorExecutor instance;       static EndOfMonthCalculatorExecutor() { }       private EndOfMonthCalculatorExecutor() { }        public static string DateFormat = "dd.MM.yyyy";        public static EndOfMonthCalculatorExecutor Instance       {         get         {           if (instance == null)             instance = new EndOfMonthCalculatorExecutor();           return instance;         }       }        public enum NumbersPositionInDate       {         MonthStart = 3,          MonthLength = 2,          YearStart = 6,          YearLength = 4       }        public DateTime EndOfMonth(DateTime fullIncoming_dateParam)       {         try         {           var date_string = fullIncoming_dateParam.ToNormalString();           var month = date_string.Substring((int)NumbersPositionInDate.MonthStart, (int)NumbersPositionInDate.MonthLength);           var year = date_string.Substring((int)NumbersPositionInDate.YearStart, (int)NumbersPositionInDate.YearLength);                      Console.WriteLine(month);           var rez = LastDayWithootYearCalculatorFabric.GetLastDayWithoutYearCalculatorExecuteAndReturn(month, year);            return DateTime.ParseExact(rez + "." + date_string.Substring((int)NumbersPositionInDate.YearStart, (int)NumbersPositionInDate.YearLength),             DateFormat, CultureInfo.InvariantCulture);         }         catch (Exception e)         {           // Ничё-ничё...         }          return fullIncoming_dateParam;       }     }   }       }

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

Еще немного для тех, кто любит портить и ломать. Однажды мы взламывали систему. Подготовили контест с разными уровнями сложностями. На первом нужно было заказать в интернет-магазине цветы на 8 марта бесплатно. С каждым новым уровнем были дыры посложнее. Но важный момент для организаторов: мы столкнулись с тем, что на первом же этапе нам не просто взломали систему, а положили ее. Будьте готовы и к таким поворотам и подключайте к мероприятиям профессионалов.

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

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

В компании мы работаем в системе Directum. В системе есть типовые маршруты, которые предназначены для решения рутинных, повседневных задач. Мы решили взять эти маршруты и запустить новый ТМ «Исполнение желания». Первым шагом внесли в маршрут всех, кто готов исполнять и получать желания – уточнили через короткий опрос по всей компании. Далее один день в рамках маршрута можно было отправить и выполнить по одному желанию коллег. Кто-то просил цветы, кто-то кофе, кто-то стихи. Ничего сложного, без пожеланий отпусков на Бали и iPhone11. Эффект был очень положительный, правда, на третий раз эта история приелась, и мы пока не рискуем повторять, но, возможно, на следующий год возродим в новом формате.

Немного о подарках

У нас в компании 319 мужчин и 247 женщин. Сложно выбрать подарок, который бы понравился всем, но, кажется, мы нашли.

  1. Конечно, лего.
  2. Конечно, цветы.
  3. А еще дарили наборами газировка (Dr. Pepper) + Pringles и значки + брутальный шоколад.
  4. Еще наборы: крем для рук/значки, снова цветы и сразу вазы для них.

А еще нам как-то на 8 марта дарили миленькие, пушистые носки. Да. Носки на 8 марта. И это было очень здорово.

Такие подарки в качестве дополнения к основному веселью хорошо заходят. Они универсальны, их, в случае чего, не жалко выкинуть (:D), ну и они могут остаться на работе в качестве напоминания о празднике.

Что мы дарили и никому не понравилось

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

Вроде бы и всё. Надеюсь, что с такими развлечениями вам удастся провести классный праздник, ну, и самим отдохнуть.

ссылка на оригинал статьи https://habr.com/ru/company/directum/blog/490722/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *