DevOps正在扼杀程序员? - 运城网页制作,运城软件公司,运城手机软件开发,运城手机APP,运城软件开发,运城微信二次开发,运城网站建设,运城网站设计,运城系统集成,运城办公OA,运城专业软件定制开发公司,恩驰森迪,运城网络公司,运城多年网页制作经验,运城软件外包服务

用心为客户创造价值!

0359-2214000

DevOps正在扼杀程序员?
发布时间:2017-11-18    当前位置:首页 -> 新闻中心

  之前,CSDN研发频道曾发表过《 全栈工程师会是未来的发展趋势吗?》,该文引起了开发者们的热烈讨论,很多工程师认为,全栈工程师更适合于一些初创公司,想要做到面面俱通,并不是简单的事情。而本文作者Jeff Knupp认为,DevOps的流行让越来越多的程序员身兼多职,也就是大家所说的“全栈”,这种流行趋势正在扼杀真正的程序员,真的是这样吗?

   最近,我很讨厌两个趋势,分别是:DevOps和“全栈”工程师。DevOps运动的流行也让我不喜欢x86架构或单核。事实上,并不是每个公司都是初创公司,但似乎每个公司都要搞的跟初创公司似的。

   DevOps

    DevOps主要强调开发人员、运维人员以及QA之间的合作与沟通。因为软件会定期的更新,发布新版本,所以,以前旧的“瀑布式”的软件开发-测试-发布流程已经变的不适用。作为开发人员,除了实现功能外,还需关心负责产品的质量测试和发布环境。

    开发者职责的不断扩大也催生了一些新角色的出现,“全栈”工程师。什么意思呢?一个开发者除了会编写代码外,还可以充当QA团队成员、业务分析师、系统管理员和DBA。如果你指责我说的太夸张,那么你可以去查查什么叫“全栈”工程师。

   “全栈”的流行主要源自于创业(当然,还有敏捷)。尤其是在创业初期,由于资源的匮乏以及资金上的短缺,一名工程师常常扮演着多重角色。因此,网络上也诞生了这样的说法:全栈是被创业逼出来的。

    身兼多职

    想象一下,如果你目前在一家创业公司,该公司的开发团队只有7个人,你已经有1年的Web开发经验,你所参与的项目也都在很好的运行,尽管也会遇到各种难关,但仍能正常工作。但有时,如果你遇到一个数据库领域的问题,该问题需要专门的DBA团队才能解决,但由于资源有限,你只能亲力亲为,绞尽脑汁地去解决这个问题,即使你不擅长数据库。

    在一个创业公司里,开发者随时可能扮演着QA、测试人员、部署/业务分析人员、系统管理员或数据库管理员的角色。这些也都是业务的根本需求,有的人在这样的环境里会快速成长。即使这种“全栈”工程师真的存在,他们也并没有得到很好的使用,在各种角色中来回切换。这真的很糟糕,大多数优秀的开发人员几乎都可以把这些事情办完了。

    技术层次

    优秀的开发者都是非常聪明的。任何一个组织都会有一定的技术层次结构。开发在最顶端,紧随其后的应该是系统管理员和DBA。QA团队、运维人员、发布协调等在最低端。为什么会这样安排?

    因为每个角色在必要时,都可以做比他层次低的工作。

    创业公司可能会这样想:在需要时,好的开发人员也可以充当DBA、测试人员、部署工程师等任何他们需要的角色。他们的需求驱使着这些优秀的程序员扮演着许多低能的角色。这里面存在着很大的问题:他们并不能反向工作,比如,一名QA并不能去做开发。

    不知从何时起,提高软件质量已成为一场闹剧,一些非常有才华的员工常常超时工作,而一些低级别的职位甚至都不存在。这就是问题的症结所在。开发者、QA、运维等人员都由“全栈”工程师来充当会显得相当多余,但大公司一般都喜欢这样做,意味着他们可以雇佣更少的人做相同的工作。在整个工作过程中,实际的开发工作只占到了很小一部分。这就是为什么大多数开发者无法通过FizzBuzz:他们从来没有真正写过任何代码。

    广而不精

    如果你是一名技术不错的软件开发者,你需要在适当的地方部署系统,那么,你可以快速说出这些系统的优缺点吗?Puppet、Chef、Salt、Ansible、Vagrant、Docker。现在,来将你的部署方案付诸实践吧!你甚至会认识到,在这些系统中,有一个是不必要的。

    专业化是有原因的:人类所吸取的知识是有限的,在任务之间来回切换的代价是昂贵的。强迫开发者身兼多职意味着:

   没有时间用于开发
   需要不断地充电,好让自己能够跟上庞大的知识领域
   会崩溃
   更重要的是,公司强迫开发者接受“全栈”任务,那么公司所给的薪水就要高于市场平均水平。如果一个开发者一年可以赚100K,你可以雇佣4个同样的开发者来做两个人的任务,其中50%的时间用来做开发,50%时间做发布管理。或者,你可以花75K来雇一个发布管理员,然后2个做全职开发。值得注意的是:开发者来兼职发布管理工作完全是浪费时间,因为发布管理无需一直不间断地进行。

   不要扼杀程序员

   这样做的效果就是以“技术实用”来摧毁开发者。开发者之所以从事这份工作,是因为他们享受这份工作带来的乐趣(在某点上)。当你强迫这些聪明人执行额外的任务时,你其实是在伤害每个与之相关的人。

    并不是每个公司都是初创公司。出于选择,初创公司也没有让开发者身兼多职,他们这样做是出于必要。请不要混淆“精简”与“以最少的雇员运营”的区别。看在上帝的面子上,让开发人员写代码吧!

    山西恩驰森迪软件开发有限公司作为运城地区少有的几家运城软件开发公司中的一家,无论是在运城手机APP开发运城微信二次开发运城网页制作 [点击次数:169]

客服电话:0359-2214000 QQ:1046118038 邮箱:1046118038@qq.com
版权所有 山西恩驰森迪软件开发有限公司 地址: 山西省运城市盐湖区红旗东街157号 晋ICP备15004405号-1 微网站: