曾经在大学的时候负责过学校网站的运维(从内存条、PCI到HTTP服务器那种),后来工作了在百度开始做运维自动化的开发,再后来又带着20多个人的团队在360从零开始做了两个Android的项目,我想我还是有资格说说运维和开发的关系的:
我认识很多运维,工作了2~3年后普遍觉得自己就是个操作员,天天半夜起来“抗洪救灾”不说,还偶尔背黑锅。到了年终大头都让研发、产品、测试分了……
但请不要抱怨,想一想,如果自己是老板会不会这么做呢?
研发、产品就像Dota里的DPS和Gank,是左右战局发展的;测试、运维一个是奶妈,一个是肉不被重视是很自然的。
运维和开发是互联网大生产时代分工的必然结果,但如果你画地为牢,就不要抱怨别人为什么过得更好
<img src=\‘#\‘" //pic3.zhimg.com/7624ba0bf5c19d172e39e464722bcf1a_b.png" data-rawwidth="625" data-rawheight="329" class="origin_image zh-lightbox-thumb" width="625" data-original="https://pic3.zhimg.com/7624ba0bf5c19d172e39e464722bcf1a_r.png">
我想说的是:
-
不要把运维当作一种职业去发展,一般运维做2~3年就会遭遇瓶颈期
- 工程开发人员想要有深入的发展,必须懂一定的系统运维
- 如果你是运维,请明白一个程序能稳定运行在线上,不是什么魔法,是研发的付出
- 由于PaaS的迅猛发展,传统运维的工作(配网络设备,服务器物理操作)将会越来越少,建议运维人员向运维开发或者系统开发转型
- 如果你是开发,请尊重团队的成员,不要给别人凭添麻烦,如下
在BAT的经历让我总结了一个道理:“写出需要别人擦屁股的程序,是一个开发人员的耻辱”。
大学的时候有幸接触了Linux网站运维的工作,勤工俭学负责了学校网站的运维工作,现在回头看来这份工作的技术含量不是很高。当时觉得最牛的事情就是做做内核裁剪,后来由于好奇心的驱使,初生牛犊不怕虎,斗胆修改了proftpd的代码。从此走上了系统开发的不归路,由于深知系统运维的工作的枯燥,我给自己开发的程序定下了几个原则:
- 不能崩溃,要有自己的崩溃恢复机制
- 内存泄漏,句柄泄露这种事情决不允许发生
- 尽量静态依赖所有的库,除了常见的libc、libm等什么都不要依赖,做到丢到服务器上就能运行,像这样miniPy for CentOS 5/6和 异步多线程C/S框架gko_pool
- 做好start、stop、restart脚本
- 能通过参数传递实现的功能,绝不要求写配置文件
- 默认参数就是最佳配置,同样参见上面的项目
- 能自己处理日志,自带rotate功能,同样参见上面的项目
匿名用户
运维更锻炼人。但是有一点。。运维相对于开发会比较影响生活。很多运维都是24小时待命的
假装很淡定,DBA(关注oracle,mysql,各种nosql)
我干过好几年运维和DBA,呆过500强大公司,也呆过小公司(现在),现工资17k,主管说这已经是公司能给运维人员的相当高的工资了,看看公司规模,才50几台服务器,用到的技术也很弱,我觉得主管说的是实话。闲扯几句在大公司和小公司干运维的区别,供准备进入这行的同学参考:
1、大公司重流程和协调。运维一般分为一线二线三线,三线往往是研发接口人了。很多时候,不需要你技术能力很强,一个问题,你独立解决还是求助高手解决了,公司无所谓,能解决就行。这样子导致很多人干了几年下来,技术能力其实很弱,bash都写不好。顶着一个500强“高级系统工程师”的title,其实自己知道自己斤两,不是说这个工程师不行,而是大公司分工太细了,他只会他负责的那个小领域。
2、小公司重独立快速解决问题的能力。从大公司去小公司干运维,会感觉从正规军去了游击队,很多小公司做事真是令人发指的不规范。升级不打申请,没有文档,没有审批,事后没有总结,糊里糊涂一个事情就做完了。处理了故障,也不写案例,谁都不知道他怎么处理的。小公司的这种作风,看上去效率很高,实际上难以培养出高水平的专业性工程师,而且小公司对技术的需求很弱,对运维的要求更弱,往往只要求你不出故障就行了。
总体来说,运维没有研发的发展有后劲,同时也难以彰显绩效。尤其是创业阶段的小公司,研发绝对是公司的核心,而运维可能就是跟在研发后面打打酱油。研发不断出版本,这个月V1.0,下个月V2.0,让公司老板能直观感觉到他们的绩效。而运维很多兄弟,喜欢闷头处理故障不爱写文档,还沾沾自喜,实际上,领导知道吗?做事情,一定要让领导知道,把绩效show出去,这是最重要的。在我看来,运维的工作开展,有三个层次:
1)、坐等故障发生,然后处理故障
2)、主动深入观察系统,优化系统,实施自动化运维
3)、优化运维架构,跟进新技术,参与研发前期架构选型
小公司大多处在第一个层次。
echoWLT,SA
因为从小对数学有心理阴影,转而对coding也有种怕怕的感觉,老下不了手。选择了运维。但现在慢慢努力学习写代码。一直以来的经验告诉我有些东西,你进去了才发现也不过如此,何不努力尝试一下。更何况,一个好的运维本身就应该至少是半个开发。
运维和开发同等重要,只有一个到后面会越发发现瓶颈!
colive zhang,just i can stop myself !
我会选择运维,当初也是在运维和linux c开发犹豫了很久,不知道选那个,最后还是决定了开发,但结果找工作还是运维。也许这就是命。爱捣腾,爱解决问题