MoscowJS 50

11 сентября прошла юбилейная конференция московского сообщества javascript-разработчиков MoscowJS 50. Два потока из 14 докладов, и как вишенка на торте — секретный доклад от старых организаторов :)

Это было круто, надеемся, сможем повторить! Спасибо Тинькофф за партнерство и огромную помощь в организации мероприятия.

Когда

Где

ул. Ленинская Слобода, 26c11
Тинькофф

Всякие разные ссылки:

Расписание

Главный залВторой зал
07:00Регистрация, кофе, открытие
11:20
Константин Лебедев

Frontend «Платформа» или как всем понравиться

Рустам Имайкин

Для чего нужен Deno и что значит быть Deno-разработчиком

12:10
Сергей Володин

Конечный автомат на React Hooks и Typescript

Наталья Ёркина

Ошибки хороших руководителей

13:00
Андрей Марченко

Tramvai - новый модульный фреймворк с DI для SSR приложений на React от Tinkoff

Алексей Золотых

Тестируем подходы к тестированию. Личные грабли при написании тестов

14:50
Алексей Попков

Как бороться с багами без боли и агрессии

Зарема Халилова

А дальше-то что?

15:40
Александр Коротаев

Меняем стул под пользователем

Виктор Вершанский

Магия прототипного наследования

16:30
Ujjwal Sharma

TC39 Demystified

Максим Соснов

Review Code Review

17:20
Роман Седов

Библиотека как продукт: от папки в проекте до международного опенсорса

Андрей Сёмин

Как найти работу, которой захочется гордиться

18:10
Олег Подсечин, Михаил Башкиров, Василика Климова, Андрей Яманов, Сергей Рубанов

MoscowJS: Истории

16:00Афтепати

О чём говорили

MoscowJS 50,

Frontend «Платформа» или как всем понравиться

Что такое «Платформа»? Библиотека? Набор линтеров и конфигов? Может, фреймворк? Возможно, инфраструктура или Архитектура? 🤔  «Платформа» — это не что-то одно из перечисленного, а всё сразу в одном флаконе.

Этот доклад не о фичах (хоть и будут для примера), а о пути: как мы построили процессы разработки и коммуникации между разными командами и отделами, чтобы получить «Продукт», который позволяет «одной командой» решить их «боль» 💁🏻‍♂️

СлайдыЗапись

MoscowJS 50,

Конечный автомат на React Hooks и Typescript

Расскажу про причины перехода на микросервисную архитектуру на фронтенде в Почте Mail.ru. Поделюсь опытом создания такого небольшого микрофронтенда без стейт-менеджеров на react-hooks. Обсудим архитектуру на конечных автоматах и причём тут Flux. Также поговорим про то, как literal types в связке с union types в typescript могут гарантировать консистентность потока данных и состояния приложения.

СлайдыЗапись

MoscowJS 50,

Review Code Review

Код-ревью прменяется практически в каждой команде. Фактически, это стандарт индустрии. Идея проста: ищем в коде друг у друга проблемы и возможности для улучшения. Но простота идеи позволяет слишком широко её трактовать. Крупные компании проводят очень много код-ревью, и поэтому трепетно относятся к эффективности этого процесса. Мы рассмотрим самые популярные паттерны и практики из больших компаний, разберем самые крупные проблемы, с которыми сталкиваются команды, практикующие код-ревью, и изучим выводы, к которым пришли в Microsoft в ходе исследования эффективности этой практики. Кроме того, мы рассмотрим, что еще кроме код-ревью способно помочь нам делать продукты лучше, а пользователей счастливее.

СлайдыЗапись

MoscowJS 50,

Ошибки хороших руководителей

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

СлайдыЗапись

MoscowJS 50,

Магия прототипного наследования

— Вы продаёте Прототипы?
— Нет, просто показываю.
— Красивое...

О хтоничности наследования в JS ходят легенды. Обычно объясняют тем, что, мол, можно изменить тип. О том, что можно унаследовать любой объект, вспоминают реже. Но главное остаётся за кадром: это можно делать когда угодно, и потом переделывать. А ведь в этом-то и есть суть динамической типизации: пояснить про магию.

СлайдыЗапись

MoscowJS 50,

Тестируем подходы к тестированию. Личные грабли при написании тестов

В теории теория и практика одно и то же, а вот на практике.... В теории, чем больше тестов пишут разработчики, тем надежнее приложение. Так ли это? А еще говорят, что TDD повышает качество. А кто и как это проверял?

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

СлайдыЗапись

MoscowJS 50,

Библиотека как продукт: от папки в проекте до международного опенсорса

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

  • Какие этапы есть и в чем их отличия
  • Как надо меняться команде в процессе развития библиотеки
  • Потенциальные ошибки и проблемы на каждом из этапов
  • Что меняется в опенсорсе и зачем это стоит делать

Все это на основе опыта создания кучи как проприетарных, так публичных библиотек, и с примерами из Taiga UI

СлайдыЗапись

MoscowJS 50,

Как бороться с багами без боли и агрессии

Во всех продуктах, которые мы делаем, есть баги. Но знаете ли вы, насколько забагован ваш продукт? Как сравнить качество двух разных проектов между собой? А его ведь нужно не только оценивать, но и работать над ним. В докладе мы поговорим о том, как пройти весь цикл от осознания проблемы с качеством до её решения. Простые лайфхаки, которые поднимут вашу работу с качеством на новый уровень.

СлайдыЗапись

MoscowJS 50,

А дальше-то что?

Junior → Middle → Senior — устоявшиеся этапы карьерного пути разработчика. За ними лежат манящие горизонты технического или менеджерского лидинга. Но что за этими горизонтами? Что происходит после 10+ лет работы в айти? Это не гайд и не профориентирование — это история разработчицы, успевшей за 17 лет опробовать множество ролей в самых разных IT-компаниях.

СлайдыЗапись

MoscowJS 50,

Меняем стул под пользователем

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

Каждый пользователь ВК за свою недолгую сессию, скорее всего, хоть раз да переживает деплой чего-то нового. И чаще всего ничего плохого не случается. Эта история про то, как мы шаг за шагом меняем JS и CSS у пользователей, стараясь до последнего не прибегать к ужасному — обновлению страницы.

СлайдыЗапись

MoscowJS 50,

Для чего нужен Deno и что значит быть Deno-разработчиком

С первого выпуска рантайма Deno прошло уже больше трех лет (кстати, правильно читать «Дино», с ударением на первый слог). В каком состоянии сейчас находится платформа? Можно ли использовать Deno в продакшене? Почему и в чем Node всегда будет проигрывать Deno?

СлайдыЗапись

MoscowJS 50,

Tramvai - новый модульный фреймворк с DI для SSR приложений на React от Tinkoff

Tramvai - новое opensource решение от Тинькофф для построения SSR приложений на React. В докладе расскажу как мы докатились до того, что сделали свой фреймворк, зачем нам понадобился DI по типу Angular или Nest.js в React приложении и множество других архитектурных решений, позволяющих быстро отдавать контент клиенту.

СлайдыЗапись

MoscowJS 50,

TC39 Demystified

Уджвал Шарма — делегат TC39. Не знаете, что это значит? Не страшно, он сам вам об этом расскажет. А еще о том, как вообще работает комитет TC39, полностью отвечающий за развитие Javascript — из кого он состоит, как и зачем собирается, что обсуждает, какие процессы в нём есть, и как в этих процессах поучаствовать простым смертным.

СлайдыЗапись

MoscowJS 50,

Как найти работу, которой захочется гордиться

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

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

СлайдыЗапись

MoscowJS 50,

MoscowJS: Истории

Вся история MoscowJS — от первого митапа в бизнес-инкубаторе АНХ до новейших времен.

Запись

Партнеры мероприятия

IT’s Tinkoff — только самое полезное и интересное от команды Тинькофф: 

Анонсы митапов и конференций Еженедельные дайджесты: рассказываем о лучших выступлениях спикеров и статьях по разработке, продуктовым процессам и технологиях

Тинькофф — онлайн-экосистема, основанная на финансовых и лайфстайл-услугах. Клиентами Тинькофф стали 16 млн человек по всей России. Тинькофф — третий крупнейший банк страны по количеству активных клиентов.

Зар Захаров о фронтенд-разработке: новости, задачи, ответы на вопросы