Работа

Мысли напрямую связанные с работой и нацеленные на решение проблемы или задачи на текущем месте


Выбор движка или готового решения для проведения 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 из обработчика.… Читать всю заметку


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

Вступление

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

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

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

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

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


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

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

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

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

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

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

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


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

Вступление

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

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

Статистика:

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

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


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

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

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

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

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

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


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

# Зачем это все и с чего началось

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

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

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


Гоните в шею если кто-то говорит вам …

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

Внимание: речь исключительно про мой опыт! Допускаю, что в разработке, к примеру, под мобильные приложения, а не под web, все может быть совершенно иначе. 😉 

Итак, гоните в шею если кто-то говорит вам:

Ставь заявку, тогда сделаю.

В первую очередь должно быть дело, а во вторую очередь уже процедуры и формальности. Если нет никаких сомнений в том, что сказанное должно быть сделано, то никаких формальностей на пути быть не должно. Иначе это "корпорация" в самых плохих смыслах этого слова.… Читать всю заметку