Я системный администратор и довольно хорошо разбираюсь в разработке ASP.NET и .NET в целом.
Есть ли вероятность, что мои навыки работы с .NET могут быть для меня недостатком? Что подумает остроносый босс?
Проблема пришла мне в голову, когда нашим «разработчикам» не разрешен административный доступ к серверным системам. Я не уверен, что это из-за разделения обязанностей, риска кражи / потери данных, контроля SOX или чего-то еще.
Что вы думаете?
По моему скромному мнению, навыки работы с .NET не могут быть вам вредны. Наоборот. Если вы знакомы с .NET framework, тогда вы гораздо лучше подготовлены для использования Powershell в максимальной степени, которая не будет ничего делать, кроме как помочь вам с задачами автоматизации, связанными с системным администратором.
Босс с острыми волосами должен понимать, что вы можете использовать .NET для автоматизации всего, что связано с вашей средой Windows.
Кроме того, наличие опыта разработчика поможет вам понять, как устроены системы. Знать как можно больше всей картины - огромное преимущество. Я системный администратор / разработчик / dba, и знание серверной части вещей является огромным преимуществом для моих проектов разработки и наоборот.
Наличие опыта и навыков, не связанных с системным администратором, является большим преимуществом для любой должности системного администратора - потому что это дает вам более глубокое понимание основной работы ваших систем и того, как они служат вашему бизнесу. У вас также больше возможностей для правильного общения с программистами и предвидения / удовлетворения их потребностей. Это также работает в обоих направлениях - с программистами, имеющими опыт системного администрирования, часто гораздо лучше работать, чем с программистами, которые не понимают роли и методов системного администратора.
Однако есть нюанс. При внедрении навыков программирования в работу системного администратора становится довольно легко воспользоваться подходом «У меня есть молоток, и это похоже на гвоздь». Вы обнаружите проблемы, в которых ваша первая мысль - «Я могу написать быстрое приложение, чтобы решить эту проблему». Но это проблема, потому что:
В любом случае, моя основная мысль заключается в том, что системный администратор с опытом программирования является преимуществом до тех пор, пока он не пытается решить все свои проблемы системного администратора с помощью кода.
Знание дополнительных навыков никогда не должно считаться плохим. Действительно, понимание широкого набора навыков сделает вас лучшим сотрудником.
Умение никогда не бывает плохим для человека.
Если вы знаете .NET и у вашего работодателя на него аллергия, вы всегда можете скрыть свои знания.
Но если вы этого не знаете, а это необходимо, вам точно не повезло.
Вашим разработчикам не разрешен доступ администратора к серверу по одной простой причине: они все испортят.
Ваша задача - убедиться, что он работает правильно, зарегистрирован, заблокирован, безопасен и организован. Работа разработчика в таком месте - заставить его работать. Как правило, в тех обстоятельствах, когда они получают доступ, их список не стоит на первом месте.
Мой совет - не притворяться разработчиком (особенно когда вы используете термин в таких кавычках), они будут лучше выполнять свою работу, чем вы - вы будете игнорировать их дисциплины, которых вы не делаете. t - разработчик не будет записывать каждый шаг и каждый установленный файл, но он будет гораздо более строгим во внутренней структуре кода. Так что выберите, какую роль вы хотите, и сосредоточьтесь на ней, опуская другую роль до типа «Я знаю достаточно, чтобы понять проблемы».
(и да, я обобщаю, но суть вы понимаете - для двух разных ролей требуется разное отношение)
Александр Поуп (Очерк критики, 1709) красиво резюмировал:
Небольшое обучение - вещь опасная; пей глубоко или не пробуй пиерийский источник: там мелкие сквозняки опьяняют мозг, а выпивка снова нас отрезвляет.
Пока вы признаете свои ограничения, это должно быть вашим преимуществом в вашей текущей работе. Знание процесса разработки поможет вам понять, почему разработчик считает, что ему нужен доступ к производственному серверу, и вы сможете объяснить, почему это плохая идея.
С другой стороны (разработчик, который немного разбирается в системном администрировании) он помогает узнать, как и почему системы настроены именно так, как они есть - таким образом вы понимаете, почему системный администратор не хочет, чтобы вы были на рабочем сервере.