2017-12-01  3,247 views

负责运维的程序员提高开发能力的一些方法-现场调研后的一些思考

 标签:  
您可能还对这些感兴趣
切换
    • 暂无相关日志
我经常到一线和同事们谈心,以便了解他们的心声。我听到的最多且最突出的声音,主要有以下两类:
1、项目成员的心声:不想做系统运维,只想专心做开发
2、项目经理的心声:不想做项目经理,只想安心做开发调研回来后,针对这两个问题,我思考了很多。现在结合自己的经历,总结了一些想法,希望对大家工作有所帮助。

 
    一、项目成员层面
1、原因分析
咱们现场目前大部分工作是系统运维。大家感觉每天都在做重复的事情,没有激情,同时因为无法接触技术,担心会落伍。简而言之,即有对未来的担忧,又有对未来出路的迷茫。 
2、解决思路
部门因为实际需要,无法安排所有人员从事纯研发岗位。大家一定要打破思维定势,在当前环境下,提高自己实力。记得当年热播电视剧《士兵突击》,许三多被分配到红三连五班。在荒无人烟的大沙漠里,他并没有像其它战友一样,安于现状,混到退伍,而是做一件有意义的事-修路。在战友的冷眼中,他一直在踏实做这件事,最后感动战友,同心协力铺就了一条路!
咱们考虑下从事的运维工作。是不是每天也在安于现状,只是通过手工处理各种报障?为什么不考虑通过编写程序入手,让程序代替人工进行维护呢?
3、具体做法
 1)转变思想,破除思维定势。首先要树立三个观念:
 a)我们的定位是软件设计师,不是系统维护师
b)积极主动用程序处理一切重复工作
c)
我们可以写好代码
代码是为人服务的。不必要求代码多么经典,多么高大上。语言、中间件本无优劣之分。只是需要根据不同的场景,选用合适的语言、中间件。一般JAVA与数据库组合,可以解决绝大部分问题。 
2)主动发现系统存在的问题。将运维工作中,把每天重复的工作进行分类。大家有没有发现。经常处理的问题,通常就是更新数据库几个字段,或重启下进程。完完全全可以用程序实现。

3)编写小程序解决这些问题。针对每一个或每一类问题,写一个或多个小程序小脚本去解决。不必考虑程序是否高效。只要帮你解决问题即可。这样就意味着你开始逐渐脱离人工维护工作。大家首先的定位是让程序代替人工劳动。编写的小程序完全可以脱离系统架构,这样对现有的系统也不会产生运维风险。

  4)整合优化众多小程序。写出来的这些小程序,就是你的兵。也就是说,你可以有一个兵、两个兵、乃至成百上千个兵分担你的工作。这样可以让你从繁琐的工作中解脱出来。 我暂且把它们叫做“程序兵”。

     “程序兵”太多,不好维护。咱们就把这些小程序进行优化整合。把成百上千个兵整合重构成几十个,再进一步,重构成十个、九个或……一个大兵。这些程序兵是大家自己创造的。我相信大家也有动力不断优化它们。大家在整合重构过程中,开发能力就可以得到进一步的提高。

 5)编写经验文档,乐于分享。把程序优化到自己感到满意后,写成一份经验文档,分享给大家。公司的产品通常不会只推广一个省份。你遇到的问题,别的省份也会遇到,你把自己的程序和经验,共享给其它省份,一方面帮其它同事从同样的工作出解脱出来,另一方面你在分享中也体会到一种成就感和荣耀。

4、预期效果
 1)快速提高开发能力。自己主动发现问题,积极编写程序解决。即可以提高自己开发能力,又让系统运行的更加智能稳定。

  2)有力展现自己的风采。可以充分证明自己,在研发方面,你的运维能力强;在运维方面,你的研发能力强。也让更多的同事知道你。

3)为转型研发创造机会。各区域的市场需求非常多,公司也非常希望区域做大做强。大家通过锻炼,把自身的能力提高,区域就不再是一个实施单元,而是一个拥有丰富的技术和运维经验人才的经营单元。大家可以在本地开发新产品,而不完全依靠本部。咱们的销售同事也就无后顾之忧,可以尽情拿单,区域也就会更加强大。

二、项目经理层面
1、原因分析
项目经理的痛苦,我深有体会。上有客户骂,下有成员烦,左有领导催,右有恋人怨。总结一句就是吃力不讨好。这让项目经理就容易产生想法:如果只做开发,就只需与电脑打交道。图以清静;每天都是在无休止的沟通和日常琐碎事务中度过,没有开发产品来得实际。

 2、解决思路
做项目经理,也是咱们从事管理工作的第一步。请一定要坚持!
项目经理压力大很正常,无压力不成长。在社会生活中,人际关系是最复杂的。不与人交往,不算踏入社会。项目经理通过长时间锻炼,不应只定位开发,而应有更大的格局。立足项目,多思考如何把人员管理好,把任务分配好,同时考虑项目下一步的发展方向。
大家可能会说,我们每天都很忙,没有时间考虑这些事情。其实这些事反而是一个项目经理最应该优先考虑的。
咱们项目经理经常说缺人。其实缺的不是人数,而是缺乏有经验有能力的人。项目经理需要积极引导项目成员发挥主动意识,利用程序代替重复劳动的思想,一方面让日常运维智能化,另一方面让他们的能力得到加强。他们通过锻炼获得成长,节省出运维时间帮团队解决其它事情。这种双赢局面。何乐而不为?
咱们做为项目经理,千万不要固步自封。要敢想敢做,把系统做得更智能,更健全,以至最后不需要人去维护。这将是一个巨大的贡献!

3、具体做法
1)转变思想,破除思维定势。首先要树立以下两个观念:
 a)我们的定位是项目经理,一名管理者
b)积极主动考虑用程序处理一切重复工作

2)汇总分析,归纳问题列表。把系统长久存在的缺陷,以及每日客户反馈的问题,进行汇总和分类,形成“系统问题清单”。

 3)任务分配,确定完成时间。在不允许直接在系统上修改问题的前提下,将任务分配给所有人员。确定合理的完成时间点,形成“系统问题跟踪表”。大家在此期间,练习编写小程序解决对应问题。

  4)编写文档,分享项目经验。从系统的角度,提供问题解决经验,为其它省份的运维提供参考。

以上,是我在现场和大家沟通后,这段时间想到的一些解决方法。希望对大伙有所帮助。如有任何疑问,欢迎留言交流。真心希望大家在运维中开阔思路,用程序解决日常重复的劳动,在运维中提高自己的开发能力,实现自己的人生价值。

此文来自一位公司管理人员的心得体会,在此全文转发,希望对在运维岗位的程序员的职业规划有一定帮助。

给我留言

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: