aminopyridin

14 июня 2021

# Понедельник 59 твитов

Привет! На этой неделе jsunderhood переходит в управление мне (@aminopyridin). Давайте знакомиться!

7:59

Меня зовут Вероника Самохина.
Я работаю фронтендером в Контуре
Последние несколько лет преподаю фронтенд всем, до… twitter.com/i/web/status/1…

7:59

Занимаюсь стажировками
Руковожу кластером из 11 фронтендеров (целеполагание там и прочие штуки)
Занимаюсь формулиро… twitter.com/i/web/status/1…

7:59

⇒ я часто общаюсь с людьми и они мне что-то рассказывают. Поэтому у меня накопилось много историй, которыми я плани… twitter.com/i/web/status/1…

7:59

Про что поговорим на неделе:

8:10

Примерно так, распределено будет примерно по теме в день, но ничего не могу обещать, вдохновение может решить все перекроить)

8:10

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

9:39

  • Преподаватель знает слишком много вариантов ответа.
    И вот такая история: спрашивает студент, прочитавший дома те… twitter.com/i/web/status/1…
  • 9:39

    Преподаватель, знакомый с многообразием мира, рассказывает, что есть команды, в которых всюду let пишут; есть те, в… twitter.com/i/web/status/1…

    9:39

    В обратной связи после урока студент напишет «так и не понял, как переменную объявлять».

    9:39

    Вывод из истории такой: обучая новичков в какой-то теме, нужно рассказывать им ровно один способ делать что-то до т… twitter.com/i/web/status/1…

    9:39

    Но нужно понимать, что это совет для новичков в какой-то теме. Когда к тебе приходит проконсультироваться опытный к… twitter.com/i/web/status/1…

    9:39

  • Из лекции слушатель запоминает далеко не 100%
    В какой-то из книг я встречала упоминание об исследовании, в котор… twitter.com/i/web/status/1…
  • 9:39

    Так как само исследование я сейчас найти не смогла, то будем считать, что просто «далеко не все» запоминают.
    И это… twitter.com/i/web/status/1…

    9:39

  • «Проклятие знания»
    У всех нас есть когнитивное искажение, касающееся того, какие вещи являются очевидными, а как… twitter.com/i/web/status/1…
  • 9:39

    Навык, который нужен любому ментору, наставнику, преподавателю — постоянно спрашивать, понимают ли те, кому ты расс… twitter.com/i/web/status/1…

    9:39

    Напишу позже тред о таких вещах, которые мне казались очевидными, но они оказались неочевидными для среднестатистич… twitter.com/i/web/status/1…

    9:39

    Тредик о том, что не знает типичная аудитория мидлов-фронтендеров, которой я преподаю.

    Каждый приходящий в Контур… twitter.com/i/web/status/1…

    11:31

  • Значение слова «реактивность»
    Когда я рассказываю про Реакт опытной аудитории, рано или поздно заходит разговор… twitter.com/i/web/status/1…
  • 11:31

    — Хорошо, а давайте вспомним про реактивность из других отраслей. Ну, вот реактивное движение, например, это про чт… twitter.com/i/web/status/1…

    11:31

    А вот в психологии говорят про проактивное и реактивное поведение. Это про что?
    — Ну, хорошие и плохие.
    Какие-то та… twitter.com/i/web/status/1…

    11:31

  • «Чистая функция»
    Тут фронтендеры радуют по сравнению с сишарперами — среднестатистический мидл-фронтендер слышал… twitter.com/i/web/status/1…
  • 11:31

    Чистой функцией что только не называют:

    11:31

  • expressions and statements
    В объяснении Реакта для начинающих есть необходимость объяснить одну, простую для опы… twitter.com/i/web/status/1…
  • 11:31

    Когда я только начинала проводить обучение по Реакту, я говорила что-то вроде «в фигурных скобочках может стоять пр… twitter.com/i/web/status/1…

    11:31

    В этих ситуациях буквально в следующей же задачке кто-нибудь писал в фигурных скобочках цикл for и спрашивал, почем… twitter.com/i/web/status/1…

    11:31

    Тогда я стала явно проговаривать, что циклы for, if, switch-case, объявление переменных нельзя писать в фигурных ск… twitter.com/i/web/status/1…

    11:31

    Тогда преподавательский долг сосредоточить внимание на частой ошибке. И один из удобных способов так делать — дать… twitter.com/i/web/status/1…

    11:31

    Я начала с вопросов типа:
    — в фигурных скобках можно писать только конструкции, возвращающие значение. Давайте прид… twitter.com/i/web/status/1…

    11:31

    Тогда я подумала «да, к черту, буду спрашивать правильно, а не попроще».
    — в фигурных скобках можно размещать тольк… twitter.com/i/web/status/1…

    11:31

    Так оказалось, что мидлы-фронтендеры обычно не знают, что такое expression и statement. Но после подробного разбора… twitter.com/i/web/status/1…

    11:31

    Для полного катарсиса еще можно рассказать про if-expression в Kotlin.

    Вот такие три темы не знает средняя аудитор… twitter.com/i/web/status/1…

    11:31

    Время опросов. Четыре вопроса в тредике. Хочу понять про вас все)

    11:38

    Знаешь ли ты термин «реактивность»?

    11:38

    Знаешь ли ты термин «чистая функция»?

    11:38

    Знаешь ли ты термины statement и expression?

    11:38

    Сколько лет опыта в программировании у тебя?

    11:38
    @jsunderhood Ну тут вопрос скорее к вашим рекрутерам и собеседующим, которые набирают таких "мидлов". Либо же у вас… twitter.com/i/web/status/1…

    Про грейды я напишу еще на неделе, в общем про мидла так: он должен уметь делать типичные задачи так, чтобы не нужн… twitter.com/i/web/status/1…

    @jsunderhood Ну тут вопрос скорее к вашим рекрутерам и собеседующим, которые набирают таких "мидлов". Либо же у вас… twitter.com/i/web/status/1…

    14:42

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

    А всяко… twitter.com/i/web/status/1…

    14:42

    Развлекательный тред: какие темы из Реакта ломают мозг неподготовленным сишарперам.

    Иногда учиться Реакту заходят… twitter.com/i/web/status/1…

    15:08

  • Использование логических операторов в качестве ветвления (как на картинке).
  • 15:08

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

    15:08

  • использование логического выражения вне «логического контекста» — тут нет конструкции if или for, в которых привы… twitter.com/i/web/status/1…
  • 15:08

    И как раз последнее — самое сложное. Потому что любому очевидно, что логический оператор должен работать с булевыми… twitter.com/i/web/status/1…

    15:08

    Но в JS логические операторы ведут себя странно — значение приводят, делают выводы, а возвращают значение в неприве… twitter.com/i/web/status/1…

    15:08

    Кстати, добить аудиторию можно вопросом к коду с картинки выше, «что будет, если забыть написать > 0, а массив буде… twitter.com/i/web/status/1…

    15:08

  • Асинхронность в JS.
    Когда я рассказываю, например, что setState — асинхронный метод, а значит, строчкой ниже еще… twitter.com/i/web/status/1…
  • 15:08

  • Debounce and Throttling.
    Есть один учебный блок, в котором помимо прочего я рассказываю о хороших манерах при ра… twitter.com/i/web/status/1…
  • 15:08

    Опрос перед тем, как продолжать: знаешь ли ты такие термины, как debounce и throttling?

    15:08

    Стандартно, фронтендеры чаще знают про debounce, а бэкендеры — про throttling. Причем бэкендеры, говоря про тротлин… twitter.com/i/web/status/1…

    15:08

  • HTML+CSS — язык программирования?!
    У многих разработчиков есть некоторое пренебрежение к верстке и периодически… twitter.com/i/web/status/1…
  • 15:08

    Тогда я этим шутникам рассказываю, что после выхода HTML5 и CSS3 связка из HTML+CSS стала Тьюринг-полным языком про… twitter.com/i/web/status/1…

    15:08

    Если вы сами пришли в мир JS после других языков, расскажите, что вам кажется или казалось странным/непривычным/неудобным в JS или TS?

    15:08
    @jsunderhood а теперь было бы интересно узнать, что эта аудитория знает

    Тут же как: их знания мне проверить сложнее, чем незнания. Поэтому не знают мои аудитории одинаково, а знают по раз… twitter.com/i/web/status/1…

    @jsunderhood а теперь было бы интересно узнать, что эта аудитория знает

    15:15

    Бывают крутые ребята из других, незнакомых мне языков, которые рассказывают «а как у них»;
    Бывают те, кто глубоко… twitter.com/i/web/status/1…

    15:15

    Лучшее, что может быть в жизни преподавателя — умная аудитория. Можно у них научиться чему-то крутому.

    15:15

    Но чему может быть равен this в js не знают одинаково все =)

    15:15
  • Использование логических операторов в качестве ветвления (как на картинке).
  • История к картинке из этого твита:
    Преподавала Реакт тестировщикам. Обсуждаем, что если не написать явно > 0, то пр… twitter.com/i/web/status/1…

    1. Использование логических операторов в качестве ветвления (как на картинке).

    Если с тем, что HTML можно писать в… twitter.com/i/web/status/1…

    15:41

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

    15:41

    # Вторник 67 твитов

    @jsunderhood Стоп, но ведь Реакт не реактивный?

    Меня тут логично поправляют, что Реакт не реактивный. Я поняла, что действительно «реактивность» Реакта, (которая «… twitter.com/i/web/status/1…

    @jsunderhood Стоп, но ведь Реакт не реактивный?

    7:07

    Исправляюсь: реактивное программирование на Реакте будет, если вы подключите RxJS =)

    7:07
    Тредик о том, что не знает типичная аудитория мидлов-фронтендеров, которой я преподаю.

    Каждый приходящий в Контур… twitter.com/i/web/status/1…

    Сегодня продолжу про всякое разное преподавание рассказывать, в частности, про сложные темы: архитектуру и чистый к… twitter.com/i/web/status/1…

    Тредик о том, что не знает типичная аудитория мидлов-фронтендеров, которой я преподаю.

    Каждый приходящий в Контур… twitter.com/i/web/status/1…

    7:11
    Развлекательный тред: какие темы из Реакта ломают мозг неподготовленным сишарперам.

    Иногда учиться Реакту заходят… twitter.com/i/web/status/1…

    — про сишарперов, изучающих фронтенд

    Развлекательный тред: какие темы из Реакта ломают мозг неподготовленным сишарперам.

    Иногда учиться Реакту заходят… twitter.com/i/web/status/1…

    7:11
    @jsunderhood Меня давно беспокоит такой вопрос: является ли чистой функция на приложенной картинке? pic.twitter.com/CGe0M832Vn

    Я бы сказала, что в js — нет. Просто потому, что множество возвращаемых значений неограничено. Для чистой функции н… twitter.com/i/web/status/1…

    @jsunderhood Меня давно беспокоит такой вопрос: является ли чистой функция на приложенной картинке? pic.twitter.com/CGe0M832Vn

    8:09

    Второго пункта тут не выполняется, потому что нельзя предсказать результат и сравнить с предыдущим.

    Но, возможно, я ошибаюсь =)

    8:09

    Пока я пишу большой тред про архитектуру, отклонюсь немного в сторону — мини тред про незнание фундаментальных терм… twitter.com/i/web/status/1…

    9:21

    Отвечу на это — мне бы тоже хотелось, чтобы все люди вокруг меня разбирались лучше в базовых терминах, чтобы у них… twitter.com/i/web/status/1…

    9:21

    Когда я только начала заниматься переделыванием процесса найма, я хотела пользоваться первым — «давайте не будем на… twitter.com/i/web/status/1…

    9:21

    К счастью, мне не дали это сделать, а просто выдали второй инструмент — теперь я могу всех нанятых людей на входе у… twitter.com/i/web/status/1…

    9:21

    А не нанимать людей, которые могут работать работу, но не учились в университете и поэтому не в курсе, что такое np… twitter.com/i/web/status/1…

    9:21

    Про учебный курс по архитектуре фронтенда.
    Лет 5 назад, когда я только начала задумываться о том, что такое архитек… twitter.com/i/web/status/1…

    10:58

    Так, года 4 назад я собрала самых крутых фронтендеров компании (удивительно, но все самые крутые фронтендеры в Конт… twitter.com/i/web/status/1…

    10:58

    Мне ответили в духе:
    — Какая архитектура? Нет никакой архитектуры!
    (а я видела решения, которые были приняты ребята… twitter.com/i/web/status/1…

    10:58

    В общем, ушла я со встречи с пониманием, что коллеги, которые умеют проектировать хорошую архитектуру, не могут это… twitter.com/i/web/status/1…

    10:58

    Так как идея создать семестровый курс по архитектуре фронта для старших курсов университета меня не отпускала, я на… twitter.com/i/web/status/1…

    10:58

    Курс в итоге сделан пока частично — только про Реакт и только на два занятия по 3 часа, вместо семестра (и испытан… twitter.com/i/web/status/1…

    10:58

  • Хотя проектирование архитектуры приложения начинается сверху вниз (от глобальных решений, к более частным) и ост… twitter.com/i/web/status/1…
  • 10:58

    И начинать как раз с умения спроектировать интерфейс функции или компонента (если речь про визуальные составляющие).

    10:58

  • Вообще архитектура — это про элементы системы и связи между ними.
    Это если кратко. Если полнее, то она в себя е… twitter.com/i/web/status/1…
  • 10:58

    Наверное, это очевидно, но для меня было откровением: хорошая архитектура — это та, которая удовлетворяет требовани… twitter.com/i/web/status/1…

    10:58

  • Самый низкий уровень проектирования — функции и компоненты — полностью покрывается правилами «чистого кода» (про… twitter.com/i/web/status/1…
  • 10:58

  • После беглого чтения несокльких разных ресурсов, я пришла к простой картине мира:
    — нижний уровень архитектуры —… twitter.com/i/web/status/1…
  • 10:58

    Как всегда, реальность не укладывается в простые модели...
    Оффтопик:
    Когда я поймала одного из крутых коллег, закры… twitter.com/i/web/status/1…

    10:58

    И я задумалась, что и вправду, когда говорю про фронтенд, последние годы имею в виду SPA на React. Хотя, вообще-то… twitter.com/i/web/status/1…

    10:58

  • Уровни выше компонентного, они про поток данных и манипуляции над ним.
    Данные, если говорить про все приложение,… twitter.com/i/web/status/1…
  • 10:58

    «Поток данных это про flux-архитектуру, которая заменила неподходящий MVC, а еще там были MVP, MVVM (на котором анг… twitter.com/i/web/status/1…

    10:58

    Да, когда Фейсбук показали flux-архитектуру, они действительно ее противопоставляли MVC.
    Но оказывается, что, хотя… twitter.com/i/web/status/1…

    10:58

    В конце будут ссылки, в том числе с следованием о том, что flux — это тоже MVC =)

    10:58

  • Для описания бизнесового состояния полезно попробовать применить подход DDD (domain-driven design).
    Тут я прове… twitter.com/i/web/status/1…
  • 10:58

    Пользу архитектурную пока сложно оценить — пока еще не приходилось в этой части ничего менять. Но однозначно ребята… twitter.com/i/web/status/1…

    10:58

    и в целом сам факт проектирования (и дизайн-ревью) до того, как кидаться писать код благотворно влияет на скорость… twitter.com/i/web/status/1…

    10:58

  • Внезапно, хороший инструмент проектирования есть у тестировщиков — «Диаграмма переходов состояний». Он в чем-то… twitter.com/i/web/status/1…
  • 10:58

    Хватит озарений, рекомендации:

    10:58

  • medium.com/front-end-in-r… — цикл статей, из которых мне больше всего нравится эта =)
    Но если захотите, прочитает… twitter.com/i/web/status/1…
  • 10:58

  • blog.webf.zone/contemporary-f… — хороший лонгрид про историю. Если хотели разобраться, зачем MVC заменился на MVVM и чт… twitter.com/i/web/status/1…
  • 10:58

    Про кругозор.
    В процессе одной из итераций работы над грейдами, мы экспериментально добавили такой критерий как «с… twitter.com/i/web/status/1…

    12:24

    От джуна мы хотели, чтобы он был в курсе происходящего: как минимум следил бы за новостями его стека или смотрел ка… twitter.com/i/web/status/1…

    12:24

    От мидла хотели, чтобы он как минимум знал, где у него нехватает компетенций и закрывал дыры, а как максимум, проак… twitter.com/i/web/status/1…

    12:24

    Но эксперимент признан скорее неудачным. Нам написали кучу негатива менеджеры. Негатив был двух сортов:

    12:24

    Это происходит потому что есть удивительно много людей, которым «норм». Они что-то делают, задачи закрывают, обычно… twitter.com/i/web/status/1…

    12:24

    То на проактивность руководители никак влиять не могут. Вот и получается, что они растят человека, ставя его в подх… twitter.com/i/web/status/1…

    12:24

    Что делать с этим пока не знаем, будем пробовать как-то менять критерий.
    А иначе получаются грустные истории:
    Есть… twitter.com/i/web/status/1…

    12:24

    — ну, вот чего им не сидится спокойно, ведь уже есть же для всего решения! Нет, придумывают...
    Раздражает его все… twitter.com/i/web/status/1…

    12:24

    Для этого пошли с этим потенциальным техлидом поговорить другие техлиды, чтобы понять что-то про него — он же один… twitter.com/i/web/status/1…

    12:24

    И у тебя везде используется одинаковый стек Реакт, редакс и TS. Почему такой выбор?
    Он им отвечает:
    — В смысле? это… twitter.com/i/web/status/1…

    12:24

    Попробовали позадавать ему этот вопрос по-разному, и стало понятно, что как он выучил один подход, так другие никог… twitter.com/i/web/status/1…

    12:24

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

    Эта история, кстати, о… twitter.com/i/web/status/1…

    12:24
    Так, давайте уже определимся что такое реактивность, хотя бы в твитnере.
    ->

    Исправляюсь: реактивное программирование на Реакте будет, если вы подключите RxJS =)

    12:55

    Про чистый код.
    Все еще о преподавании, а не о реальном мире, тут я часто работаю героем анекдота.
    Встречаются два… twitter.com/i/web/status/1…

    14:32

    Кстати, про реальный мир. Всем приходящим к нам в компанию джунов и мидлов мы проводим, среди прочего, учебный блок… twitter.com/i/web/status/1…

    14:32

    — Представь, вот мы всех их учили и они пишут... всякое. А что было бы, если бы не учили?..

    14:32

    Понятно, что методологии в чистом виде и любые правила разбиваются о многогранность реальности, но все еще лучше ст… twitter.com/i/web/status/1…

    14:32

    Занимательные опросы, 2 штуки.

    14:32

    2. Есть ли у тебя коллеги, которым нужно научиться писать более «чистый» код?

    14:32

    Я запускала эти же опросы во флудилке фронтендеров Контура. И один из коллег, очень опытных и крутых написал в отве… twitter.com/i/web/status/1…

    14:32

    И это логичное опасение. Еще вчера я писала, что запоминаем мы из хорошей лекции далеко не 100% (возможно, порядка… twitter.com/i/web/status/1…

    14:32

    Если через год, например, просмотреть, прочитать тот же материал еще раз, то узнаешь много нового. Я, например, так… twitter.com/i/web/status/1…

    14:32

    То есть, есть большая вероятность, что ты когда-то давно прочитал/посмотрел что-то про чистый код, запомнил оттуда… twitter.com/i/web/status/1…

    14:32

    Кроме того, что после прочтения однократного запоминается не все, против такого обучения идет еще ощущение «мне это… twitter.com/i/web/status/1…

    14:32

    Итак:

    14:32

    У нашего учебного блока Чистого кода используется несколько приемов, которые стараются сломать предвзятость учащихс… twitter.com/i/web/status/1…

    14:32

  • Мы не учим правилам нейминга и расстановки комментариев — это скучно. Поэтому дома все изучают тему SRP (single… twitter.com/i/web/status/1…
  • 14:32

    Еще один полезный в обучении чистому коду подход: предложить решить какую-нибудь задачу, дать код решения другому ч… twitter.com/i/web/status/1…

    14:32

    Порекомендую чего поизучать, если есть желание:

    14:32

    Кстати, когда на собеседовании на стажировку мы спрашиваем студентов «Что такое, по-твоему, чистый код?», почти все… twitter.com/i/web/status/1…

    14:32

    И хотя, в универе при приеме работ мы заставляем убирать бесполезные комментарии, по моему опыту обучения совсем на… twitter.com/i/web/status/1…

    14:32

    # Среда 27 твитов

    Сегодня будет тема грейдов, но позже. Пока я занята подготовкой к предстоящей конференции — приобретением нового ок… twitter.com/i/web/status/1…

    8:12

    Новый цвет приобретён, теперь поеду писать для вас новые треды =) pic.twitter.com/496BSqXUj7

    10:51

    Обману всех и не буду рассказывать сегодня про грейды, расскажу про то, чему учиться, когда ты уже не джун и как се… twitter.com/i/web/status/1…

    13:23

    Когда разработчик вырастает из джуна, случается часто проблема — есть ощущение белых пятен в каких-то темах, но еще… twitter.com/i/web/status/1…

    13:23

    1 тип: те, кто в джуниорстве успешно обучались на курсах, вроде «фронтенд для начинающих», чувствуя, что им надо по… twitter.com/i/web/status/1…

    13:23

    От такой скуки может даже возникнуть ощущение «да, я уже все знаю...» и оно очень опасно, потому что приятно и не х… twitter.com/i/web/status/1…

    13:23

    2 тип: люди, которые «учатся в твиттере» — это условное название. Это когда ты встречая неизвестное слово, спрашива… twitter.com/i/web/status/1…

    13:23

    Нужно понимать, что твиттер и конференции — это история про вдохновить и заинтересовать, но никак не про учиться.… twitter.com/i/web/status/1…

    13:23

    3 тип: люди, бесконечно углубляющиеся в какую-то одну тему. Когда нападает экзистенциальная пустота от ощущения, чт… twitter.com/i/web/status/1…

    13:23

    У меня есть недавняя история про это: одни разработчик очень полюбил REST API: после прохождения первого курса про… twitter.com/i/web/status/1…

    13:23

    4 тип: «блин, надо чего-нибудь подучить, но не знаю чего. О, нашел рандомное слово, которое звучит круто, выучу его… twitter.com/i/web/status/1…

    13:23

    Если спросить «а зачем», то ответит что-то невразумительное, что переводится как «я искал какие-нибудь штуки которы… twitter.com/i/web/status/1…

    13:23

    5 тип: «Я уже 1,5 года изучаю JS, курсы “JS за 21 день” уже не приносят ничего нового. Кажется, тут я все знаю... Н… twitter.com/i/web/status/1…

    13:23

    Это были не самые лучшие варианты попыток учиться, которые я встречала.
    Понятно, что есть и хорошие, и хорошие вст… twitter.com/i/web/status/1…

    13:23

    Про отношение к новым стекам.
    Когда у меня случается разговор о том, что «чет мне скучно, выучить новый язык, что л… twitter.com/i/web/status/1…

    14:13

    Ситуация 1, самая простая: ты выбрал стек, начал в нем работать и понял, что тебя бесят задачи, которые есть в этом… twitter.com/i/web/status/1…

    14:13

    Или наоборот, ты выбрал фронтенд или мобилку, а от наведения красоты тебя тошнит.
    Тут все просто, бросай это как м… twitter.com/i/web/status/1…

    14:13

    Ситуация 2, посложнее: у тебя в команде появился новый стек и тебе очень хочется его попробовать или резкая необход… twitter.com/i/web/status/1…

    14:13

    Тут можно так делать, если новый стек интересен тебе с целью перехода на него или если у тебя больше трех лет опыта… twitter.com/i/web/status/1…

    14:13

    Ситуация 3: твой текущий язык — не первый, на котором ты работаешь. В этой ситуации ты и сам взрослый и самостоятел… twitter.com/i/web/status/1…

    14:13

    Общее правило, которым я руководствуюсь: если у моего собеседника текущий язык программирования — первый на котором… twitter.com/i/web/status/1…

    14:13

    У меня есть история университетсяких времен (я, кстати, на химика училась):
    я не знала одинаково хорошо все языки п… twitter.com/i/web/status/1…

    14:13

    Похожая история и у моих студентов: они в университете изучают несколько языков, так, что немножко запоминают возвы… twitter.com/i/web/status/1…

    14:13

    Так вот, эмпирическое правило из наблюдений родилось такое: если у тебя есть хотя бы три года опыта в одном языке,… twitter.com/i/web/status/1…

    14:13

    А если вы хотите порасширять кругозор в языках программирования, то я сплагиачу советы от @_bravit:

    14:13

  • Книжка «Exercises in Programming Style» (amazon.com/Exercises-Prog… тут про русскую версию ничего не знаю, не пытал… twitter.com/i/web/status/1…
  • 14:13

  • Участвуйте в контестах, чтобы попробовать новые ЯП. Про контесты расскажу подробнее в следующие дни, но уже сейч… twitter.com/i/web/status/1…
  • 14:13

    # Четверг 31 твит

    Обману всех и не буду рассказывать сегодня про грейды, расскажу про то, чему учиться, когда ты уже не джун и как се… twitter.com/i/web/status/1…

    Итак, сегодня продолжу что-то про рост рассказывать, а тем временем «в предыдущих сериях»:
    twitter.com/jsunderhood/st…twitter.com/i/web/status/1…

    Обману всех и не буду рассказывать сегодня про грейды, расскажу про то, чему учиться, когда ты уже не джун и как се… twitter.com/i/web/status/1…

    7:29
    Про учебный курс по архитектуре фронтенда.
    Лет 5 назад, когда я только начала задумываться о том, что такое архитек… twitter.com/i/web/status/1…

    Холивар про реактивность: twitter.com/artalar_dev/st… и twitter.com/jsunderhood/st…

    Холивар про чистые функции… twitter.com/i/web/status/1…

    Про учебный курс по архитектуре фронтенда.
    Лет 5 назад, когда я только начала задумываться о том, что такое архитек… twitter.com/i/web/status/1…

    7:29
    Пока я пишу большой тред про архитектуру, отклонюсь немного в сторону — мини тред про незнание фундаментальных терм… twitter.com/i/web/status/1…

    В вопросе о том, что должны уметь разработчики, ни в частности, фронтендеры, раньше у меня был однозначный ответ —… twitter.com/i/web/status/1…

    Пока я пишу большой тред про архитектуру, отклонюсь немного в сторону — мини тред про незнание фундаментальных терм… twitter.com/i/web/status/1…

    8:51

    Это было удобно — руководствоваться пониманием, что я, как хороший фронтендер, должна знать все — и дизайн, и менед… twitter.com/i/web/status/1…

    8:51

    А потом от моих решений стали зависеть другие люди и все перестало быть так однозначно =)
    Выяснилось интересное...… twitter.com/i/web/status/1…

    8:51

    «КОМПАНИЯ ХОЧЕТ ЭКОНОМИТЬ ЗА МОЙ СЧЕТ! Вы намеренно хотите сделать из меня фуллстека, чтобы не нанимать бэкендеров!… twitter.com/i/web/status/1…

    8:51

    Если заявить, что сеньор бэкендер, пишущий бэк для веб-приложений, должен знать, как работает фронтенд, то потенциа… twitter.com/i/web/status/1…

    8:51

    И я удивлялась: «Как так-то? Неужели вам не интересно понять, как устроен мир? Узнать шире, чем нужно?»
    А потом пон… twitter.com/i/web/status/1…

    8:51

    И те, кому интересно поверхностно, но широко («сканеры»). И я отношусь ко вторым. И не я одна: есть много бэкендеро… twitter.com/i/web/status/1…

    8:51

    Но это не отменяет и первый тип (Барбара Шер их назвала «дайверы»): люди, которые выбрали верстку и не лезут в оста… twitter.com/i/web/status/1…

    8:51

    С тех пор вопрос о том, чему учиться оказывается не самым тривиальным. Я попробую обобщить несколько категорий, с р… twitter.com/i/web/status/1…

    8:52

  • Общетехнические вещи: рефакторинг, чтение кода, выбор подходящих инструментов.
    Это те темы, без которых сложно… twitter.com/i/web/status/1…
  • 8:52

  • Чуть более стекоспецифичные, но все еще общие вещи: безопасность, тестирование.
    Во фронте меньше полезны юнит-те… twitter.com/i/web/status/1…
  • 8:52

    Кстати, про безопасность. Фронтендеры расслабились, потому что Реакт, например, за них большинство уязвимостей закр… twitter.com/i/web/status/1…

    8:52

  • Волшебное слово «софт-скилы»: навык аргументированного спора, умение давать обратную связь, умение объяснять, на… twitter.com/i/web/status/1…
  • 8:52

    Как обычно, поделюсь ресурсами. Для умения аргументировано спорить мне нравится курс «Научное мышление»… twitter.com/i/web/status/1…

    8:52

    А еще есть много всякого со звездочкой: навык публичных выступлений, умение писать тексты, умение говорить на менед… twitter.com/i/web/status/1…

    8:52

    Про умение писать тексты
    Я когда-то давно купила «Пиши, сокращай» @perepisal и постаралась научиться писать тексты… twitter.com/i/web/status/1…

    8:52

    Но после «Пиши, сокращай» вышла более профильная книжка — «Новые правила деловой переписки» (… twitter.com/i/web/status/1…

    8:52

    Про умение говорить на менеджерском: когда-то давно, года 4 назад, была распродажа всех курсов @stratoplan и это лу… twitter.com/i/web/status/1…

    8:52

    А мотивации к обучению могу прибавить отличным докладом Вадима Макишвили «36» youtu.be/xPPCzryZK44 — если не смотрели, то очень зря

    8:52

    Пока еду домой, расскажу несколько рандомных историй, которые мне сейчас вспомнились с разными моралями.

    История… twitter.com/i/web/status/1…

    15:41

    И вот в качестве статьи поиска по DOM даем ребятам статью learn.javascript.ru/searching-elem… Там есть раздел о том, что «Все м… twitter.com/i/web/status/1…

    15:41

    Через полгода приходит ко мне стажер, пишет код, который ищет все textarea в документе и вызывает с контентом от te… twitter.com/i/web/status/1…

    15:41

    Зовет меня пожаловаться, что все сломалось, ошибок в консоли нет, на странице ничего не рисуется, что делать?!
    Оказ… twitter.com/i/web/status/1…

    15:41

    История 2, которую мне рассказала одна менеджер разработки.

    Был у нее подчиненный разработчик, который плохо рабо… twitter.com/i/web/status/1…

    15:41

    И когда эта юная менеджер стала разбираться, что происходит, оказалось, что человек был уверен, что от него ждут ка… twitter.com/i/web/status/1…

    15:41

    Он это понял из-за традиции оценки задач — считал, что раз задачи надо оценить, значит их надо как можно быстрее де… twitter.com/i/web/status/1…

    15:41

    Поэтому я для своих ребят из кластера всегда с менеджерами проговариваю, что предсказуемость важнее скорости. Скоро… twitter.com/i/web/status/1…

    15:41

    Что такое кластер. Так как у нас продуктовая разработка, то команды укомплектованы разработчиками всех ролей. И в т… twitter.com/i/web/status/1…

    15:41
    А для этого нужен кругозор, расширение которого исключительно в руках самих разработчиков.

    Эта история, кстати, о… twitter.com/i/web/status/1…

    Я приехала, поэтому остановлюсь на двух историях. Если хотите больше, то у меня есть пара докладов с историями:… twitter.com/i/web/status/1…

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

    Эта история, кстати, о… twitter.com/i/web/status/1…

    15:41

    # Пятница 50 твитов

    @jsunderhood Могли бы чуточку раскрыть тему? В моей голове попытка выделить бизнес логику и отделить ее от архитект… twitter.com/i/web/status/1…

    DDD предлагает описывать только бизнес-процесс, ну, например, вот есть какая-нибудь заявка, она может быть сначала… twitter.com/i/web/status/1…

    @jsunderhood Могли бы чуточку раскрыть тему? В моей голове попытка выделить бизнес логику и отделить ее от архитект… twitter.com/i/web/status/1…

    6:49

    Этот процесс не изменится вне зависимости от фреймворка и прочих инструментов.

    Описать его заранее поможет понять… twitter.com/i/web/status/1…

    6:49

    Кстати, есть метрика состояния: количество бизнес данных / количество визуальных данных. Чем выше по дереву разметк… twitter.com/i/web/status/1…

    6:49

    Пятничный тред про соревнования.
    В школе и университете (я на химика училась) я активно участвовала в разных олимп… twitter.com/i/web/status/1…

    7:58

    Сейчас, оглядываясь назад, понятно, почему: когда очень не уверен в своих знаниях, нет причины идти и публично подт… twitter.com/i/web/status/1…

    7:58

    Сначала я стала организовывать мероприятия для любителей попрограммировать соревновательно. Первым таким мероприяти… twitter.com/i/web/status/1…

    7:58

    Смысл код-ретрита такой: несколько сессий по 45 минут, в каждой сессии:

    7:58

    После первой сессии, в которой единственная цель — реализовать игру Жизнь, каждая следующая сессия предлагает разны… twitter.com/i/web/status/1…

    7:58

    А еще бывают усложнения, например, в виде тороидального поля или времени жизни у клеток, после которого они точно у… twitter.com/i/web/status/1…

    7:58

    Как видите, первый опыт организации соревнований был ни разу не соревновательным =)

    Следующим был внутренний хака… twitter.com/i/web/status/1…

    7:58

    Первая движуха, к которой я присоединилась, был adventofcode.com
    Вот уже 6 лет каждый день с 1 до 25 декабр… twitter.com/i/web/status/1…

    7:58

    Очень люблю эту активность за то, что:

    7:58

    После нескольких лет участия, я решила сделать активность более масштабной: мы решили сделать 25 дней видеоразборов… twitter.com/i/web/status/1…

    7:58

    Следующее соревнование, в которое я включилась — codingame.com
    У них, кроме задачек на разные темы для… twitter.com/i/web/status/1…

    7:58

    За что я люблю соревнования CodinGame:

    7:58

    И самым топовым соревнованием для меня оказался ICFPC.

    7:58

    Тут твиттер решил не показывать вам ссылки) Сейчас восстановлю посты

    7:59

    В 2019 году я напросилась в команду к коллегам, провела прекрасно время, описала тут этот интересный опыт:… twitter.com/i/web/status/1…

    8:16

    Всю статью с хабра пересказывать не буду, но любимым видио поделюсь:
    youtu.be/EjL-5EuQeCU

    Это было вводное виде… twitter.com/i/web/status/1…

    8:16
    Sharpen your lambdas, pop your stacks and polish your registers: ICFP Contest 2021 is now less than one month away!… twitter.com/i/web/status/1…

    Ну, а следующий ICFPC совсем скоро — 9-13 июля!
    Собирай команду и присоединяйся к веселью!

    Sharpen your lambdas, pop your stacks and polish your registers: ICFP Contest 2021 is now less than one month away!… twitter.com/i/web/status/1…

    8:16

    А вообще, мы много соревнуемся сами и устраиваем соревнования другим, если хочешь об этом узнавать, то мы пишем ано… twitter.com/i/web/status/1…

    8:16

    Рассказала, в каких соревновательных штуках я участвовала, теперь расскажу про пользу, которую я вижу в участии в них.

    8:33

    Самое главное — «коммьюнити». У всех таких движух есть чатики, обсуждения... Если вовлекать в такие активности колл… twitter.com/i/web/status/1…

    8:33

    От обсуждения умными словами умных вещей происходит перекрестное переопыление умными мыслями в сообществе.

    Вторая… twitter.com/i/web/status/1…

    8:33

    Третья польза — изучение новых языков или подходов на задачах, которые не жалко. В работе сложнее браться за новые… twitter.com/i/web/status/1…

    8:33

    Но больше всего пользы я получаю как организатор таких активностей.
    Самые интересные вещи я выучила, пока делала к… twitter.com/i/web/status/1…

    8:33

    Если у вас чешутся руки в чем-нибудь поучаствовать, то присоединяйтесь к ICFPC 2021, а если хотите сами провести чт… twitter.com/i/web/status/1…

    8:33

    Спонтанное размышление: если спросить у человека «что такое Чистый код?», то его ответ очень меняется, в зависимост… twitter.com/i/web/status/1…

    17:54

    Он на вопрос собеседующего о том, какой код можно назвать чистым, ответил, что чистый код — это такой, в котором не… twitter.com/i/web/status/1…

    17:54

    Мои студенты старших курсов уже не вспоминают про горизонтальные отступы, для них это очевидно. Студенты старших ку… twitter.com/i/web/status/1…

    17:54

    Разработчики постарше уже вспоминают SOLID, DRY, KISS и другие аббревиатуры.

    А совсем взрослых разработчиков я ка… twitter.com/i/web/status/1…

    17:54

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

    У нас для приходящих опытных р… twitter.com/i/web/status/1…

    18:17

    Я помогала ребятам выбрать команду по душе: вариантов много, выбирать тяжело.
    Для этого я спрашивала ребят о том,… twitter.com/i/web/status/1…

    18:17

    Джуны:
    — «Хочу Реакт, потому что я его пробовал и потому что он приятнее, чем просто скрипты писать»
    — «Не хочу в с… twitter.com/i/web/status/1…

    18:17

    Однажды был такой диалог:
    — Не хочу в команду, в которой легаси.
    — Почему? Есть какой-то опыт?
    — Нет, опыта нет, п… twitter.com/i/web/status/1…

    18:17

    Джуны не знают ничего о процессах, обычно, и им не важно как часто будут встречи, тет-а-теты, как задачи ставят...… twitter.com/i/web/status/1…

    18:17

    Мидлы:
    — Хочу Реакт/Ангулар и умею объяснять, почему Реакт/Ангулар — это хорошо
    — Хочу туда, где хорошо построены п… twitter.com/i/web/status/1…

    18:17

    — «Хочу делать инфраструктурные продукты, чтобы вокруг меня были мои пользователи, чтобы они могли мне в чатике баг… twitter.com/i/web/status/1…

    18:17

    — «Я хочу, чтобы моим продуктом пользовались тысячи и миллионы пользователей, чтобы чувствовать, как я приношу поль… twitter.com/i/web/status/1…

    18:17

    Наличие других фронтендеров в некоторых случаях для мидлов является критерием, в некоторых — нет.

    В целом у мидлов… twitter.com/i/web/status/1…

    18:17

    Сеньоры:
    — Вообще все равно, какие технологии
    — Смогу ли я там влиять на процессы? — ну, то есть сразу не верит в х… twitter.com/i/web/status/1…

    18:17

    В общем такие выводы:
    — Джуны боятся не разобраться и накосячить.

    — Миддлы помладше хотят попробовать новое, а пос… twitter.com/i/web/status/1…

    18:17
    @jsunderhood Хех, у меня тот случай, когда кроме легаси разного уровня старости(от совсем хренового до "не, ну жить… twitter.com/i/web/status/1…

    На курсе для менеджеров разработки о том, как разговаривать с разработчиками, мы с ними начинаем с обсуждения значе… twitter.com/i/web/status/1…

    @jsunderhood Хех, у меня тот случай, когда кроме легаси разного уровня старости(от совсем хренового до "не, ну жить… twitter.com/i/web/status/1…

    18:30

    А однажды я интервьюировала менеджеров разработки в стартапах о том, каким должен быть разработчик в стартапе. И у… twitter.com/i/web/status/1…

    18:30

    Это я к тому, что в целом все мы живем в окружении легаси, и нужно просто отрастить панцирь покрепче, чтобы оно не так расстраивало.

    18:30
    @jsunderhood у меня после этих тредов что я бенджамин баттон мира разработки, никогда не была джуном

    Я не знаю ваш случай, но в целом так часто бывает, когда люди становятся разработчиками после каких-то других специ… twitter.com/i/web/status/1…

    @jsunderhood у меня после этих тредов что я бенджамин баттон мира разработки, никогда не была джуном

    18:42

    Один интересный случай с выбором стажера был пару лет назад: одна команда выбрала своего будущего стажера очень быс… twitter.com/i/web/status/1…

    18:42

    Команда ответила, что они как увидели подходящего, так и перестали смотреть дальше.
    — как поняли, что этот — подхо… twitter.com/i/web/status/1…

    18:42

    — а чем взрослый вам подходит больше, чем студенты?
    — так с ним будет меньше детского сада и больше осознанности.… twitter.com/i/web/status/1…

    18:42

    «я не хочу подвести команду. Дайте мне, пожалуйста, контакты команды, я обсужу с ними, как лучше поступить в этом с… twitter.com/i/web/status/1…

    18:42

    # Воскресенье 39 твитов

    Воскресное развлекательное: тред о том, как мы изобретали грейды.

    1 этап: «разделим фичи языка по грейдам».
    Где-то… twitter.com/i/web/status/1…

    12:18

    Расписали табличку какие методы и термины из языка (и верстки) должен знать джун, а какие уже мидл. Ну, вроде, замы… twitter.com/i/web/status/1…

    12:18

    Посмотрели на получившуюся табличку, сказали «фигня какая-то» и выкинули результаты.

    И пришли к выводу, что хотя… twitter.com/i/web/status/1…

    12:18

    Если смотреть на моих учащихся, то, например, из методов массива почти никто не знает про reduceRight и мало кто вс… twitter.com/i/web/status/1…

    12:18

    Генераторы, Map и Set — все из той же оперы. Мало кто ими пользуется достаточно часто, чтобы легко вспомнить про ни… twitter.com/i/web/status/1…

    12:18

    2 этап: программисты создают матрицу компетенций.

    Где-то через год после начала первого этапа, родилась новая дви… twitter.com/i/web/status/1…

    12:18

    Вначале придумали крупные критерии этой матрицы:
    Техника/Мастерство
    Продуктивность
    Критическое мышление
    Работа с п… twitter.com/i/web/status/1…

    12:18

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

    Идея была та… twitter.com/i/web/status/1…

    12:18

    Соответственно, у каждого индикатора указан грейд, на котором мы ожидаем его закрытия. Если закрыто 80% индикаторов… twitter.com/i/web/status/1…

    12:18

    Индикаторов получилось в сумме больше 100. Заполнение их раз в полгода на пересмотр отнимало больше целого дня у ра… twitter.com/i/web/status/1…

    12:18

    Еще есть индикаторы, которые мы написали за сеньорские и которые стабильно отмечали выполняющимися большинство джун… twitter.com/i/web/status/1…

    12:18

    Ну, и самая главная проблема — перфекционизм, который заставляет разработчиков хотеть закрыть все индикаторы, но не… twitter.com/i/web/status/1…

    12:18

    Индикаторы были сделаны так, чтобы, если человек помимо всего прочего делает сверх того, что должен, то должна быть… twitter.com/i/web/status/1…

    12:18

    В общем, боль и страдание принесли нам эти сотни индикаторов. Хотя стало немного прозрачнее за счет того, что компа… twitter.com/i/web/status/1…

    12:18

    Этап 3: замена матрицы небольшим количеством критериев.
    В какой-то момент решили попробовать сделать немного крите… twitter.com/i/web/status/1…

    12:18

    Собрали рабочие группы, которые состояли не только из разработчиков, но и менеджеров, предложили описать кто по их… twitter.com/i/web/status/1…

    12:18

    На картинке один из 5 критериев для перехода из джуны в мидлы.

    Показывать все критерии я пока не хочу, потому что… twitter.com/i/web/status/1…

    12:18

    Самая сложная идея была такая — до уровня мидл, разработчик может дорасти в любой команде. А дальше — совсем не фак… twitter.com/i/web/status/1…

    12:18

    И очень больно было некоторым менеджерам осознавать это. Они говорили: вот вы там придумали всякое, как мне растить… twitter.com/i/web/status/1…

    12:18

    Отдельно, параллельно с изобретением критериев, развернулась история с тем, что трех грейдов не хватает. Обычно, ти… twitter.com/i/web/status/1…

    12:18

    (от ведущих мы ждали лидерских качеств, это тимлиды, техлиды и прочие лиды) — до этого грейда можно расти лет 5 или… twitter.com/i/web/status/1…

    12:18

    Вот сейчас занимаемся причесыванием грейдов и есть описательное видение, какие они примерно получатся:
    — интерн: зн… twitter.com/i/web/status/1…

    12:18

    — мидл: это разработчик, который может делать типичные задачи самостоятельно, за ним не нужен присмотр
    — мидл+: ра… twitter.com/i/web/status/1…

    12:18

    или принимать значительные архитектурные решения
    — сеньор: разработчик, который кроме собственно деланья задач, уме… twitter.com/i/web/status/1…

    12:18

    — Лид: это сеньор, который успешно и неоднократно доказал свои лидерские качества. Может быть тимлидом, техлидом, ф… twitter.com/i/web/status/1…

    12:18
    @jsunderhood а как вы решаете эту проблему? как растите/мотивируете разработчиков, которые упёрлись в потолок из-за… twitter.com/i/web/status/1…

    Сейчас у каждого менеджера над ним есть менеджер бизнес-направления и обычно он заинтересован в том, чтобы выявлять… twitter.com/i/web/status/1…

    @jsunderhood а как вы решаете эту проблему? как растите/мотивируете разработчиков, которые упёрлись в потолок из-за… twitter.com/i/web/status/1…

    12:59

    Потому что терять человека не хочется, если ему интересно расти, то нужно дать ему возможность расти.

    Хотя бывают… twitter.com/i/web/status/1…

    12:59

    А бывают случаи, когда у человека у единственного хватает компетенций (или смелости), чтобы заниматься конкретным п… twitter.com/i/web/status/1…

    12:59

    Тогда такому человеку платят уникальные премии (и опционы) за уникальные компетенции, но в интересах мендежера не д… twitter.com/i/web/status/1…

    12:59
    @jsunderhood А можно пожалуйста подробнее про техлида и фичалида - кто такие?

    И получается можно быть лидом без тимлидства?

    У нас есть понимание, что некоторые лиды целиком про людей — мотивация, целеполагание, наставничество и вот это вот… twitter.com/i/web/status/1…

    @jsunderhood А можно пожалуйста подробнее про техлида и фичалида - кто такие?

    И получается можно быть лидом без тимлидства?

    21:12

    Есть техлиды — люди, которые в основном про принятие архитектурных решений, про разговоры типа «в следующем году на… twitter.com/i/web/status/1…

    21:12

    Есть фичалиды — это одной ногой менеджеры разработки.
    Это собственно те, кто берут на себя какой-то проект или фич… twitter.com/i/web/status/1…

    21:12

    Фичалиды — суперценные кадры в стартапах или командах с большой потребностью в работе с высокой неопределенностью.… twitter.com/i/web/status/1…

    21:12

    В командах часто бывает тимлид и техлид в паре — один душевный и эмпатичный, а второй — хардкорный технарь. Бывает,… twitter.com/i/web/status/1…

    21:12
    Тредик о том, что не знает типичная аудитория мидлов-фронтендеров, которой я преподаю.

    Каждый приходящий в Контур… twitter.com/i/web/status/1…

    Ну, что ж, моя неделя подошла к концу, было интересно! Спасибо всем за вопросы и обсуждения.
    Вот что успели обсуди… twitter.com/i/web/status/1…

    Тредик о том, что не знает типичная аудитория мидлов-фронтендеров, которой я преподаю.

    Каждый приходящий в Контур… twitter.com/i/web/status/1…

    21:22
    Я бы сказала, что в js — нет. Просто потому, что множество возвращаемых значений неограничено. Для чистой функции н… twitter.com/i/web/status/1…

    twitter.com/jsunderhood/st… — про сишарперов и фронтенд
    twitter.com/jsunderhood/st… — про архитектуру
    Холивар про реактивно… twitter.com/i/web/status/1…

    Я бы сказала, что в js — нет. Просто потому, что множество возвращаемых значений неограничено. Для чистой функции н… twitter.com/i/web/status/1…

    21:22
    Пятничный тред про соревнования.
    В школе и университете (я на химика училась) я активно участвовала в разных олимп… twitter.com/i/web/status/1…

    twitter.com/jsunderhood/st… — Про людей, не знающих «фундаментальные вещи»
    twitter.com/jsunderhood/st… – Про кругозор… twitter.com/i/web/status/1…

    Пятничный тред про соревнования.
    В школе и университете (я на химика училась) я активно участвовала в разных олимп… twitter.com/i/web/status/1…

    21:22
    На курсе для менеджеров разработки о том, как разговаривать с разработчиками, мы с ними начинаем с обсуждения значе… twitter.com/i/web/status/1…

    twitter.com/jsunderhood/st… — Польза от участия в соревнованиях
    twitter.com/jsunderhood/st… — Как выбирают команды разработ… twitter.com/i/web/status/1…

    На курсе для менеджеров разработки о том, как разговаривать с разработчиками, мы с ними начинаем с обсуждения значе… twitter.com/i/web/status/1…

    21:22
    Воскресное развлекательное: тред о том, как мы изобретали грейды.

    1 этап: «разделим фичи языка по грейдам».
    Где-то… twitter.com/i/web/status/1…

    twitter.com/jsunderhood/st… — Грейды
    — Разные виды лидов

    Воскресное развлекательное: тред о том, как мы изобретали грейды.

    1 этап: «разделим фичи языка по грейдам».
    Где-то… twitter.com/i/web/status/1…

    21:22

    other