我是一名系统管理员,并且非常擅长 ASP.NET 开发和 .NET。
我的 .NET 技能是否有可能成为我的劣势?那位头发尖尖的老板会怎么想?
当我们的“开发人员”无权管理后端系统时,我突然想到了这个问题。我不确定这是因为职责分离、数据被盗/丢失的风险、SOX 控制还是其他原因。
你怎么认为?
答案1
以我个人的拙见,.NET 技能绝对不会对你不利。恰恰相反。如果你熟悉 .NET 框架,那么你就能更好地充分利用 Powershell,它只会帮助你完成与系统管理员相关的自动化任务。
这位头发尖尖的老板应该意识到你可以利用 .NET 来自动化你的 Windows 环境。
此外,拥有开发人员经验有助于您了解系统是如何组合在一起的。尽可能多地了解整个情况会带来巨大的好处。我是一名系统管理员/开发人员/数据库管理员,了解后端方面的事情对我的开发项目大有裨益,反之亦然。
答案2
拥有非系统管理员的经验和技能对于任何系统管理员职位来说都是一笔巨大的财富 - 因为它让您更深入地了解系统的底层操作以及它们如何为您的业务服务。您还可以更好地与程序员进行适当的交谈,并预测/满足他们的需求。这也是双向的 - 具有系统管理经验的程序员通常比不了解系统管理员角色和实践的程序员更好合作。
不过,有一个警告。当将编程能力带入系统管理员工作时,很容易采取“我有一把锤子,这看起来像钉子”的方法。你会发现问题,你的第一个想法是“我可以编写一个快速应用程序来解决这个问题”。但这是一个问题,因为:
- 您所创建的内容很可能无法由继任者维护,因为您的编程能力不符合系统管理员所拥有或可能想要深入掌握的“标准”能力。这对企业来说是一个问题(即使他们没有意识到这一点),因为他们要么在寻找继任者时会遇到困难(必须找到另一个具有 .net 编程经验的系统管理员,这是一个非常具体的要求),要么他们会用没有 .net 经验的系统管理员来填补这个职位,而您的应用程序将会恶化或成为负担。
- 你会因为编码而分心,注意力会从系统管理上转移。它们是截然不同的工作量,需要不同的方法,如果你试图同时兼顾两份工作,那么你不可能在任何一个岗位上发挥出最佳水平。
- 编码使您能够以百万种方式解决一百万个问题,但您遇到的大多数系统管理员问题都会有一个“最佳实践”解决方案,或者需要一些不基于编写自己的代码的其他解决方案。举个例子 - 我遇到过编译成 .exe 的登录脚本,因为实施它的系统管理员对 C++ 的了解比对 VBS 的了解要多。
无论如何,我的核心观点是,只要他们不试图用代码解决所有系统管理问题,具有编程经验的系统管理员就是一项资产。
答案3
掌握额外的技能绝不是坏事。事实上,掌握广泛的技能会让你成为更好的员工。
答案4
您的开发人员无权以管理员身份访问服务器,原因很简单:他们会把事情搞砸。
你的工作是确保它正常运行、记录、锁定、安全、有序。开发人员在这样的地方的工作是让它工作。在他们获得访问权限的情况下,让它正常工作通常不是他们的首要任务。
我的建议是不要假装自己是一名开发人员(尤其是当你使用带引号的术语时),他们的工作会比你做得更好——你会忽略他们所拥有而你没有的纪律——开发人员不会写下安装的每个步骤和每个文件,但他们在代码的内部结构方面会更加严格。所以选择你想要的角色并专注于此,将其他角色推向“我知道的足以理解挑战”的态度。
(是的,我是概括性的,但你应该明白我的意思了——两种不同的角色需要不同的态度)