在很多情况下,运维占到软件成本的大块,专业的运维人员更是不好找。这样的人需要熟悉操作系统、网络以及数据库。而运维又是一件很苦逼的事情,成了算是软件写得好,研发团队的功劳;败了就得彻夜坚守岗位提供支持,不可控的因素太多。是上游团队的软件质量太差吗?
我在09年的时候曾经到过局方,呆了挺长一段时间,既是开局,也做运维的工作,和运维的工程师朋友一起蹲机房、守夜、切设备,知道其中无比的苦楚。很多情况下,版本的更迭、割接,都要在凌晨完成,需要仔仔细细地测试;不幸失败了还需要立即回滚,然后陪着项目组等领导骂,等新版本或者补丁到来,再重复熬夜的这段过程……
不如大胆一些,解雇你那些抱怨不止、喋喋不休的运维人员吧,这件事就让程序员来完成!实际上,我在这篇文章里面已经说了:
让程序员做更多种类的事。为什么有人说小公司锻炼人?在小公司,条件并不那么齐备,很多事情都需要程序员自己做,自己去澄清需求、自己做设计、自己搭建环境、自己测试,甚至自己上线、自己维护(这件事情在我们团队被称为“自己吃自己狗食”)。
除了给程序员以锻炼,带来的好处是什么?
- 不会再有那么多人抱怨傻叉的版本质量了,因为再烂的软件,也是自己拉的屎。骂自己或者自己团队,何必呢?
- 极大减少所谓的“一线”和“家里”的沟通成本。让那些扯皮的事情躲得远远的吧。
- 解决问题的人很容易就可以是熟悉问题,甚至是制造问题的那个人,他将是解决那个问题最合适的人选。
大致的原理很简单,程序员借由一些工具、平台,实现在远程的情况下实施运维工作,包括监控、急救、修正、记录等等。
如果需要减少运维人员,并不是所有项目都可以做到的。那么什么类型的项目容易实现呢?
- 相对开放的网络,没有过高的安全性要求。这里所说的“开放”,并非指要把整个系统暴露在互联网环境之下,而是说,可以提供相对宽松的接入渠道,便于程序员以远程访问的方式来定位和解决问题。如果你是一个现场研发的强力支持者,那么你可能需要稍稍改变一点思路。不是只有在你眼皮底下工作的人才是敬业的。
- 没有太多硬件的约束。软件上的措施,相对好操作,如果涉及硬件,而且又是特定要求的硬件,譬如必须要在某局方更换硬盘,遥远的程序员呆呆地看着,就显得无能为力了。
- 强大的平台和工具支持。这在下面会提到。如果没有它们,相当于把苦逼的工作从运维人员转移到了程序员身上,没有从实质上解决问题。这样的平台和工具不是任意的,需要时间和技术的积累。
程序员不是专业的运维人员,所以如果把运维工作原原本本地交给他们,他们应该很难做好。如果我们设法简化、改善运维工作,让它简单到程序员也可以凭借自身的特点去完成(就如同计算器的入门门槛要远低于算盘一样),解雇这些专业的运维人员,也是可能的:
- 选用一个云平台去代替那些复杂的保障方案,代替那些脚本横行的双机和集群工具。国内外许多厂商都提供了云主机服务,而且成本明显有愈来愈低的趋势。
- 提供一套机制,可以让程序员把版本、patch方便地部署到生产环境上。这是一件极大影响工作效率的事情,不要指望程序员可以和和气气地把补丁准备好,拷贝到跳板机上,再上传到生产环境中。通常,我们需要一套编译和部署系统,这套系统允许程序员在测试或者本地环境下完成环境准备、对问题的修复和验证,再方便地将修正替换到生产环境中。仔细想想,拥有这样一套机制才是困难的事情,据我了解,能做到的公司屈指可数。
- 完备的监控系统。很多公司都有自己成熟的监控系统,包含消息通知机制。针对特定的项目,可能需要定制少量特殊意义的监控脚本。让程序去获取和观察这些结果,而不是人。不过,懒惰的程序员肯定很愿意去完成这样的程序,减少自己苦逼的劳动。
有了这些,让程序员来维护你发布了的产品吧。因为出了问题而获知这个不幸消息的程序员,严重的问题会让他在不情不愿中马上行动起来。你在第一时间看到的是解决实际问题的重现、分析、修正和测试,而不是打电话扯皮或者报告领导,或者汇报所谓的“安抚客户”工作。程序员都是做实事的人,这个过程越是让他们痛苦,质量的提高越有希望,程序员越能够发现改进的办法。
由上可见,让程序员来代替专业的运维人员其实并不容易做到。我确信在人力资源充裕的中国当下,这件事情似乎显得还没那么迫切。另一方面,相较于让程序员去干专业黑盒测试的活儿,运维的工作似乎更难做。但无论如何,这是一个恒定的趋势,人的劳动力会越来越值钱,机器需要替我们做更多的事情。
文章系本人原创,转载请注明作者和出处
注:本博客已经迁移到个人站点 http://www.raychase.net/ ,欢迎大家访问收藏,本ITEye博客在数日后将不再更新。
相关推荐
MDJT公司的人员招聘、录用和解雇管理规定旨在建立一个规范化的流程,以确保公司运营的稳定性和员工权益的保障。这一制度适用于公司所有员工和公司在招聘、录用和解雇过程中的各个环节。以下是该制度的主要内容: 1....
【周口市专业技术人员权益保护试题】 在当前的信息化社会,专业技术人员的权益保护显得尤为重要。这份“周口市专业技术人员权益保护试题”旨在考察和提高相关人员对这一领域知识的理解和应用能力。以下是对该试题...
《专业技术人员劳动合同》是针对从事IT行业或其他技术领域专业工作的人员所制定的一种法律文件,它在保障双方权益、明确工作职责、规定薪酬待遇、设定保密条款等方面起着至关重要的作用。下面将对这份合同的常见内容...
IE太麻烦了,有木有?IE经常出现这样那样的问题,而我们经常都喜欢使用火狐浏览器,那么就需要这个一款插件,绝对好用。
6. **绩效评估与管理:**负责下属员工的工作绩效考核、评审以及转正、解雇、晋升等事项的申请。 - **重要性:**公正合理的绩效管理机制能够激励员工的积极性,同时也为员工的职业发展指明方向。 7. **制度建设:...
文档标题和描述中提到的是一个针对“一般管理和专业技术人员年度能力评价不合格人员名单”的管理表格。这个表格主要用于记录和评估企业或机构内部的管理和专业技术人员在一年内的工作表现和能力水平,以确定哪些人员...
在当今社会,随着市场经济体制的不断完善,企业与专业技术人员之间建立了一种基于相互尊重、平等互利的劳动关系。为了维护这种劳动关系的稳定性和双方的合法权益,签订一份详尽的《专业技术人员聘用合同书》显得尤为...
《专业技术人员聘用合同书》是企业在招聘专业技术人员时所使用的一种法律文件,旨在明确雇主(甲方)与雇员(乙方)之间的权利、义务和责任。以下是该合同书涉及的主要知识点: 1. **合同签订**:合同由甲方(聘用...
" "3.5.3凡有下列情形之一者,视情节轻重予以适当处分、解雇或移交法办: " "ϖ 利用厂牌在外作不正当的事情者; " "ϖ 厂牌借给非本公司同仁,而在外破坏本公司名誉或肇事者; " "3.6员工离职时应将厂牌交换人事...
由于退休人员通常拥有宝贵的专业知识与丰富的工作经验,甲方因此出于满足特定需求的目的而聘请乙方。合同内容涵盖了聘用岗位、合同期限、工资待遇、福利、以及解雇条件等多个方面。 在聘用期间,合同规定了具体的...
因此,有效的沟通策略和团队支持机制至关重要,特别是对于关键岗位的IT专业人员。 综上所述,虽然"解雇通知(由于违反公司规定)"这个主题本身并不直接涉及IT技术,但它与IT行业的工作环境、员工管理和合规性密切...
然而,是否构成严重违反规章制度,需要考虑员工是否存在主观恶意以及违规行为的严重性,这些都需要在审理过程中由法律专业人士进行判断。 因此,企业在处理员工严重失职问题时,应谨慎行事,确保解雇行为的合法性。...
9. 解雇决策的透明度:解雇通知应清晰阐述解雇原因,以避免任何误解。这种透明度不仅有助于保护公司的利益,也能使员工理解他们的工作表现为何未能达到要求。 10. 人力资源管理:人力资源部门在处理此类情况时扮演...
12. 专业技术人员继续教育公共效劳:政府主导,社会参与是基本原则(B正确,A、C错误)。D选项表述不完整,通常应为“政府主导,社会参与,市场调节”。 13. 劳动争议调解组织:劳动争议当事人可以向乡镇、街道调解...
这篇关于“如何解雇严重违纪员工”的内容,虽然不是直接的技术知识,但却是IT管理者需要了解的法律知识,因为它涉及到员工关系的管理,这也是保证公司正常运行的重要环节。 首先,解雇员工的依据主要包括员工严重...
《员工不能胜任工作如何取证及解雇流程.doc》通过案例分析,深入阐述了在判定和处理员工不能胜任工作时需要遵循的取证程序和解雇流程。 首先,明确何为“不能胜任工作”是整个流程的起点。在劳动法律框架下,这一...
文档中的内容涉及的是中国全民所有制事业单位专业技术人员和管理人员辞职的相关流程和表格模板。以下是相关知识点的详细说明: 1. **辞职申请流程**: - 员工填写辞职请求表,包括个人信息(姓名、性别、出生年代...
【员工管理】专业技术人员继续教育权益保护涉及到的内容广泛,涵盖了劳动法、劳动合同、集体合同、劳动者权益、未成年工保护、违约责任、工作时间、女职工保护、专利权、著作权、商标权等多个方面。 1. 集体合同:...
在快速发展的现代建筑行业,工程造价管理的专业性与复杂性日益提升,而驻场人员作为连接施工现场与企业管理层的重要纽带,其工作效率与质量直接关系到项目的成败。为了确保工程造价管理的精确性和高效性,制定一个...