Сисадмин с отверткой и загрузочной флешкой — типичный портрет человека, который чинит серверы, когда они падают. Но именно такие люди часто становятся лучшими разработчиками. Не потому что кто-то прочитал учебник, а потому что устали делать одно и то же руками.
Эта история начинается с двух слов: дисковый массив. Ну и с того, что админу надоело вводить команды в CLI.
Рутина — двигатель кода
Всё начинается с мелочей. Установить Chrome на сорок компьютеров, создать сто пользователей в Active Directory, поменять права, сбросить пароли. Любой сисадмин рано или поздно понимает: если операцию нужно повторить больше трёх раз, её лучше автоматизировать.
Первый скрипт часто уродлив. В оригинальной истории это был цикл foreach по списку компьютеров с psexec. Три часа ручной работы превратились в кофе-брейк. И это чувство победы запоминается надолго.
Машина не осудит твою лень. Лень — это топливо для автоматизации.
Так появляется привычка писать скрипты. Сначала для себя, потом для коллег. Но пока это ещё не разработка — просто набор полезных команд.
Когда скрипт становится программой
Настоящее программирование начинается тогда, когда у скрипта появляется интерфейс, обработка ошибок и пользователи, которые от тебя зависят.
В истории с дисковыми массивами NetApp проблема была в том, что создание тома — это одна длинная команда с десятком параметров. Ошибиться в имени агрегата — и ты получаешь неправильную конфигурацию, тикет и длинный вечер. Сисадмин решил сделать форму: с вкладками, кнопками и выпадающими списками. Чтобы не надо было помнить, что платиновый QoS — это 937,5 МБ/с.
Первая версия была на PowerShell с WinForms. Если вы пробовали — знаете, это боль. Но она работала. Потом пришло время Python, PySide6 и нормальной архитектуры.
Чему учат ошибки в реальном коде
Когда пишешь не учебный проект, а инструмент для работы, ошибки становятся лучшими учителями. Вот несколько типичных граблей.
| Ошибка | Проявление | Решение |
|---|---|---|
| Целочисленная математика | Команда -size 33.99GB не выполняется, массив отказывает | Округляй вверх: math.ceil() вместо простого умножения |
| Неправильное имя | Том создаётся, но с неверным именем из-за невнимательности | Используй регулярные выражения для валидации до выполнения команды |
| Ложная ошибка | Инструмент сообщает о сбое, хотя команда ещё выполняется | Ждать маркер успеха (например, «Successful») вместо таймаута по тишине |
| Ошибка в собственном коде | Поля LUN и volume перепутаны в скрипте-первоисточнике | Фиксить и документировать, почему это расходится с оригиналом |
Обратите внимание: ни одна из этих ошибок не была про знание языка. Все они — про внимательность к деталям и понимание предметной области.
Пять шагов от сисадмина к разработчику
Если вы узнали себя в этой истории, вот практический план действий.
- Найдите свою самую ненавистную рутину. Команду, которую набираете 40-й раз. Идеальный кандидат для первого скрипта.
- Напишите скрипт, который делает это за вас. Даже если он уродлив. Даже на PowerShell. Главное — он должен экономить время.
- Добавьте обработку ошибок. Что будет, если команда не выполнилась? Научитесь ждать маркер успеха, а не просто падать по таймауту.
- Сделайте интерфейс. Это необязательно, но именно так скрипт превращается в инструмент для других. Хотя бы простую форму или конфиг-файл.
- Используйте инструмент в реальной работе. Собирайте обратную связь, чините баги, записывайте изменения. Это уже процесс разработки.
Что делать, если вы сисадмин и хотите в разработку
Вот несколько правил, которые работают вне зависимости от вашего стека.
- Не нужно начинать с теории алгоритмов. Начните с задачи, которая болит. Всё остальное придёт следом.
- Используйте свой опыт. Вы знаете, как работают серверы, сети, базы данных. Это полдела в разработке — понимать, для кого и зачем пишется код.
- Не ждите разрешения. Никто не просил сисадмина делать утилиту для NetApp — он сделал её, потому что ему надоело. Это легитимный старт.
- Готовьтесь к тому, что ваш код будет использоваться. Тогда придётся думать о том, как он выглядит, как тестируется и как сопровождается.
В итоге из простого скрипта выросло полноценное приложение: с тёмной темой, поддержкой трёх языков, тестами и changelog. Автор этой истории признался себе: «Я разработчик» — хотя формально образования так и не получил.
Если вы сисадмин и постоянно вставляете одну и ту же длинную команду — попробуйте обернуть её в скрипт. Это может занять выходные, сэкономить год работы и, возможно, изменить вашу карьеру.
Комментарии (0)
Войдите, чтобы комментировать.
Пока нет комментариев. Будьте первым.