Теперь, data deletion requests преследуют меня :) вот, фб напрогал
Кстати, хром обновил дизайн. Чувство, будто пользуешься файрфоксом. У них эти закругления уже давно.
Признаюсь, уже четвертый день захожу с утра на эту страницу проверить, не вышел ли Golden Master macOS Mojave 🙈 (его дают разработчикам за неделю до публичного релиза)
Впервые столкнулся с GDPR-запросом на удаление персональных данных в реальной жизни
Насколько я понял, человек попросил удалить все данные о себе у Mailchimp. Не меня, клиента Mailchimp, а саму систему рассылки писем.
Так как его имейл есть у меня в списке рассылки — я контролёр персональных данных, а MC — процессор. Мне нужно в течении 30 дней удалить его адрес из рассылки и не добавить его случайно обратно при следующем импорте из своей базы.
Это не так просто, потому что обычно, при отписке от рассылки, адрес сохраняется в базе с пометкой «отписался». Вернуть его обратно в подписчики программно или даже руками через админку — невозможно. Подписаться повторно может только сам человек. Это защищает от случайной «переподписки» отписавшихся, по сути — от спама.
Тут же, все данные из Mailchimp должны исчезнуть бесследно, так что в следующий импорт он может снова оказаться в подписчиках. Mailchimp решил, что GDPR-запрос — ситуация редкая и прислал письмо, чтобы мы разобрались с нею в ручном режиме. Видимо, придется вести у себя табличку «отписались от Mailchimp по GDPR» и добавлять туда желающих.
Кстати, это — хакерский способ отписаться ото всех рассылок махом. Рассылаешь GDPR-запрос на удаление персональных данных в 10 крупнейших систем рассылки писем и всё, 99% рассылок отвалились. Интересно, когда откроется такой сервис?
Гугл удаленно включил энергосберегающий режим в некоторых Android-телефонах, извинился (комментом в редитте, буквально «сорян») и откатил изменения обратно.
На сайтах (и в мобильных приложениях типа убера) похожие вещи происходят постоянно и называются feature flag testing или A/B testing. Программисты разрабатывают фичу (или меняют дизайн), раскатывают изменение на небольшой процент пользователей и смотрят на метрики. «Стали люди больше читать уведомления, если изменить кружочек рядом с колокольчиком с синего на красный? Отлично, раскатываемся на остальных»
Но когда такое начинает происходить с операционной системой телефона, с настройками батарейки — для меня это перебор. Кто владеет телефоном? Тот, кто купил телефон за немалые деньги или компания, которая его продала?
Когда делаете email-рассылки в первый раз — имейте в виду, что платформа может не отправить письмо, а заблокировать аккаунт для ручной проверки (что вы не спамер). Специально подобранное время кампании может сильно съехать (особенно, если сервис живет по другому часовому поясу).
Mailchimp блокировал таким макаром Медузу на самом запуске, так что с RAWG я подстраховался и написал им письмо в поддержку заранее.
На этот раз их роботы никакого криминала не увидели. Ненавижу, когда нашу судьбу решают машины.
«Флоу» блокировки. Как видите, ограничения можно проигнорировать. Для меня этого дополнительного шага достаточно, чтобы подумать «а нужно ли мне это?». Обычно — нет.
Начиная с субботы, я избавляюсь от телефонной, и шире, информационной зависимости. В последние месяцы компульсивное чтение hackernews и бесконечные чаты в телеграме стали уж совсем невыносимы, так что я по наводке психотерапевта залез в раздел Screen time нового iOS и ужаснулся. Оказывается, я провожу в телефоне по 4 часа в день.
В новом iOS появилась возможность поставить лимиты на определенные приложения; например, разрешить себе не больше 30 минут инстаграма в день. Я решил не мелочиться — заблокировал все приложения кроме «функциональных». Так называемый downtime, когда блокируются все приложения кроме «белого списка», у меня начинается в 00:01 и заканчивается в 00:00 (получаются сутки минус минута). Отдельный смак — во время downtime скрываются все пуш-уведомления от заблокированных приложений, так что не нужно больше сидеть «вычесывать» пуши по одному в настройках.
Если вы подумывали перейти на «телефон-кирпич», но не хотели отказываться от функций смартфона — рекомендую поиграть со Screen time в iOS 12. Релиз выйдет в ближайшие недели, но установить бету можно уже сейчас. Бонус — iOS 12 существенно быстрее предшественника. Мой старенький SE опять начал летать.
До включения Screen time я пользовался телефоном 3-5 часов в день, с ним — час-полтора.
Интересно, что количество «поднятий телефона» в день практически не изменилось — 80, хотя время пользования упало в несколько раз.
Божественная статья про то, как манипулировать данными (и про глобальное потепление).
По графику средней температуры в Штатах видно, что скоро мы все поджаримся (а перед этим утонем). Что делать, если у тебя говно в голове (зачернуто), если хочется сделать вид, что проблемы нет?
1. Для начала смотрим только на график минимальных температур — уже чуть лучше (хотя тоже растет).
2. Берем только летний сезон — ещё чуть лучше.
3. Выкидываем данные с 1895 по 1918 год (потому что без них лучше).
4. Не берем данные, предобработанные профессионалами (они учитываю то, что в новые метеостанции ставятся всё в более северных широтах), а используем тупо среднее всех измерений.
5. Profit
график здорового человека
график курильщика
Cегодня был тяжелый день для меня. В поиске фронтов осталось 4 кандидата, все классные, у каждого свои сильные и слабые стороны.
Много думал, советовался с коллегами, но ВЫБРАЛ СЕРДЦЕМ.
В чате несколько раз просили рассказать, как мы проводим собеседования, поделюсь.
Во первых, нужно выбрать, кого собеседовать. Мы смотрим на исходный код. Просим ссылку на репозиторий, zip или, хотя бы, отдельные исходные файлы. Это отсекает часть кандидатов, которые не способны прогать. Сразу видно крутышей, которые пишут так (или такое), что хочется с ними работать.
Пожалуюсь, что так и не научился находить хорошие репозитории по данному гитхаб-профилю. Я часто прошу скинуть мне прямую ссылку на репу.
Очень хороший текст о себе, со всеми правильными ключевыми словами, может подкупить моё сердце, но Рома (или другой программист) наверняка спросит «а код-то где?»
Я не даю тестовые задания, потому что боюсь отсечь самых крутых кандидатов, которые «в р** е**** наши тестовые» (не заинтересованы в тестовых), за ними и так очередь стоит. К тому же, код из реального мира лучше синтетического.
Во вторых, никаких собеседований один-на-один: это более утомительно и менее эффективно. Бэкендера мы искали вдвоем с Антоном, фронтов собеседуем с Ромой и с Сашей втроем. При этом иметь со стороны компании больше 3 человек, наверное, тоже перебор.
В третьих, мы не спрашиваем _тупых_ вопросов на _соображалку_ типа «сколько теннисных мячей поместится в Боинг 747». И никаких whiteboard interview, когда просят написать исходный код «здесь и сейчас». Собеседование призвано ответить на три вопроса:
1. Хотим ли мы работать с этим человеком?
2. Захочет ли он работать с нами?
3. Способен ли он выполнять работу, которую мы хотим ему дать?
Сценарий всех собеседований примерно одинаковый:
1. Мы рассказываем о продукте: какую проблему он решает, какие составные части в нем есть (это я люблю рассказывать сам, но порой я учусь смирению и это делает кто-то из программистов);
2. Какие технологии мы используем — тут обычно программисты начинают говорить на птичьем и в глазах кандидата появляется оживление, он начинает задавать вопросы. Хорошо!
3. Как устроен рабочий процесс — бейзкемп, рабочие циклы, разбиение фичи на подзадачи программистами, созвоны, личные встречи, etc. Больше вопросов, наши истории из жизни, в идеале кандидат делится своими.
Это всё нужно успеть проговорить за первые полчаса или быстрее. Мы раскрываемся перед кандидатом, задаем планку того, как и о чем рассказывать.
Дальше кандидат рассказывает о себе. Часто люди просят задать вопросы. Самый главный:
Почему решил уйти с прошлой работы? По ответу можно узнать, что важно для человека перед вами и зачем он к вам пришел. Почти всегда, есть что спросить по ходу рассказа — кандидат сам разбросает перед вами ниточки, потянув за которые, можно размотать клубок. Пример фразы-маркера, за которую я обязательно уцеплюсь: «у нас были технические разногласия» — уж не «перфекционист технологический» ли перед нами?
Многое можно понять по тому, задает ли кандидат те или иные вопросы. Например, когда мы говорим «react, redux» то классический вопрос чувака «в теме» это «thunk или saga»? Обычно, это начало продуктивной беседы с перекрестными вопросами, когда мы советуемся с кандидатом, узнаем его мнение о той или иной технологии, он узнает больше о нас и нашем подходе к программированию, а мы нащупываем его технический уровень.
Иногда мы спрашивали классические «экзаменационные вопросы» типа «как ты оптимизируешь react-компоненту, чтобы меньше тормозило?», но я считаю этот «экзаменационный» стиль поведения во многом капитуляционным, когда не получается наладить качественный, живой человеческий диалог.
Проведу аналогию с высказыванием Ирвина Ялома и скажу, что хорошее собеседование, это, в первую очередь — человеческая встреча, в которой мы знакомимся и оцениваем, хотим ли мы работать вместе.
P.S. Мы только что провели 7 собеседований за один день и это перебор, так я делать не рекомендую (хотя получилось очень результативно и это балансирует чувство, будто вскопал поле).
P.P.S. Техническое: 1) для бронирования времени собеседования пользуйтесь сервисом appoint.ly, где кандидаты сами выбирают удобное им время из предложенных слотов. 2) проводите собеседования в zoom.us, в режиме gallery, когда экран делится на 3 или 4 части и вы видите лица всех участников сразу. Этот режим максимально приближен к реальной встрече и качество звука в zoom отменное.
А как собеседуете вы? Какое худшее (или лучшее) собеседование было у вас в жизни? Делитесь в чатике @ctodailychat, у нас собралась хорошая компания.