Знаем, что часто HR делегируют работу по выбору развлечений и подарков на тех, кто совсем не готов к этому. Поэтому, если вы разработчик\архитектор\тестировщик\ (нужное подчеркнуть) … или отчаявшийся HR без идей поздравления – этот материал для вас.
В статье реальные кейсы, которые зашли нашим сотрудникам. Возможно, и вам удастся стать королем вечеринки, если дочитаете до конца.
Best practices. Или, как использовать то, что делают в телике или на ютубе в своих целях.
Мы «придумали» игру «Директумблер». Что делать?
Берем фамилию вашего сотрудника, к примеру, Чернова. Добавляем к фамилии картинку предмета, например, вакуум. Получаем: ЧерноВакуум.

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

Для поздравления команды до 10 человек подойдет игра «Интуиция». Собираем странные факты о коллегах и пробуем угадать, где, что, про кого. Так мы выяснили, что в отделе есть те, кто: сбегал из детского сада, печатал проездной на принтере, носил чесночные бусы и засыпал в море.
КомментАут на минималках
Делим коллег на 2 команды. Задания могут выполнять все игроки по очереди. Также, как и в популярном шоу, сначала тянут комментарий, затем, если не пишут – выполняют задание.
Лучше сделать комментарии относительно легкие, но с внутряковыми шутками и упоминаниями коллег. Мы добавляли еще комменты в инстаграм аккаунты компаний конкурентов о том, что у нас работать лучше. В качестве заданий подойдут: странные танцы в соседнем отделе или брейк-данс на ресепшн, выкладывание видео, где вы ужасно поете в стори и всё в таком духе.
Для этого развлечения есть лайфхак – проводить его лучше, когда коллеги будут уже разогреты.
По классике
Самое простое, но так горячо любимое многими – игровые турниры. Mortal Kombat, FIFA, CS или Dendy – смотря на что хватит фантазии, и что выберут отмечающие. По нашему опыту девочкам нравится MK – рандомно лупить по врагу – то еще развлечение.
Если турниры для вас уже прошлый век, предлагаю разнообразить их. Праздник же в конце концов.
Проведите Drunk Fight. Всё то же самое, что в обычном морталике, но перед каждой игрой участники выпивают. Непьющие ребята не играют. Лучше из алкоголя брать легкое пиво, чтобы в конце было кого награждать. И это +50 к зрелищности, веселью и праздничному настроению.
Из игр еще можно арендовать для офиса кикер, аэрохоккей или аркадный автомат. Играют все желающие на протяжении дня. Особенно прекрасна реакция людей на аркадные автоматы – классика, которая так близка и дорога сердцу: Space Race, Street Fighter, Pacman.

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

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

Code in the dark. Мероприятие достаточно популярное, но, если вы не знали, его тоже можно провести в рамках празднования. В чем суть? Это фановый контест по вёрстке, который зайдет и тем, кто «ну, я вообще-то не верстальщик» или «еще что-то вроде помню», и тем, кто «я так-то бог фронтенда».
Как было у нас:
- 4 или 2 разработчика на время верстают один простой макет;
- зрители наблюдают за работой в реальном времени на проекторе;
- через 15 минут редактор блокируется, аудитория выбирает лучшего.
Веселье в том, что каждый участник видит только редактор html и не может переключаться между вкладками браузера, а – значит – не видит результата верстки до самого конца. Результаты выводятся на проектор после блокировки редактора. Мы приносили попкорн, напитки и снеки, включали drum&bass фоном. Было весело!

В мире, где человеком года становится 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 женщин. Сложно выбрать подарок, который бы понравился всем, но, кажется, мы нашли.
- Конечно, лего.
- Конечно, цветы.
- А еще дарили наборами газировка (Dr. Pepper) + Pringles и значки + брутальный шоколад.
- Еще наборы: крем для рук/значки, снова цветы и сразу вазы для них.
А еще нам как-то на 8 марта дарили миленькие, пушистые носки. Да. Носки на 8 марта. И это было очень здорово.
Такие подарки в качестве дополнения к основному веселью хорошо заходят. Они универсальны, их, в случае чего, не жалко выкинуть (:D), ну и они могут остаться на работе в качестве напоминания о празднике.
Что мы дарили и никому не понравилось
Дешевые визитницы с гравировкой логотипа компании, подставки под телефон странной формы, которые не держались на телефоне, маленькие фляги для алкоголя (странный объем, некачественное покрытие, редко, кто носит алкоголь в таком количестве с собой). Не повторяйте наших ошибок.
Вроде бы и всё. Надеюсь, что с такими развлечениями вам удастся провести классный праздник, ну, и самим отдохнуть.
ссылка на оригинал статьи https://habr.com/ru/company/directum/blog/490722/
Добавить комментарий