Матеусу Фернандесу 22 года, он вице-президент по технологиям компании ZEIT. До этого он нигде не работал, бросил университет, написал Kap.
Мы расспросили нашего киноут-спикера про Россию, его путь от студента к вице-президенту и о том, почему Next.js не ждёт участь Meteor.js.
— Был ли ты раньше в России? Не страшно ехать?
— Это будет первый раз. Совсем не страшно, но очень любопытно, как это будет. Знаю, что это страна разных культур и мне интересно, как у вас это всё сочетается.
— Знаешь что-нибудь про IT в России? У вас в команде вроде есть русский.
— Игорь, да. Отличный парень. Но кроме его проекта pkg я никакого софта из России не знаю…
— Может, какие-то русские компании?
—… как, в общем-то, и компаний.
— Расскажи, как ты оказался в ZEIT?
— В прошлом году ZEIT анонсировали Hyper — эмулятор терминала, сделанный на HTML/CSS/JavaScript. Я начал им пользоваться и мне понравилось, что можно делать расширения для него просто написав небольшой js-файл.
Я искал информацию о том, кто это сделал. Оказалось, в команде есть Гильермо Раух. А он работал над Mongoose и socket.io — я всё это использовал. Понял, что это за компания, если там работают создатели таких библиотек. С тех пор я стал активно принимать участие в жизни коммьюнити Hyper. В какой-то момент получил доступ к репозиторию, написал пакетный менеджер для Hyper, сделав работу с зависимостями такой же простой как в npm — hpm.
В итоге я решил написать в ZEIT и отправить свою поделку — я написал, что-то вроде: «Привет! У меня нет портфолио, я еще нигде не работал и недавно бросил колледж, потому что ненавижу его. Но мне очень хочется заниматься важными и интересными вещами. Мне нечего показать, кроме hyper package manager, который я написал за несколько часов и примерно в 100 строчек кода, но я очень люблю веб, JavaScript и мне даже неважно, на какую позицию вы меня возьмёте, главное — это работать с вами.»
— И все получилось?
— Я ждал и продолжал общаться в коммьюнити Next.js, общался в слаке Amazon — там мне предложили написать приложение для записи видео с экрана Мака. Я согласился. Kap быстро разлетелся по сети, много скачиваний, много постов в социальных сетях, тысячи звезд на github.
— Думаю, моё письмо никто не читал. Когда меня уже взяли на работу, я узнал, что у нас 300-400 таких предложений, которые просто ждут на почте.
Я вернулся в слак, рассказал об этом и через три-четыре недели ZEIT написали мне, предложили тестовое задание: сделать так, чтобы Hyper заработал на Windows. Я сделал и вот теперь я в команде! Подробнее об этом пути я расскажу в докладе.
— Можешь поделиться какими-нибудь забавными историями с работы?
— Не знаю насчет работы, но как-то мне нужно было выступать на ZEIT Day — это наша конференция — и представлять Now. Мы хотели показать, что Now может задеплоить за 30 секунд. И вот я стою на сцене. Ввожу now, ввожу свой домен, но не замечаю, как делаю ошибку в каком-то слове и ничего не работает. Я вслух говорю “oh, shit”. Стираю, пишу заново. И опять допускаю ошибку. Опять ругаюсь и пишу всё заново и ошибаюсь в третий раз. Вот этот момент в моей работе был самый неприкольный.
— За что ты ответственен в компании?
— Моя должность называется VP of Engineering. Но мы же стартап. Поэтому, иногда я анализирую, как много денег у нас уходит на базы данных, занимаюсь ответами в твиттере, покупаю билеты, если команда куда-то летит. Но вообще, моя роль — распределять задачи между людьми. Интересоваться, как идут дела, чем можно помочь. Я держу все цепочки синхронизированными, анализирую настроения в команде и мотивирую.
— Еще одна зона ответственности — следить за тем, как мы доставляем продукт и как быстро он работает. Now должен деплоить быстро, никто не хочет ждать лишние секунды.
— Если у вас так много open source, то на чем вы зарабатываете?
— Предположим, у вас есть статический веб-сайт: index.html, style.css и picture.jpg. Вы хотите всё это задеплоить. Вы открываете свой терминал, заходите в папку с сайтом, вводите now и в течение трех секунд ваш сайт уже
— Предположим, я думаю, на чем сделать JS-приложение и мне нужно из коробки иметь SSR. Зачем выбирать Next.js, вместо Angular.js?
— В мире PHP всё очень просто — пишешь index.php, запускаешь сервер и всё работает. Не нужно думать про babel, не нужно использовать Webpack, думать о том, как подключить роутинг. Next.js делает из JavaScript такой PHP. И помогает делать сайты быстро. Тебе нужно установить Next.js и React (потому что это зависимость Next.js). Потом ты создаешь index.js, который экспортирует JSX и вводишь в терминале Next. Всё — у тебя есть index.html со всем, что нужно. И не нужно думать о каких-либо настройках.
— Со стороны кажется, что Next.js похож на Meteor.js — ничего не нужно делать, всё уже настроено. Не боитесь, что он из-за этого умрёт так же, как Meteor.js?
— Совсем не боимся. У нас очень сильное комьюнити, постоянные релизы. В отличии от Meteor, здесь нет жесткой завязки на MongoDB, как это было в Meteor. Плюс, Next.js очень легкий. Весь open source, который мы выпускаем, — это наши внутренние продукты, которые мы разрабатывали для себя, чтобы ускорить и автоматизировать какие-то вещи.
— Поделись какими-нибудь фишками Next.js?
— Есть одна вещь, которой люди по непонятным для меня причинам пользуются не очень часто — dynamic import. С dynamic import можно не отдавать на клиент компоненты, которые могут и не понадобиться. Например, то, что доступно только после авторизации. Клиенту не обязательно тянуть весь этот код. Такие компоненты подгрузятся сами тогда, когда будут нужны. А значит, размер бандла будет меньше, а скорость загрузки сайта будет выше.
— За чем будущее веба?
— Что касается JavaScript, то всё будет двигаться в сторону большей нативности. И в этом поможет WebAssemblly. Не думаю, что все начнут использовать WA, но к вебу точно начнут обращаться чаще те, кому важна производительность.
— Какой доклад на FrontFest тебе интересно было бы посетить?
— «История одной метрики производительности в Booking.com». Метрики — это интересно. И вообще, я люблю Booking. Еще «A developer's guide to accessibility APIs» — тоже, конечно. Мне бы очень хотелось, чтобы разработчики учитывали важность доступности сайтов. Уверен, что часто с доступностью бывают проблемы не потому, что этим никто не хочет заниматься, а потому что это не всегда простая задача.
FrontFest порадует спикерами с уникальным опытом. Пробивной Матеус закроет конференцию, а откроет ее Блейн Кук, создатель OAuth.
Регистрируйтесь, осталось 11 дней.
Читайте еще:
— Жизнь фронтендера в Spotify
— Квартирники на конференции
— Воркшопы: кросс-платформенные приложения на Angular, 3D-игры на Canvas и бекенды на Node.js
— Секции: JAVASCRIPT, VYORSTKA и MIX
Автор: DmitriyDekhanov