Установка рабочей станции разработчика с нуля

Установка рабочей станции разработчика с нуля

12 мая 2022 г.

Фото Люка Питерса на Unsplash


Представьте себе этот сценарий:


После изнурительного собеседования, увольнения с предыдущей должности и небольшого отпуска вы начинаете работать в новой компании. Это супер интересно! Знакомство с новой командой, новой продуктовой линейкой, различными функциями внутри компании, онбординг-сессиями...


И, конечно же, новые кодовые базы, над которыми вы будете работать в ближайшие пару лет. Для разработчиков нет ничего более увлекательного, чем исследовать новую кодовую базу и экспериментировать с ней. Но прежде чем мы сможем это сделать, нам нужно сначала загрузить нашу машину 🤯. В некоторых случаях это может быть так же просто, как установка среды выполнения и IDE, но в большинстве случаев нам потребуется установить множество приложений и выполнить многочисленные настройки, прежде чем мы сможем начать работу над кодовой базой.


За многие годы работы в индустрии программного обеспечения я много раз выполнял эти установки — при переезде в другое место или в той же компании, заменяющей мою предыдущую машину (не спрашивайте меня об этом 😱). Это громоздкая и длительная задача. Чтение руководств и переживание мертвого времени во время самих установок всегда кажется пустой тратой времени.


Чего мы хотим добиться?


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


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


Существует также дополнительная проблема: по мере изменения приложения и экосистемы меняются и зависимости, и приложения, используемые для их разработки. При поиске решения также следует учитывать возможность пересмотра установки разработчиками, которые ее используют.


Подводя итог, у нас есть три цели:


1. Быстрая установка


2. Сокращение кривой обучения экосистемы


3. Техническое обслуживание с течением времени


За прошедшие годы я видел много попыток решить проблему установки рабочей станции разработчика. От руководств до сценариев установки до ИТ-инструментов. К сожалению, ни один из этих инструментов не имел правильного баланса для достижения упомянутых целей.


Например:


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

  • Руководства отлично подходят для обучения, но поддерживать их с течением времени обременительно. И, очевидно, они находятся на более медленном пути, поскольку они полностью ручные.

Предложенное решение


Я хотел бы представить сценарий установки рабочей станции:


https://github.com/ysa23/workstation


Это простой bash-скрипт, который автоматизирует развертывание рабочей станции разработчика (или любой другой) — с нуля до героя 💪 менее чем за час!


Быстрая установка


устанавливает и настраивает все, что нужно разработчику для запуска приложения. Это автоматически занимает около часа, в зависимости от количества установленных приложений.


Кривая обучения


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


Обслуживание


Поскольку это сценарий с контролируемым исходным кодом и доступный для всех в команде, любой может внести изменения и предложить запрос на извлечение. Кроме того, если кто-то хочет выполнить определенную конфигурацию, он может легко либо разветвить ее, либо создать ветку и добавить свою настройку. Например, их любимая тема zsh или конфигурация ярлыков, которые они предпочитают командам git.


:::Информация


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


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


Сам сценарий предназначен для компьютеров Mac, но, как говорят, его можно использовать в качестве источника вдохновения для аналогичных машин для разработки под Windows и Linux.


Репозиторий имеет открытый исходный код с лицензией MIT, и мы принимаем PR и проблемы с распростертыми объятиями 😉


Надеюсь, вы найдете в ней хорошее вдохновение и сделаете ее полезной для себя.


Первоначально опубликовано [здесь] (https://blog.house-of-code.com/installing-a-developer-workstation/)



Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE