程序员devops软件开发全栈工程师
摘要:DevOps强调开发人员、运维人员以及QA之间的合作与沟通,而这种开发模式也催生了一些新角色的出现:“全栈工程师”,本文作者认为,“全栈”工程师的流行也就意味着真正的程序员正在被扼杀,真的是这样吗?

之前,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个做全职开发。值得注意的是:开发者来兼职发布管理工作完全是浪费时间,因为发布管理无需一直不间断地进行。

不要扼杀程序员

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

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

来自: jeffknupp

DevOps正在扼杀程序员?相关推荐

  1. DNSPod十问香文斌:DevOps 砸了中国程序员的饭碗?

    问答时间:2021年4月22日 嘉宾简介: 香文斌:腾云忆想科技有限公司CEO.2000年加盟腾讯,一直工作到2012年,期间从事网络建设规划和安全.腾讯安全中心建设.游戏运营和技术管理等多个岗位超过 ...

  2. 这个程序员如何以一己之力阻止了 Bug 代码的提交并改变整个 DevOps 世界?

    [CSDN 编者按]Jenkins 是基于 Java 开发的一种持续集成工具,能够帮助项目实现高度的工程化,而它的前身则是 Hudson.2004年,Sun 公司的 Java 程序员川口耕介为了让同事 ...

  3. 徐磊(Devops):一名写了十几年代码但还没写够的程序员

    徐磊(Devops 社区领袖) [个人介绍] 徐磊,微软MVP(微软最有价值专家,大中华区域社区技术总监,Devops 社区领袖),从事过网管.技术支持.网络.软件开发等工作,一名写了十几年代码但还没 ...

  4. @程序员,使用了 SQL 就不能用 DevOps?

    自动化和适当地应用规则可以实现更高质量的测试.更短的产品发布周期并且能够降低业务风险. 作者 | Thomas A.Limoncelli 译者 | 彼得(王丰力) 责编 | 屠敏 出品 | CSDN( ...

  5. 2020年Java程序员不得不学习的10大技术

    对于Java开发人员来说,最近几年的时间中,Java生态诞生了很多东西.每6个月更新一次Java版本,以及发布很多流行的框架,如Spring 5.Spring Security 5和Spring Bo ...

  6. 转载CSDN - 从程序员到HR——面试经验分享

    CSDN博客一周热文推荐,为您总结回顾过去一周的CSDN博客热门文章,推荐优质的博客作者,分享精华文章和优质博客. [1] 谭海燕:北漂之惠普H3C面试经历 上一篇讲到了<北漂之百度面试> ...

  7. 程序员新手 0年份等级 指导(一) 开发人员IT架构总览

    程序员新手 0年份等级 指导(一) 开发人员IT架构总览 程序员新手 0年份等级 指导(一) 开发人员相关IT架构总览之职能分解 开发人员IT架构总览 一.职能分解 软件项目的主要组成大体上按照一个项 ...

  8. 乘“云原生”之风、踏“数字化”的浪,《新程序员003》开启预售!

    12月30日,新年的钟声还有两天敲响,CSDN倾情策划出品的<新程序员003:云原生和全面数字化实践>(以下简称<新程序员003>)重磅开启预售!新一年,新气象~预祝所有开发者 ...

  9. 程序员创业前要做哪些准备?

    作者 | hsm_computer 出品 | CSDN博客 在互联网时代,不少干IT的人白手起家,在短短的几年里通过努力干出了一番事业,有房有车有公司,在人前也很光鲜.这就吸引了更多的程序员想要通过自 ...

最新文章

  1. 转】windows下使用批处理脚本实现多个版本的JDK切换
  2. 9个点的所有解锁图_黔隆科技刷机教程酷派C1068忘记密码刷机解锁降级救砖解屏幕锁账户锁教程...
  3. win10系统下多python版本部署
  4. leetcode 200.岛屿数量 c代码
  5. matlab同时给多个变量赋值(deal)
  6. 虚拟机 Linux ubuntu16.04 对 windows 设置共享文件夹教程(samba)(ubuntu16.04换源【更换下载源】【更换源】【更新源】)(如果连不上需要开SSH服务)
  7. Shiro安全框架入门篇
  8. Metrics, tracing 和 logging 的关系
  9. docker 中用docker 启动应用访问docker中的mysql
  10. prim算法 最小生成树
  11. AI一周热闻:北大建立人工智能新校区;英国首例机器人心脏手术致死
  12. Cygwin的中文支持(解决乱码)
  13. BZOJ2827 千山鸟飞绝
  14. Spring Boot Admin 发送监控邮件
  15. 河南大学的计算机硕士专业排名2015,河南大学优势专业排名,2015-2016年河南大学什么专业好...
  16. pdf文件删除空白页技巧介绍
  17. 非计算机专业学生怎么走上计算机技术之路?
  18. 微信小程序开发实战(9):单行输入和多行输入组件
  19. multi-head GAT
  20. 三、以太网协议栈uIP移植

热门文章

  1. Microsoft visual studio关闭安全检查
  2. java判断字符串是否为乱码
  3. hadoop mapreduce开发实践之本地文件分发by streaming
  4. FileSystemObject ADO WScript.Shell
  5. 网络管理员考试案例梳理、真题透解与强化训练
  6. 详细分析开源软件 ExifTool 的任意代码执行漏洞 (CVE-2021-22204)
  7. KindleDrip:从邮件地址到信用卡盗刷的严重漏洞,值$1.8万奖金
  8. Gym 101206L Daylight Saving Time 根据年月日计算星期
  9. 英国脱欧:3/4的技术初创公司将面临严峻时期
  10. Android 生成分享长图并且添加全图水印