Core Protocols

Когда я пришел в ManyChat, я первый раз услышал про LeSS и пошел читать методичку. А в методичке по LeSS я наткнулся на отсылку к Core Protocols, про которые не слышал раньше, и тоже пошел читать про них.

И если вкратце, Core Protocols — это система фасилитационных техник, направленных на улучшение коммуникации внутри команд.

Есть большая история о том, как два инженера устали от всяких бестолковых встречь и задач и решили придумать свои процессы с блэкджеком и фасилитацией, подойдя к командам как к продукту. Тут у вас уже, наверное, зачеркнуты несколько ячеек в Bullshit Bingo, но подождите.

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

На деле получилось 2 списка: список коммитов (обязательств) и список самих протоколов, которые выложены в открытый доступ с открытой лицензией, как софт, и которые со временем дополняются, изменяются, актуализируются.

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

Я их переведу на русский со своими комментариями, и если вы найдете более емкие формулировки, то пишите, я дополню/исправлю:

1) Я обязуюсь участвовать, когда присутствую
Это про то, что если участвуешь во встрече, то участвуешь, а не залипаешь в ноутбуке. Дополнительно расширяется на личную внутреннюю осознанность. Если что-то делаешь, то понимаешь зачем.

2) Я буду стремиться больше воспринимать, чем быть воспринимаемым
Это про то, чтобы слушать и пытаться понять аргументы, а не продавливать свою точку зрения любыми средствами.

3) Я буду использовать команды, особенно при выполнении сложных задач
Это про помощь. Ты должен пользоваться всеми видами помощи, которые можешь получить от людей вокруг, а не пытаться супергеройски вытащить проект, перегореть и уволиться.

4) Я буду говорить всегда и только тогда, когда верю, что это улучшит соотношение усилие/результат
Это про осознанное высказывание мыслей. Не нужно говорить просто, чтобы стать заметным для кого-то на встрече.

5) Я буду предлагать и принимать только рациональное, ориентированное на результат поведение и общение
Понимаешь, что разговор эмоциональный, не про цель, на высоких тонах, отмечаешь это и не вписываешься в такую игру.

6) Я буду избегать непродуктивных ситуаций
Если понимаешь, что 23 встречи в неделю не приводят к результату, отмечаешь это, и стараешься не участвовать им, не мешая при этом другим.

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

8) Я буду стремиться двигаться к цели, смещая свое поведение в сторону действия
Всегда разгоняй активным действием, создавай положительную инерцию, которую сложно остановить даже самыми тупыми действиями и комментариями.

9) Я буду использовать протоколы, когда это применимо
Всегда помнишь про протоколы и стараешься их применять каждый раз, когда они нужны.

10) Я никому не причиню вреда—и не потерплю причинения вреда—за его или ее верность этим обязательствам
Если закомитились на core protocols, то не нужно закатывать глаза и проявлять агрессию (даже пассивную), когда тебе кто-то подсветил, что ты наваливаешь не в ту сторону.

11) Я никогда не буду делать ничего глупого нарочно
Вот да!

Это только верхушка, в следующий раз посмотрим на сами коммиты.

Вообще очень рекомендую прочитать оригинал текста с коммитами вот здесь — https://liveingreatness.com/core-protocols/the-core-commitments/

Чтобы обратиться к какому-либо узлу, его сначала надо найти

Для этого есть разные методы, но в современном прототипировании чаще всего применяются два метода:

let el = document.querySelector(selector)
и
let elems = document.querySelectorAll(selector)

Оба метода получают на вход CSS-селектор элемента. Например:

let el = document.querySelector(".someClass b");

Отличие их в том, что querySelector вернёт один узел, который попался первым, а querySelectorAll вернёт список всех узлов на странице, соответствующих селектору.

Список узлов очень похож на массив, но не является массивом. Например, у него, как и у массивов, есть метод forEach, при помощи которого можно перебрать один элемент за другим. Но у него нет метода map, который позволяет преобразовать один массив в другой, применив к каждому элементу функцию-колбэк.

Если же вам всё-таки нужен метод map, то вы можете преобразовать список узлов в массив при помощи конструкции [...nodeList]:

let arr = document.querySelecroAll("a");
[...arr].map(el => el.innerText);

Подробнее в видео: https://youtu.be/KIBv7QMToP4
И в примере с кодом: https://codepen.io/detepr/pres/mQqKZO

Найти рынок

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

Часто продукты рождаются из собственной потребности основателя. Это классика. У тебя что-то настолько болит, что ты просто придумываешь решение. Дальше видишь, что у других болит также и они готовы тебе платить (это рынок). Масштабируешь решение, растешь и т.д.

Есть две короткие истории про это.

1. Дженифер классно писала эссе в институте. Ее одногрупница попросила помочь, но Джен была сильно занята. Тогда ей предложили выполнить работу за $20 (нащупывается рынок).

Заказ за заказом и Дженифер наняла себе в помощь других писателей. Так родился продукт EssayService.

2. Джилбоа - парень, который носит очки, как-то потерял их во время своего путешествия. Они просто выпали у него из рюкзака. Он провел небольшой ресерч для покупки новой пары и обнаружил, что наценка составляет Х10-20 от себестоимости.

Вместе со своим одноклассником Нейлом ребята основали небольшую компанию WarbyParker, которая продавала очки гораздо дешевле, чем ее конкуренты. Стоимость их бизнеса оценивается в $200 млн.

Адам Сильвер написал о всплывающих подсказках (tooltip).

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

Проблемы:
1. Пользователи не всегда замечают, что подсказки есть.
2. Пользователь должен что-то сделать, чтобы получить подсказку. Плохо, если в ней находятся, например, требования к паролю. Скорее всего, пользователю придётся их посмотреть.
3. Подсказки могут частично закрывать содержимое и элементы интерфейса. Чтобы заполнить поле, пользователю придётся запомнить текст подсказки.
4. Подсказки могут обрезаться на маленьких экранах.
5. Элементом, с которым пользователь взаимодействует для отображения подсказки, может быть иконка без подписи. В этом случае не всегда бывает понятно, как указать на этот элемент при голосовом взаимодействии с интерфейсом. «Нажми на колокол, нажми на уведомления…»
6. Отображение подсказки при наведении курсора — не самый удобный способ взаимодействия: курсора нет на тачскринах, ховер может быть отключен, сложно прицелиться, пользователь может навести курсор случайно, нельзя взаимодействовать с текстом подсказки (например, скопировать).

Решения:
1. Переделайте дизайн. Если для работы с интерфейсом пользователю нужны подсказки, это плохой интерфейс.
2. Подпишите иконки или замените их на текстовые ссылки.
3. Сделайте важные пояснения видимыми по умолчанию.
4. Для подсказок используйте inline toggle, который активируется кликом и не скрывает содержимое с элементами управления.

https://ux.pub/problemy-s-podskazkami-tooltips-kak-ih-razreshit/

У меня получалось быть молодым фрилансером. Как быть старым фрилансером?

У меня получалось быть молодым фрилансером. Как быть старым фрилансером?

Молодой фрилансер постоянно фигачит, учится, весь такой на подрыве.

Я всегда думал, что взросление обязательно связано с переключением в роль управленца — стать арт-директором или CTO, растить команду, учить, брать больше ответственности. «Солдат, что не мечтает стать генералом» казался мне неправильным. Ребят, которые попробовали руководить и откатились до исполнителей, я считал слабаками и дауншифтерами.

Но теперь я думаю, что это необязательно именно так. Ну то есть да, кто-то действительно тупо не затаскивает, но есть и другая штука.

Есть эффективность-продуктивность, а есть удовольствие от работы. Эти две ценности иногда конфликтуют. Не всегда — тут от человека зависит, от того, в каком личном мифе он живёт, какую он себе про себя рассказывает историю. Иногда продуктивность и удовольствие связываются в комплекс, но иногда нет.

Потому что для продуктивности надо постоянно себя мониторить: то ли я вообще делаю? не пора ли это уже бросать и делать другое? я кого-то сейчас блокирую? я по джипегу или закопался в деталях? Надо постоянно удерживать фокус на чём-то, что ты там себе надумал.

А удовольствие от работы — это когда ты в потоке. Это когда сииидишь себе и делаешь штукенцию. И так её повернёшь, и эдак, и никто тебя не трогает, и не спрашивает, сколько процентов уже готово, и главное ты сам у себя это не спрашиваешь. Ты просто знаешь, кому она нужна и зачем, и ты её делаешь как-то, как ты сам хочешь.

И вот мне кажется, что «быть старым фрилансером» — это иметь возможность работать в потоке. Конечно, старый фрилансер умеет делать и всё остальное. Если надо, он встрепенётся, спроектирует, декомпозирует, раздаст всем по хорошему совету, разрулит конфликт. Но у старого фрилансера есть возможность ничего этого не делать и личное время для медленной работы в удовольствие.

Не знаю, об этом ли ты спрашивал — я как-то на себя больше спроецировал, ну и ладно.

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

Ко мне уже несколько раз приходили на собес UX-дизайнеры, которые работают в Сбербанке.
История всегда одна и та же.

Как происходит с ними диалог:
— А почему хочешь сменить место работы?
— Ну я вот уже 3 года работаю в Сбербанке. Но сделал всего несколько изменений, пару дашбордов. До прода это так и не дошло. Но в целом, делать там нечего и я не развиваюсь. Хочется чего-то динамичного, чтоб развиваться и расти, чтоб проекты доходили до пользователя.
— У нас как раз динамично: сроки, дедлайны, каждые 3 месяца новый проект с дизайн-концепцией. А что ты умеешь? Что было самым сложным, что ты проектировал?
— Ну я сам ничего не проектировал, доделывал и переделывал отдельные разделы и страницы. Добавлял кнопки, поля.
— Ок, а как к приходили задача, в каком виде?
— Есть менеджер, он приходит, озвучивает задачу и вместе придумываем как это сделать, у него уже есть видение как должно быть.
— Что знаешь про типографику, подбор шрифтов, цвета?
— В этом не было опыта, работал с готовыми элементами.
— А сам делал дизайн-концепцию UI кит? Может на фрилансе?
— Нет, ничего такого не делал.
— Что знаешь о том, как писать тексты в интерфейсе?
— Да я специально ничего не изучал, как кажется правильным, как везде пишут, так и пишу.
— Какие курсы проходит по дизайну?
— Не проходит, у меня нормальный уровень, я синьор-дизайнер.
— Поняла, а какую хочешь ЗП?
— Меньше текущего не готов падать — это 200К/мес на руки.
— Когда выйти готов?
— Я даже не знаю, меня в принципе сейчас всё устраивает, там проектики какие-то идут, я могу 2 часа с утра уделять своим задачам, есть бонусы, и жёстких сроков как у вас нет.
— Ага, у нас надо работать и быстро расти.

Вот что получается?
Человек получает 200К, поэтому считает себя синьором. Не из-за скилов, а чисто из-за ЗП, которую ему дали и должности, которую прописали. Скилов почти нет. Поэтому и не развивается, он же синьор, хули? Куда дальше стремиться…

Чтоб получить что-то выше на рынке, надо сделать невообразимо сильный скачок, вложить 2-3 года хорошего(жесткого) опыта, а денег будет не сильно больше.
Потому что сейчас его скилы на рынке стоят не больше 90К — ну не умеет он ничего. На рынке ему никто не даст больше, а значит надо сильно падать, а потом долго расти даже до текущих 200К.
Зачем куда-то дёргаться, если сейчас он уже их получает?

Apple придумал опционы и срок работы, не отработав который, нельзя получить опцион.
Сбербанк придумал ЗП в 2 раза выше рынка, чтоб люди не могли выйти в рынок чисто психологически 🙂