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

Мой технический блог начался в 2010 году. Сегодня ему 6 лет. Удивительно, как мне удалось продержаться так долго. Многое изменилось для меня за 6 лет. Был хороший 4-летний пробег, за которым последовал перерыв, а теперь смена фокуса.

Мой блог начался, когда я работал с Ruby on Rails. Первоначально в центре внимания были рельсы. Я потратил несколько лет на то, чтобы писать о конкретных вещах, связанных с Rails, прежде чем мне просто надоело иметь дело с Rails. Я решил отойти от Rails и сосредоточиться на несвязанных веб-приложениях: выделенном приложении JavaScript с отдельной серверной службой. Именно тогда я начал более абстрактно думать о внутренней архитектуре приложения.

Пол Коуэн и я были одними из первых, кто по-настоящему погрузился в Ember.js. Я потратил много времени на ведение блога, изучение и просвещение людей о Ember.js — я даже написал Iridium. В конце концов беговая дорожка с JavaScript-приложениями вымотала меня настолько сильно, что я решил, что покончил со всем, что связано с браузером. Ситуация не улучшилась. Возможно, это хуже. Технически у меня были способности писать SPA, но у меня не было страсти к UX, который в конечном итоге необходим для создания высококачественного программного обеспечения, ориентированного на пользователя. Моей настоящей страстью были бэкэнд-сервисы — межмашинное взаимодействие.

Я продолжал вести блог и сосредоточился на разработке лучших серверных сервисов. Кепка серии Открывая заново радость дизайна потрясла меня тем, что я узнал. Я проводил мастер-класс на RailsConf 2014 по похожей теме. Потом дела пошли медленнее. Честно говоря, я достиг плато. Я выполнил то, что хотел. Я устал делиться (и бороться) за правомерность своих идей. Мне удалось собрать команду разработчиков Ruby-единомышленников. Мы пошли своим путем, делая вещи иначе (и с гордостью), чем более широкое сообщество Ruby.

Я открыл свой редактор примерно через год уединения и написал The Ruby Community: The Next Version. Он резюмировал то, что я думал о сообществе Ruby. Я получил много отличных комментариев и отзывов о посте. Было здорово услышать людей, восприимчивых к идеям и разделяющих схожие опасения. Слишком поздно. Я больше не стремился писать о дизайне программного обеспечения, особенно на Ruby. Я больше не писал код на своей работе. Я просматривал чужой код и планировал, какой код должны написать другие. В баке ничего не осталось.

Я искал другие языки, чтобы заполнить пробел. Я нашел Erlang и D. Оба фантастические. Однако ничего не застряло. У меня не было мотивации что-либо строить.

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

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

Большая часть моей карьеры была сосредоточена на создании лучшего программного обеспечения, которое я только мог придумать, и обучении других тому, как делать то же самое. Все это не имеет значения, пока оно не будет развернуто. Я решил, что пришло время сосредоточиться на создании лучших чертовых конвейеров развертывания.

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

Я начал вести блог Slashdeploy в начале 2016 года, и это было здорово. Люди хотят больше информации в этой области. Все мои усилия направлены на то, чтобы научить других достигать непрерывного развертывания с использованием различных технологий и методов. Я написал одну статью Непрерывное развертывание приложений Docker, другую — Непрерывное развертывание статических сайтов. Я даже выпустил курс Введение в Docker. В ближайшем будущем планируется более продвинутый курс Docker. Я буду появляться как постоянный автор в блоге CloudAcademy. В очереди на SemaphoreCI находятся другие статьи о непрерывном развертывании. Я выступаю на DevopsDays India в Бангалоре. Это мой первый разговорный слот за более чем 2 года.

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

Итак, друзья, удачного просмотра и удачной доставки!

P.S. Проверьте блог Slashdeploy и веб-сайт Slashdeploy, чтобы узнать все самое новое и лучшее. Также мой старый блог будет перемещен с переадресацией, указывающей на Slashdeploy.