Истории с полей:

Зачем кому-то кодировать API на Javascript?!

Позвольте мне рассказать вам небольшую историю из реальной жизни.

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

В основном я работал с бэкэнд-чуваком, назовем его Себастьяном, так как у них уже был дизайн, очень ориентированный на бэкэнд. Себастьян был полон энтузиазма, опытен и хорошо осведомлен о стеке, который использует его компания. Будучи огромной корпорацией, они используют традиционные проверенные технологии, такие как Java с инфраструктурой Spring, для создания своих API.

К концу дня мы отдыхали, и я показывал ему API узла, над которым работал. В какой-то момент я быстро изменил код, нажал ctrl+s и сразу же вернулся в браузер, чтобы продемонстрировать его.

Но Себастьян уже перестал преследовать меня в тот момент. Себ был поражен благоговением и недоумением…

Себастьян: Подождите, это было… Но… подождите, вам нужно скомпилировать, развернуть и повторно обслуживать его, не так ли?
Я: Только что сделал. Typescript скомпилирован в Javascript, линтинг пройден, все модульные и интеграционные тесты пройдены, а API зарезервировано, понимаете?

Говоря это, я показываю ему в терминале вывод компилятора машинописного текста и запуска тестов mocha. Затем я показываю в браузере, что API возвращает обновленный ответ, как и ожидалось после моего последнего изменения кода.

Себастьян смотрит мне прямо в глаза, одетый в отрицание и недоверие, как ребенок, который только что узнал, что Санта-Клауса не существует.

Себ: Этого не может быть. Когда я вношу изменения, мне требуется не менее 5 минут, а точнее 10, прежде чем я смогу подключиться к API. Как вы это делаете?
Я: Ну, это node. У меня есть несколько дополнительных «примочек», которые я установил здесь, так что всякий раз, когда я сохраняюсь, все это делается автоматически, но на самом деле это узел, он быстрый, да! Вы занимаетесь Java, верно?

Это последнее… Я действительно не должен был говорить это последнее, но эй, это я :P.

Себ теперь был спокоен. Его лицо становилось красным и слегка дрожало, а выражение его лица было смесью «вся моя жизнь — ложь», смешанной с «я просто свернусь в клубок и заплачу» и, возможно, немного «отвали» для ровного счета ( но я это заслужил, хорошо :P).

Пока все это происходило, я извивался, как гордое слащавое «Что, чувак, хочешь немного о’дис?!».

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

Себастьян слышал о Node, но, будучи бэкенд-разработчиком в корпоративной среде, он вообще не пишет код на Javascript. Он всегда думал, что JS на бэкэнде — сумасшедшая идея. Теперь можно многое сказать за и против каждой технологии, и, честно говоря, я не буду сейчас вдаваться в подробности.

Я знаю, однако, что 5 чертовых минут ожидания из-за того, что вы добавили новую строку в исходный код, очень близко к определению сумасшествия…

Если вы нашли, что это стоит вашего времени, нажмите 👏 ниже, чтобы другие люди могли увидеть это здесь, на Medium.

Спасибо за внимание.
-- maninak