Назад | Перейти на главную страницу

Опыт работы с .NET - это хорошо или плохо для старшего системного администратора?

Я системный администратор и довольно хорошо разбираюсь в разработке ASP.NET и .NET в целом.

Есть ли вероятность, что мои навыки работы с .NET могут быть для меня недостатком? Что подумает остроносый босс?

Проблема пришла мне в голову, когда нашим «разработчикам» не разрешен административный доступ к серверным системам. Я не уверен, что это из-за разделения обязанностей, риска кражи / потери данных, контроля SOX или чего-то еще.

Что вы думаете?

По моему скромному мнению, навыки работы с .NET не могут быть вам вредны. Наоборот. Если вы знакомы с .NET framework, тогда вы гораздо лучше подготовлены для использования Powershell в максимальной степени, которая не будет ничего делать, кроме как помочь вам с задачами автоматизации, связанными с системным администратором.

Босс с острыми волосами должен понимать, что вы можете использовать .NET для автоматизации всего, что связано с вашей средой Windows.

Кроме того, наличие опыта разработчика поможет вам понять, как устроены системы. Знать как можно больше всей картины - огромное преимущество. Я системный администратор / разработчик / dba, и знание серверной части вещей является огромным преимуществом для моих проектов разработки и наоборот.

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

Однако есть нюанс. При внедрении навыков программирования в работу системного администратора становится довольно легко воспользоваться подходом «У меня есть молоток, и это похоже на гвоздь». Вы обнаружите проблемы, в которых ваша первая мысль - «Я могу написать быстрое приложение, чтобы решить эту проблему». Но это проблема, потому что:

  • То, что вы создаете, скорее всего, будет недоступно вашим преемникам, поскольку ваши программные способности не вписываются в «стандартный» набор способностей, которыми системный администратор мог бы обладать или которые, вероятно, захочет изучить в любой степени. Это создает проблему для бизнеса (даже если они этого не осознают), потому что либо им будет сложно найти преемника (придется найти другого системного администратора с опытом программирования .net, что является довольно специфическим требованием), либо они заполните должность системного администратора без опыта работы с доменом .net, и ваши приложения будут перегружены или станут помехой.
  • Вы будете отвлекаться на кодирование, и ваше внимание ускользнет от системного администрирования. Это очень разные рабочие нагрузки, требующие разных подходов, и невозможно работать в полную силу ни в одной из них, если вы пытаетесь носить обе шляпы.
  • Кодирование дает вам возможность решить миллион проблем миллионами способов, но для большинства проблем системного администратора, с которыми вы сталкиваетесь, уже будет доступно «передовое» решение или потребуется какое-то другое решение, которое не основано на написании собственного кода. В качестве примера - я встречал сценарии входа в систему, скомпилированные в .exe, потому что системный администратор, который его реализовал, знал C ++ лучше, чем они знали VBS.

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

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

Умение никогда не бывает плохим для человека.

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

Вашим разработчикам не разрешен доступ администратора к серверу по одной простой причине: они все испортят.

Ваша задача - убедиться, что он работает правильно, зарегистрирован, заблокирован, безопасен и организован. Работа разработчика в таком месте - заставить его работать. Как правило, в тех обстоятельствах, когда они получают доступ, их список не стоит на первом месте.

Мой совет - не притворяться разработчиком (особенно когда вы используете термин в таких кавычках), они будут лучше выполнять свою работу, чем вы - вы будете игнорировать их дисциплины, которых вы не делаете. t - разработчик не будет записывать каждый шаг и каждый установленный файл, но он будет гораздо более строгим во внутренней структуре кода. Так что выберите, какую роль вы хотите, и сосредоточьтесь на ней, опуская другую роль до типа «Я знаю достаточно, чтобы понять проблемы».

(и да, я обобщаю, но суть вы понимаете - для двух разных ролей требуется разное отношение)

Александр Поуп (Очерк критики, 1709) красиво резюмировал:

Небольшое обучение - вещь опасная; пей глубоко или не пробуй пиерийский источник: там мелкие сквозняки опьяняют мозг, а выпивка снова нас отрезвляет.

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

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