Как стать автором
Обновить
0
Directum
Цифровизация процессов и документов

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

Время на прочтение9 мин
Количество просмотров5.8K
В самый разгар гендерных праздников хочется помочь тем, кто делает мероприятия в офисе. Отношение к 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), ну и они могут остаться на работе в качестве напоминания о празднике.

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


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

Вроде бы и всё. Надеюсь, что с такими развлечениями вам удастся провести классный праздник, ну, и самим отдохнуть.
Теги:
Хабы:
Всего голосов 31: ↑12 и ↓19-7
Комментарии9

Публикации

Информация

Сайт
www.directum.ru
Дата регистрации
Дата основания
Численность
501–1 000 человек
Местоположение
Россия

Истории