许多IT部门认为其IT自动化服务已经十分完善,但是事实上,这只是一种错觉。随着我所接触的IT自动化工具越来越多,现在逐渐意识到只有很少的企业能够实现真正意义上的自动化。当员工使用像VMware vRealize Automation这样的后台系统时,我们会对自动化产生期待。类似工具能够提供多种自动化功能。但是如果仔细分析,你会发现这些自动化工具只是被用来完成一些简单任务,比如制定批准流程、向员工发送邮件、向配置管理数据库当中记录信息或者完成系统复制等功能。而我认为自动化的主要作用应该是减少员工的工作量。
这个问题我已经思考了很长时间,并且发现了导致这种情况发生的一个重要原因:IT员工不知道如何针对他们所使用的电脑进行系统编程。
过去,企业需要对自己使用的电脑进行十分深入的理解。事实上,那些机器也不是特别复杂——相对于现在的电脑来说,其抽象层更少、操作系统更加简单、应用程序更加依赖于硬件。但是相关商业软件十分***,因此业务部门只能自己开发应用程序。的确,过去的IT团队当中也有很多非程序员,但是相对于其他角色来说程序员的比例要高很多,并且都是为了满足业务需求。
随着个人计算机和商业软件的兴起,系统程序员数量不断减少。IT员工不再需要学习如何编程,而是将注意力转到厂商认证方面。大部分情况下IT员工能够了解软件的工作方式就够了,而不需要理解底层的实现原理。计算机专业的学生被商学院毕业生所取代。MBA能够在IT部门当中发挥重要作用,但是他们中只有很少一部分知道如何编程。但是现在,企业需要构建内部云环境,并且推出自动化服务,然而现在的IT部门当中已经很少有人能够完成这项工作,即便是最为基础的功能。
当然,企业可以购买专业服务来完成这些系统集成和自动化任务,但是我并不推荐使用这种方式。因为咨询顾问并不会考虑企业不断变化的长期利益,他们只是想要完成当前工作,之后接受下一项任务。项目完成之后,如果出现任何问题,他们不会过来解决。当然,更新系统安全补丁也不是他们的职责范围。他们并不会帮助企业提升对于所依赖技术的理解能力。
我们应该思考IT部门是否应该重新聘请系统程序员来完成相关开发任务。他们是否应该具有和其他IT员工一样的素质和能力?是的。但是不是商业学位,我们应该从计算机科学或者软件工程领域当中寻找这些开发人员。我们需要那些理解计算机底层运行原理的员工,并且根据企业需求开发相应软件,而不是使用厂商所提供的功能。
企业还需要为系统程序员提供支持。IT部门需要同时聘请多个系统程序员以相互协作、备份以及提供内部支持。此外还需要为技术员工设立晋升通道,但不一定是进入到管理层职位:程序员应该能够获得更好的职位、更高的晋升,比如可以作为team leader,而不是传统的管理角色。
我相信只有当企业重新聘请系统程序员,特别是企业掌握更多技术细节之后,IT部门才能成功构建自动化服务和数据中心云环境。