好程序员 VS 好运维

看到这篇文章有感

文章指出,一种好程序员

好的程序员,是能搞懂操作系统,计算机网络,编译原理,能写出非常炫酷的代码

另一种好程序员

对这些原理都不太懂,但是总是能用别人的框架完成自己的工作的。

作者认为后一种程序员更好,因为能为企业创造直接的经济价值。
更好的程序员

更好的程序员应该精通各种原理,同时又能快速的学习和使用各种框架,并别制作有经济价值的产品的程序员吧嗯,是的

原理精通,快速学习框架工具,用优雅的方式创造产品,为企业创造价值。

那么,作为运维,什么是好的运维,什么是更好的运维呢?

在《软技能》一书中作者提出,软件开发人员售卖的就是他们把一个想法变成一个数字化现实产品的能力。运维人员售卖的是软件的保险,保障软件稳定运行。通过软件设计、运行环境高可用,可以让软件更健壮,不用买保险。所以运维就只有在更高层次上寻找价值:构建高效的软件开发和发布环境,提升软件生产效率;构建高可用的软件运行平台(成立小保险公司,为众多软件运行一起买保险)。对于直接面向消费者的产品,运维转变为站点稳定性工程师,对于面向公司的产品,运维转变为客户稳定性工程师。

程序员可以通过编写单元测试,验证程序的功能。运维人员怎么测试他售卖给软件的保险是有效的呢?软件系统运行,需要物理硬件、操作系统、中间件、代码,每个方面都要测试验证。奈飞淘气的猴子,就是一个好的测试员,自动制造可控的故障。

开发和运维,都可以加上“工程师”三个字,可见都是使用工程的方法和工具。回顾下吴军在《硅谷来信》中讲的工程师的 5 个层次,看清地图再出发。

第五级: 能独立解决问题,完成工程工作;
第四级:能指导和带领其他人一同完成更有影响力的工作;
第三级:能独立设计和实现产品,并在市场上取得成功;
第二级:能设计和实现别人不能做出的产品,也就是说他的作用很难取代;
第一级:开创一个产业。