Выбор движка или готового решения для проведения AB тестирования   Есть обновление!

# Вступление

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

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

# Optimizely

Очень понравилось решение app.optimizely.com, правда у них не совсем внятная ценовая политика. Но все настраивается в интерфейсе мышкой и кнопками, есть интеграция с Google Analytics и код будет передавать туда соответствующий эксперименту Custom Dimension. 

Пока не удалось найти связь между client side и server side т.к.… ▶ Читать всю заметку


Исследование: отображение подтверждения при закрытии/перезагрузке вкладки в браузере

Цель

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

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

С первым никаких вопросов нет, а вот со вторым все немного интереснее т.к. оказывается в разных браузерах поведение разное. 

Исследование

Работу кода я проверял в текущих установленных у меня версиях браузеров:

  • Google Chrome 55
  • Mozilla Firefox 50.1
  • Internet Explorer 11

body.unload

Я помнил из начала двухтысячных, что раньше можно было повесить событие на unload в body и чуть ли не иметь возможность не дать человеку вообще закрыть страницу просто возвращая false из обработчика.… ▶ Читать всю заметку


Графит и графана

Вступление

Графит — очень хороший сервис для работы с time series данными. Он он из коробки дает как интерфейс для отображения данных, так и api для сохранения данных. Однако мы практически не пользуемся ни первым ни вторым напрямую. 

StasD — именно его мы используем для передачи данных т.к. он обеспечивает более качественное сохранение данных, которые приходят очень часто.

Grafana — ее мы используем для отображения графиков. В ней можно создавать свои доски и панели и графики. 

Почему очень важно правильно называть метрики

Метрики очень важно правильно называть из-за того, что правила при хранении и агрегации метрик зависят от их названий. См.… ▶ Читать всю заметку


Небольшая история написания бота для Telegram

Вступление

Когда Telegram объявили о запуске API для написания ботов я создал себе "чтобы было" бота @vodmalbot. К тому моменту я уже довольно активно пользовался Telegram: был подписан на массу разных каналов. Поэтому возможность написать своего бота, например, чтобы просто форвардить в него ссылки, а он бы добавлял их в Pocket, ну или чего-то подобного мне была интересна. 

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

Написание бота сводилось к манипулированию strpos.… ▶ Читать всю заметку


Исследование: выбрать библиотеку и способ вывода подсказок по работе интерйфейсов

Вступление и цель

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

Ключевые слова: intro, tour, walkthrough, whatsnew, guide. 

Попытка 1. Готовые библиотеки

Я нашел статью в которой приводится два десятка готовых решений: http://ninodezign.com/25-free-jquery-plugins-for-doing-guided-tours-through-a-website/

Просмотрев все библиотеки я составил список тех, про которые можно было бы сказать хоть что-то хорошее или интересное.… ▶ Читать всю заметку


Выбор лучшего приложения для напоминаний для iPhone

Вступление

Написание заметки "Выбор лучшего приложения календаря для iPhone" и вообще проведенное сравнение заставило задуматься о том, что  стоит пересмотреть логику работы с напоминаниями. С тех пор как я начал пользоваться Calendars 5 для работы с календарем напоминания перебрались в него. В родном приложении я ничего не отключал, просто не пользовался им. 

Помню что уйти от стандартных заметок меня заставило:

  • Отсутствие "продвинутых" повторяющихся событий типа "каждую последнюю субботу месяца";
  • Невнятный внешний вид с делением по спискам,  когда не ясно что именно нужно сделать и когда и не самой очевидной сортировкой; 
  • Назойливость напоминаний которые висят и висят пока их не сделаешь.
▶ Читать всю заметку

Сценарий найма на работу и проведения собеседования разработчика/руководителя группы в наш проект

Вступление

Смысл этой заметки в том, чтобы не забыть все те глубины и скрытые смыслы, которые были выявлены в результате проведения интервью разработчиков на протяжении нескольких лет. Записано по памяти в 2016 году примерно через 2 года после проведения последнего собеседования. То есть что-то могло потерять свою актуальность, что-то могло забыться. Диалоги и их ветвления приведены не полностью, а так чтобы в нужный момент при необходимости всплыть в моей памяти.

Вакансия это junior, senior, team-lead/заместитель руководителя отдела с опытом разработки на php. Собеседования C#-разработчиков, а так же frontend-разработчиков здесь не затрагиваются.

Статистика:

  • Просмотрено резюме: около 1000
  • Проведено собеседований: более 100
  • Взято на работу: около 30
  • Отказалось от оффера из тех, кого было прям реально очень хотелось взять: пара человек
  • Уволено: пара человек

Статистику восстановил по памяти и поиском по почте так что за достоверность не ручаюсь, но порядки точно верные.… ▶ Читать всю заметку


Выбор лучшего приложения календаря для iPhone

Не помню почему я в свое время ушел от использования стандартного календаря. Возможно тогда еще не было поддержки Google Account Calendar. Или мне просто понравилось как сделана в Calendars 5 совместная работа с напоминаниями-"тудушками". Или что в нем можно было задавать цвета календарям. Или удобное представление списков. Или то, что он был и остается довольно красивым. 

Списочное представление в Calendars 5

Недельное представление в Calendars 5

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

В любом случае я несколько лет пользовался именно Calendars 5, купил платную версию, чтобы поддержать разработчиков.… ▶ Читать всю заметку


О тестировании и тестировщиках

Предисловие от 2016 года.

Этот текст был написан мной в качестве подготовки к собранию с большой командой разработчиков. Написан в декабре 2014 — через несколько месяцев после того как мы начали внедрение настоящего тестирования в каждой из групп разработки. 

Действующие лица: 

  • Я — руководитель отдела разработки
  • Тимлиды — руководители групп
  • Николай — руководитель IT-департамента
  • Алексей — заместитель руководителя IT-департамента, известный коуч
  • Василий — исполняющий обязанности руководителя группы
  • Александр — product owner одного подпроектов
  • Дмитрий — product owner нескольких подпроектов, руководитель других менеджеров и product owner
  • Илья — верстальщик в одной из групп разработки

Процесс разработки еще не был branch per feature. Были кодфризы в созданием ветки release-xx которые и выкладывались на бой. 

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

Вступление

## Кто работал с тестированием до начала работы в нашей компании?▶ Читать всю заметку


Календарь отпусков сотрудников из закрытого корпоративного Confluence в iPhone

Когда команда начала расти и появилось необходимость, чтобы об отпуске сотрудника знали все, а не только их руководитель, то мы начали вести календарь отпусков в виде wiki-документа в Confluence.

Просто несколько таблиц по кварталам с фамилиями сотрудников, датами начала и окончания отпуска и вероятностью отпуска. То есть заранее можно было сообщить в начале года всем, что ты собираешься в отпуске в конце декабря с вероятностью 50%. 

Потом появился Team Calendar внутри Confluence, но он был воспомогательным средством т.к. не представлял наглядного отображения на одном экране всей картинки. На изменения в нем как-то сложнее было подписаться, чем на wiki-страницу. Хотя при всем этом по нему было удобнее видеть пересечения по отпускам, текущую картинку на сегодняшний день, а так же соединить несколько таких календарей в один.… ▶ Читать всю заметку