文 / 王不留(微信公众号:程序员生存指南)
与一线同事谈心,我听到的最多且最突出的声音,主要有以下两类:
1、项目成员的心声:不想做系统运维,只想专心做开发。
2、项目经理的心声:不想做项目经理,只想安心做开发。
调研回来后,针对这两个问题,我思考了很多。现在结合自己的经历,总结了一些想法,希望对大家工作有所帮助。
01
一、项目成员层面
1、原因分析
咱们现场目前大部分工作是系统运维。大家感觉每天都在做重复的事情,没有激情,同时因为无法接触技术,担心会落伍。
简而言之,即有对未来的担忧,又有对未来出路的迷茫。
2、解决思路
部门因为实际需要,无法安排所有人员从事纯研发岗位。大家一定要打破思维定势,在当前环境下,提高自己实力。
记得当年热播电视剧《士兵突击》,许三多被分配到红三连五班。在荒无人烟的大沙漠里,他并没有像其它战友一样,安于现状,混到退伍,而是做一件有意义的事-修路。在战友的冷眼中,他一直在踏实做这件事,最后感动战友,同心协力铺就了一条路!
咱们考虑下从事的运维工作。是不是每天也在安于现状,只是通过手工处理各种报障?为什么不考虑通过编写程序入手,让程序代替人工进行维护呢?
3、具体做法
1)转变思想,破除思维定势。
首先要树立三个观念:
a)我们的定位是软件设计师,不是系统维护师
b)积极主动用程序处理一切重复工作
c)我们可以写好代码
代码是为人服务的。不必要求代码多么经典,多么高大上。语言、中间件本无优劣之分。只是需要根据不同的场景,选用合适的语言、中间件。一般JAVA与数据库组合,可以解决绝大部分问题。
2)主动发现系统存在的问题。将运维工作中,把每天重复的工作进行分类。大家有没有发现。经常处理的问题,通常就是更新数据库几个字段,或重启下进程。完完全全可以用程序实现。
3)编写小程序解决这些问题。针对每一个或每一类问题,写一个或多个小程序小脚本去解决。不必考虑程序是否高效。只要帮你解决问题即可。
这样就意味着你开始逐渐脱离人工维护工作。大家首先的定位是让程序代替人工劳动。编写的小程序完全可以脱离系统架构,这样对现有的系统也不会产生运维风险。
4)整合优化众多小程序。写出来的这些小程序,就是你的兵。也就是说,你可以有一个兵、两个兵、乃至成百上千个兵分担你的工作。这样可以让你从繁琐的工作中解脱出来。我暂且把它们叫做“程序兵”。
“程序兵”太多,不好维护。咱们就把这些小程序进行优化整合。把成百上千个兵整合重构成几十个,再进一步,重构成十个、九个或……一个大兵。
这些程序兵是大家自己创造的。我相信大家也有动力不断优化它们。大家在整合重构过程中,开发能力就可以得到进一步的提高。
5)编写经验文档,乐于分享。把程序优化到自己感到满意后,写成一份经验文档,分享给大家。
公司的产品通常不会只推广一个省份。你遇到的问题,别的省份也会遇到,你把自己的程序和经验,共享给其它省份,一方面帮其它同事从同样的工作出解脱出来,另一方面你在分享中也体会到一种成就感和荣耀。
4、预期效果
1)快速提高开发能力。自己主动发现问题,积极编写程序解决。即可以提高自己开发能力,又让系统运行的更加智能稳定。
2)有力展现自己的风采。可以充分证明自己,在研发方面,你的运维能力强;在运维方面,你的研发能力强。也让更多的同事知道你。
3)为转型研发创造机会。各区域的市场需求非常多,公司也非常希望区域做大做强。大家通过锻炼,把自身的能力提高,区域就不再是一个实施单元,而是一个拥有丰富的技术和运维经验人才的经营单元。
大家可以在本地开发新产品,而不完全依靠本部。咱们的销售同事也就无后顾之忧,可以尽情拿单,区域也就会更加强大。
02
二、项目经理层面
1、原因分析
项目经理的痛苦,我深有体会。上有客户骂,下有成员烦,左有领导催,右有恋人怨。总结一句就是吃力不讨好。
这让项目经理就容易产生想法:如果只做开发,就只需与电脑打交道。图以清静;每天都是在无休止的沟通和日常琐碎事务中度过,没有开发产品来得实际。
2、解决思路
做项目经理,也是咱们从事管理工作的第一步。请一定要坚持!
项目经理压力大很正常,无压力不成长。在社会生活中,人际关系是最复杂的。不与人交往,不算踏入社会。
项目经理通过长时间锻炼,不应只定位开发,而应有更大的格局。立足项目,多思考如何把人员管理好,把任务分配好,同时考虑项目下一步的发展方向。
大家可能会说,我们每天都很忙,没有时间考虑这些事情。其实这些事反而是一个项目经理最应该优先考虑的。
咱们项目经理经常说缺人。其实缺的不是人数,而是缺乏有经验有能力的人。项目经理需要积极引导项目成员发挥主动意识,利用程序代替重复劳动的思想,一方面让日常运维智能化,另一方面让他们的能力得到加强。
他们通过锻炼获得成长,节省出运维时间帮团队解决其它事情。
这种双赢局面。何乐而不为?
咱们做为项目经理,千万不要固步自封。要敢想敢做,把系统做得更智能,更健全,以至最后不需要人去维护。这将是一个巨大的贡献!
3、具体做法
1)转变思想,破除思维定势。
首先要树立以下两个观念:
a)我们的定位是项目经理,一名管理者
b)积极主动考虑用程序处理一切重复工作
2)汇总分析,归纳问题列表。
把系统长久存在的缺陷,以及每日客户反馈的问题,进行汇总和分类,形成“系统问题清单”。
3)任务分配,确定完成时间。
在不允许直接在系统上修改问题的前提下,将任务分配给所有人员。确定合理的完成时间点,形成“系统问题跟踪表”。大家在此期间,练习编写小程序解决对应问题。
4)编写文档,分享项目经验。
从系统的角度,提供问题解决经验,为其它省份的运维提供参考。
以上,是我在现场和大家沟通后,这段时间想到的一些解决方法。希望对大伙有所帮助。如有任何疑问,欢迎留言交流。
真心希望大家在运维中开阔思路,用程序解决日常重复的劳动,在运维中提高自己的开发能力,实现自己的人生价值。
* 作者简介:王不留
关注微信公众号「程序员生存指南」,收看更多精彩内容
标签:大家,项目经理,从事,运维,系统,程序,问题,程序员 From: https://blog.51cto.com/u_15858664/5817937