转载-Linux 运维一天的工作时间是如何度过的?
链接:https://www.zhihu.com/question/20261152/answer/182682380
来源:知乎IT人喜欢自嘲,称自己是“IT民工”、“码农”等,无论对挖苦自己多么地“乐此不疲”,但其实他们骨子里流淌的都是对这个行业的骄傲。可是,拥有这样一份骄傲的工作为什么还要自嘲呢?除了有可能是“满足虚荣心”之外,最主要的原因就是“工作真的没含量”。
研发工程师一般称为RD,即Research&Design,通常RD需要“使用”多种开发语言以完成不同工作。一般来说,公司业务迭代都很快,项目催得急, RD为了快速完成项目,不得不舍弃深入学习某一技术的想法。这就暴露了一个问题,多数RD只达到了“会用”的阶段,很难“掌握”,比如会用一个框架就行了,会用一个库函数就行了,为了快速完成任务,不求甚解。因此,很多RD自称码农是有道理的,他们的工作就像流量线一样。如果你问RD:“在这么多种语言中切换自如,你好厉害啊”,他们一般会说:“没啥含量,照着例子写呗…”,当然有可能是他们在谦虚。
运维工程师一般称为OP,即OPeration。从名字上就能看出运维工程上主要工作是“操作”。尽管如此,运维还是需要写代码的,但是写代码的工作毕竟不是OP工作的全部(甚至只是小部分),很多情况下,OP和RD一样也是照着例子改代码。相对RD同学,咱们OP在代码方面是业余的,何况,很多RD同学也只是到了“会用”的程度。
现在流行“全栈工程师”,也就是掌握多种技能,能够独挡多面,独立完成一个产品的技术大牛。但人的精力是有限的,掌握的越宽就意味着掌握的越浅,尽管在业务上“以一敌十”,但还是不能“一劳永逸”,需要与时俱进、不断学习新技术。没有绝对“一劳永逸”的方法,但有相对“一劳永逸”的途径,万变不离其宗就是这个道理。
在高手的眼里,技术是没有区别的,只是外在形式有所不同。正如天下武功出少林,各类武功都是以少林武功为“基类”扩展的,因此少林高僧能一眼看出各种武功的共性,因此称天下武功是一家。像峨眉、武当等不同派系的武功,在高手眼里都是一样的内功+外力的组合运用,只是外在形势不同而已,而一般人只会看到不同的外在,因此在他们眼里,天下有很多种不同的武功。
在运维刚刚兴起的时候,OP能做的工作,大部分RD都做不了,那时候的OP还是蛮有存在感的。比如他们除了配置、优化服务器外,还要承担一部分的安全、数据库维护、机房建设等工作,还要配置路由器、交换机做网络规划,甚至掐水晶头做网线。这些活儿很少有RD能做下来。
几年下来,基础维护越来越细致规范,开始有专职的DBA负责数据库,SA负责系统,NA负责网络。OP剩下的工作就是装软件,部署环境等业务维护,我们成了名副其实的“保姆”。也许我这么说伤害了您,但您想想,RD为什么让我们装软件?他们自己不会装吗?原因很简单,在RD的认知中,OP就是干这个的,就像地上脏了,咱们首先想到的是找保洁阿姨。说白了,RD会让总监或CTO给他们装软件吗?换句话说,RD会让比他技术更牛的人给他打下手吗?这里面的道理不言自明。如果想让RD高看OP,OP必须要在RD的价值观中征服RD,这样OP才能翻身,RD的价值观是技术为王,打铁还需自身硬,OP要提升技术内功。无论是从架构还是设计部署方面,OP的使命始终是维护业务稳定,这才是体现OP价值的体现,我们应该是业务的主人而不是保姆,这才叫掌控业务。
不过话说回来了,有些OP还是很厉害的,他们会指导RD如何改代码,但这毕竟是少数,他们要么曾经是RD,要么是开发运维。
说了这么久,我就是不想成为保姆,我想成为业务的主人,那么我们就需要改变自己的角色。正如修车技术最好的,永远不是维修人员,肯定是车的设计师。您想,他都会造车,那么对车具有绝对控制力,对每个细节都了解的人肯定会修车。掌握了最底层的技术才会增加内功,学会了更难的技能,那些表面上的技术学起来才能更轻松,因为你能看到这些浅表技术背后的本质。就像动画片《七龙珠》,悟天是先变成了超级赛亚人后再学舞空术的,这样反而更容易学会。
都说谷歌的OP是最有技术含量的,他们是全栈式运维,因此RD也要听取OP的意见。我相信BAT中这样的OP也不少,但从我国大环境来看,运维行业还是较国外落后,我们的运维还有一段路要走,我希望我国的互联网公司在技术方面也是运维主导。
技术人员需要的是一种快速解决问题的能力,这背后需要扎实的知识,犹如冰山在水面上虽然只露出一点点,但如果没有水下的巨大部分做支撑,那一点点我们都看不到。
在计算领域中有几块“硬骨头”,操作系统是其中一个,它是所有应用软件的根基。尽管我们大部分的工作都是写应用软件,可是如果我们也能够创造一个操作系统,那么操作系统对我们来说便不是黑盒。了解了内核为软件提供服务的机理后,我们在开发应用软件、执行命令时便成竹在胸,这正是我推荐《操作系统真象还原》的原因,这是一本“一步步编写操作系统”的书,它的使命是让操作系统的学习不再盲人摸象,彻底揭开操作系统的面纱。这本书我脱产写了19个月,详细阐述了一个最基本的操作系统从原理到实现的过程,舍弃了大量的内核管理策略等“无关”的代码,直接复现内核的本质,因此,最终完成的操作系统,代码量仅为6023行,大大降低了学习难度。
也许有人会说,学操作系统编写是很耗时的,我们把大量的精力放在了这方面,而且这方面并不能让我们有实际的产出,值得吗?
有句话叫磨刀不误砍柴工,我们暂时的后退是为了助跑,可以跳得更远。我举个例子,李连杰功夫那么厉害,他会太极、洪拳、套路等等,但他会小学生的广播体操吗?我看未必,不过值得肯定的是,由于李连杰有了扎实的功夫底子,广播体操也显得更容易,对他来说,分分钟就能学会。
操作系统只是计算机工程的一个方面,只要我们多付出努力就能够掌握,当然把操作系统写好还是不容易的,这涉及到管理方面的策略,但不管好不好,能写出来就是很不错的,因为从0到1是有着本质的不同。然而技术的顶端永远是算法、数学,这不是一蹴而就的,要想在这方面有所建树,除了天份占据着主要因素外,也需要我们长期的积累。
做为一个OP,我希望给这个行业争口气,提高这个行业的形象还需要我们自身的努力。
文章来自:《操作系统真象还原》作者郑钢