Маттео Коллина и Дэвид Клементс: компании должны позволить своим разработчикам вносить свой вклад в открытое программное обеспечение

Мы взяли интервью у Маттео Коллины и Дэвида Марка Клементса, специалистов по производительности Node.js, работающих в NearForm и проводивших полнодневный семинар «От нуля до REST API с Node.js» в Amsterdam JSNation 6 июня.

У Маттео Коллины и Дэвида Марка Клементса много общего: оба начали программировать с детства, оба написали и соавторы книг по Node.js, вместе работали над несколькими проектами с открытым исходным кодом и разделяют схожие взгляды на будущее Node.js и открытого исходного кода. В этом интервью они рассказывают о своей карьере, любимых проектах OSS, будущих книгах и текущих проектах, над которыми они работают. Маттео и Дэвид приезжают в Амстердам, чтобы провести семинар по Node.js на конференции JSNation, 6 июня 2019 г..

Привет, Маттео и Дэвид, и добро пожаловать на интервью JS Nation! Вы можете поделиться своей историей? Расскажите о себе.

Маттео: Мир разработки программного обеспечения всегда был частью моей жизни с детства: мой отец набирал C64 из журналов, а я сидел у него на коленях. Каким-то образом мой мозг научился программированию как собственному языку. Я «вижу» код, но не думаю о нем.

Дэвид: Как и в случае с Маттео, программирование было частью моего становления. Я написал свою первую строчку кода в возрасте пяти лет и свободно говорил на БЕЙСИКЕ к тому времени, когда мне было 9 лет. Я вставал рано утром в субботу и ходил на ярмарки обуви (распродажи), чтобы найти старые Ataris, Commodore 64 и книги по программированию.

Почему вы называете себя разработчиками программного обеспечения, а не разработчиками?

Дэвид: На практике значимого различия нет. Единственное, что меня интересует, это то, можете ли вы решить проблемы, не создавая большего количества проблем, чем вы решили.

Маттео: Я не думаю, что есть большая разница между ролями. Я думаю, что название Software Architect более наглядно: человек, который может рассуждать на системном уровне и видеть влияние решений в будущем. Более того, в архитектуре есть аспект искусства / дизайна, что также очень важно для программного обеспечения.

Маттео, доктор философии Тема диссертации: «Платформы приложений для Интернета вещей: теория, архитектура, протоколы, форматы данных и конфиденциальность». Как вы заинтересовались Интернетом вещей?

Маттео: Меня всегда интересовали распределенные системы, и Интернет вещей поставил некоторые новые проблемы из-за реальных ограничений на время автономной работы, скорость сети и стоимость устройств. Я был одним из первых, кто теоретизировал многопротокольную платформу IoT, и теперь все облачные платформы поставляют ее.

Вы оба на протяжении многих лет работали с широким спектром технологий. Но что вам больше всего нравится и почему?

Маттео: Ruby - лучший язык из всех. К сожалению, функции, которые делают это так, очень неэффективны. Обычно я использую Node.js и C / C ++.

Дэвид: Хотя у меня есть слабость к Паскалю, я открыл для себя JavaScript в 1995 году, и с тех пор мне он нравится.

Маттео, вас недавно повысили до должности технического директора NearForm. Не могли бы вы вкратце рассказать о своем карьерном росте?

Маттео: один год я проработал в итальянской компании, занимающейся разработкой программного обеспечения. Я не был удовлетворен своей работой, карьерными планами и компенсацией: мне нужно было больше интересных задач. Я также хотел оказать влияние на сообщество Open Source и поделиться своими идеями в ходе конференций: я чувствовал, что мне есть что сказать, чтобы сделать нашу жизнь разработчиков менее несчастной.

После того, как я провалил несколько собеседований, я поступил в докторантуру. школа как способ выбраться с итальянского рынка труда. Я выбрал Node.js в качестве своего технического стека, чтобы иметь более быстрый цикл разработки по сравнению с Java или .NET. Я не мог использовать Ruby, поскольку он был слишком медленным для моих нужд.

В моих усилиях в мире Node.js я присоединился к сообществу Level и узнал, как сообщество OSS растет и преуспевает в долгосрочной перспективе. Я популяризировал библиотеку MQTT.js (которая используется всеми поставщиками облачных услуг в их SDK) на NodeConfEU 2013, и я встретил Cian O'Maidin и Richard Rodger (основатели NearForm), и они убедили меня присоединиться к NearForm в конце января 2014 года. .

В NearForm я работал на всевозможных ролях, ведь нас тогда было всего 14 человек (сейчас около 140 человек). Я начал как разработчик программного обеспечения, а затем как архитектор программного обеспечения. Я работал над проектами по всему миру, от Нью-Йорка до Джакарты. Я также являюсь одним из ключевых общественных деятелей NearForm. Я вхожу в Технический руководящий комитет Node.js с июля 2017 года. Я также был избран членом с правом голоса в Межпроектный совет OpenJS Foundation.

Через два года я понял, что достиг большинства целей, которые поставил перед собой на своей первой работе: я работал удаленно, и люди по всему миру используют созданное мной программное обеспечение. Я спросил себя, как я могу добиться в 10 раз большего влияния, мне нужно было сосредоточиться на другом, что мне нравилось: дать возможность другим разработчикам добиться успеха. В моей новой роли технического директора я смогу поддерживать сразу несколько команд, чтобы делать потрясающие вещи.

Дэвид, на данный момент вы опубликовали 3 издания Node Cookbook, Маттео, вы являетесь соавтором Javascript: Best Practices. Будут ли другие книги?

Дэвид: Node продолжает двигаться вперед, для внедрения модулей ES6 в Node 12 (в октябре) потребуется 4-е издание. Возможно, мне скоро следует связаться с моим издателем. Кроме того, друг и бывший коллега пишут книгу об искусственном интеллекте, и я уговариваю его позволить мне написать гостевую главу!

Маттео: я также являюсь соавтором Node Cookbook: Third Edition, редактором которого является Пакт. У меня не запланировано никаких новых писательских работ, но я действительно думаю об этом.

В каких проектах вы участвовали недавно? Над чем вы сейчас работаете?

Дэвид: Моим последним техническим руководящим проектом было создание команды разработчиков в рамках инициативы по цифровой трансформации платформы для продажи билетов. Всегда приятно превзойти ожидания, ускорив разработку до невиданных ранее темпов.

Я активно участвую в создании новой сертификации Node.js в партнерстве с Linux Foundation - совет: если вы прочитаете 3-е издание Node Cookbook, вы будете хорошо подготовлены к экзамену. Мы должны запустить его позже в этом году.

В OSS мой последний проект - ESX. Благодаря различным консультациям стало очевидно, что рендеринг React SSR является узким местом для многих компаний. ESX - это дополнительный подключаемый модуль, который значительно снижает накладные расходы на SSR за счет улучшения фактического алгоритма рендеринга. Я также являюсь соавтором Pino с Маттео, самого быстрого регистратора JSON для Node.js.

Маттео: Недавно я работал с Protocol Labs над разработкой нового инструмента для разработчиков: было потрясающе работать с некоторыми дизайнерами, а также с инженерами протоколов. Я планирую еще немного поработать над Node.js, так как есть некоторые ключевые области, которые я хочу улучшить до того, как Node 12 перейдет на LTS.

Какое будущее у Node.js? Вы думаете, что какая-нибудь другая среда когда-нибудь сделает его устаревшим?

Маттео: Определенно! Я надеюсь, что Node.js превратится в Java или COBOL. Компании будут строить свои системы на этой среде в течение долгого времени. Еще есть много инноваций, которые мы можем сделать в Node.js, прежде чем это произойдет. Node.js необходимо улучшить то, как мы работаем с изоморфным кодом / веб-взаимодействием, и как поддерживать WASI.

Дэвид: это во многом зависит от сообщества и основных участников. Из-за своей небольшой основной философии экосистема Node сильно зависит от нее, а это означает, что некоторые опасности для развития платформы могут быть больше связаны с тем, как экосистема адаптируется. Вдобавок ко всему, WASM может изменить правила игры, который либо оставит Node.js позади, либо станет волной, которая продвигает Node.js вперед.

Чем вы занимаетесь с открытым исходным кодом?

Маттео: я трачу 1-2 дня в неделю на работу с открытым исходным кодом. Я участвую в Node.js в качестве члена Технического руководящего комитета, и я поддерживаю readable-stream, один из самых загружаемых модулей на npm. Я также являюсь одним из ведущих разработчиков Fastify.

Дэвид: Помимо вышеупомянутых ESX и Pino, я также являюсь автором 0x, инструмента профилирования для Node.js, который сокращает количество шагов для создания графа пламени с 7 до 1 и создает граф пламени. генерация возможна на macO (ранее это было невозможно).

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

Другой пример - fast-redact, самый быстрый из известных модулей Node.js для редактирования конфиденциальной информации до того, как данные покинут процесс. Я написал это в свете GDPR, зная, что, если я этого не сделаю, редактирование, вероятно, станет узким местом для многих людей. Затем мы встроили его в Pino, чтобы редактирование журнала было управляемым, простым в реализации и оставалось быстрым.

Какое будущее вы можете предсказать для движения за открытый исходный код?

Дэвид: Многие проекты OSS начинались как хобби, но внутренняя ценность привела к некоторым неудачным сценариям, и я думаю, что мы должны управлять этим как общество. Я нахожусь в очень привилегированном положении, когда мне платят за работу над открытым исходным кодом, но не у всех есть такая привилегия. Впоследствии вы видите выгорание общественности, активность Github, используемую для KPI при оценке сотрудников, и (некоторые могут сказать) непомерную выгоду крупных игроков рынка у мелких независимых программистов.

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

Маттео: будущее открытого исходного кода зависит от его устойчивости. Количество разработчиков, использующих Open Source, быстро растет из-за большого спроса на рынке. Однако подавляющее большинство не вносит свой вклад - и это создает бремя поддержки для разработчиков OSS. Каждая компания должна сыграть свою роль и дать возможность своим разработчикам внести свой вклад!

За последние годы вы много говорили. О чем был ваш последний или любимый разговор?

Маттео: Я сделал свой любимый доклад в качестве заключительной речи на Codemotion Rome 2018: Удачи не бывает. В этом выступлении я рассказал о своем пути в Open Source, своих неудачах и борьбе с синдромом самозванца. Я жду возможности представить это снова!

Дэвид: Мое последнее выступление было молниеносным разговором о ESX в React Amsterdam.

На самом деле к молниеносным переговорам довольно сложно подготовиться, как вы превратите то, над чем работали три месяца, в 5 минут. Хотя мне нравится такой вызов. Однако мои любимые разговоры - это разговоры, которые я провел с Маттео. Лучшая из них - Стоимость лесозаготовок.

Чем вы занимаетесь в свободное время?

Маттео: Мне очень нравится путешествовать по миру, и у меня есть огромный список мест, которые я хочу посетить!

Дэвид: Когда ваше хобби становится вашей работой, это что-то вроде палки о двух концах. В свободное время я часто пытаюсь снизить риск оседлости. Я давно не занимаюсь скалолазанием, но скалолазание - моя страсть. С момента переезда в Амстердам я подумывал купить лодку… но это кажется серьезным обязательством. Еще я люблю читать бумажные книги из-за ностальгии.

Вы в восторге от предстоящей в этом году конференции JSNation в Амстердаме?

Дэвид: Я очень взволнован, отчасти потому, что мне хочется, чтобы люди знали о ловушках до того, как они доберутся до них, - это хороший способ хоть немного улучшить мир. Что касается семинара, мы проведем всех с нуля до RESTful, и он будет быстрым и быстрым.

Маттео: на этом семинаре мы с Дэвидом собираемся познакомить участников с процессом создания приложений Node.js. Мы собираемся поговорить об основном различии между средой браузера и средой Node.js. Позже мы поговорим о обещаниях, обратных вызовах и обработке ошибок. В ходе курса мы также создадим простой REST API на основе Fastify.

Забронируйте место

Интервью подготовлено при участии копирайтера Soshace.com Марины Воронцовой. Soshace - это платформа для найма веб-разработчиков: нанять разработчика или подать заявку на удаленную работу.

О GitNation

GitNation - это фонд, способствующий развитию технологического ландшафта путем организации мероприятий, посвященных программному обеспечению с открытым исходным кодом. Мы организуем содержательные и развлекательные конференции и встречи по JavaScript, объединяя талантливых инженеров, исследователей и основные команды важных библиотек и технологий.

Помимо предложения билетов на одну конференцию, организация также продает GitNation Multipass, обеспечивающий доступ со скидкой к нескольким удаленным конференциям и семинарам по JavaScript.