成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

"DevOps"是如何傷害一個開發者的

開發 項目管理
“DevOps”用來表示密切地協作,將之前純粹的開發者、純粹的操作者以及純粹的QA的角色內容進行穿插。因為軟件需要以不斷加快的速度釋放出來,老的開發-測試-發布的“瀑布”型周期被打破了。開發者還必須為測試及發布環境的質量責任。

最近有兩個趨勢我真的很討厭:DevOps及“全棧”開發者的概念。隨著DevOps運動越來越受歡迎我越發討厭x86架構和單內核。但確實如此:我受不了。是什么引發我的痛苦呢?這是原因:不是每一個公司都剛起步,那怎么還要每個公司都必須表現得像它們的經歷一樣。

DevOps

“DevOps”用來表示密切地協作,將之前純粹的開發者、純粹的操作者以及純粹的QA的角色內容進行穿插。因為軟件需要以不斷加快的速度釋放出來,老的開發-測試-發布的“瀑布”型周期被打破了。開發者還必須為測試及發布環境的質量責任。

“開發者”(這個詞是否適當有待商榷)越來越廣的責任范圍導致了對聯合體求職者的需求:“全棧”開發者。這樣的開發者能夠做開發工作,是QA團隊的成員,能夠進行業務分析,做系統管理員和DBA。在你指責我夸張前回頭再看下這個列表。列表中有你不希望“全棧”開發者精通的嗎?

這些概念是從哪來的呢?初創公司,對(以及敏捷方法)。初創公司初起時奇形怪狀,需要以一種艱苦的方式撐過最初的幾年。對此我不否認。但不幸的是,初創公司的工程師承擔了多種技術角色,被迫在缺乏一系列最基本能力的情況下承擔“開發者”的角色。

身兼多職

想象你在一家初創公司,開發團隊共有7人。你已經開發了一年某個web應用,現在看起來像模像樣,一切順利,但是在保持正常運轉這方面卻往往是令人抓狂的混亂。如果有一個特別麻煩的問題,需要深度研究數據庫,你可沒有權力說“這不是我的專長”,然后交給 DBA 團隊處理。條件所限,你不得不承擔起 DBA 的工作,自己解決這個問題。

現在把這個情景擴展到之前列出的所有職位吧。一個初創公司的開發者可能同時擔任開發,QA,部署/操作分析員,系統管理員,還有 DBA 。初創公司天然如此,而有些人會特別適合這種環境。然而,不知從什么時候起,我們開始自欺欺人說自己適合;因為在任何時候,一個初創公司的開發者不得不身兼多職,他/她還必須一下子擔任所有這些角色

即使居然真有這樣的人,這些“全棧”開發者仍然不能以他們適應的方式工作。初創公司并不是讓他們在一段時間內擔任某一個角色,然后再轉換到下一個角色,而是要求他們一直同時擔任所有這些角色。最糟的是:大部分好的開發者還幾乎可以應付。

階級

好的開發者都是聰明人。我知道我這么說肯定會被拍,但一個組織里的技術人員還是有一個重要程度的層次區別的。最頂層是開發,接下來是系統管理員和 DBA。QA 團隊,“操作員”之類,發布管理員等等角色處于階級的最底層。為什么是這么個順序呢?

因為每個角色有能力做比它低的層次的所有工作

初創公司教會我們這個道理。如果需要,好的開發者也能當合格的 DBA。他們也能當不錯的測試,“部署工程師”,或者其他什么形形色色的職位。他們的工作需要他們對更低層工作的領域也了如指掌。但這其中有一個問題,希望說到這里你也能看出來:

反過來卻行不通。

QA 無法湊合當開發用,構建(build)工程師也做不了 DBA 的工作。他們不具備擔任這些角色所必須的專業知識。這也沒關系。無論你喜歡與否,每個組織里都有這種階級層次,而成員的能力層次、技術水平也有所不同。盡管如此,你讓開發去做其他工作,沒有人能來替他做開發的工作

舉個例子能說得更清楚一些。我爸爸是一個開私人診所的牙醫。他雇了一個秘書,一個保健專家和一個牙醫助理。在所謂的“牙醫Ops”環境下,我爸爸需要一邊記錄病人的預約,一邊洗牙,同時還要擠出時間來給牙鉆孔,實施根管治療術,等等。我爸爸能做得了診所里的其他工作,因為他具備這些工作所需的專業知識。

但是其他人做不了他的工作,即使全加起來也不行。

如果診所要這么運轉,牽涉到的所有人都會受到損害,(當然)除了雇員們。這場本意是希望提高軟件質量的實驗演變成了一場鬧劇,最有才華的員工疲憊不堪(并且有價值的工作產出遠遠減少),而低層次的職位根本不存在。

這就是這個問題的關鍵所在。之前那些職位由不同能力層次的人分別擔任,而“全棧”工程師使得這些職位沒必要存在了。大公司非常喜歡這一點,因為這意味著它們可以遠遠減少雇傭人數,來完成同樣的工作量。然而,在這個過程中,真正的開發在開發者工作所占的比例越來越小。這就是為什么我們會看到這么多的開發者通過不了 FizzBuzz:他們從來不用真正寫任何代碼。現在這個問題已經太普遍了,你能想象面試廚師時要問他,每天他有多少時間是真正用來烹飪的嗎?

什么都做過一點,什么都不精通

如果你是一個有點規模的軟件的開發者,你會需要一個能用的部署系統。考考你,馬上說出以下系統各自的好處和壞處:Puppet,Chef,Salt,Ansible,Vagrant,Docker。現在實現你的部署解決方案吧!你恐怕都沒有注意到,上面列出那些系統里有一項是完全無關的吧?

專業化是有原因的:人類能運用的知識有限。在任務之間切換,無疑是代價昂貴的。強迫開發者去承擔其他專業人員的角色,意味著他們將:

  • 沒有把時間花在開發上

  • 需要跟上一個極其龐大的知識領域

  • 會不堪重負

不僅如此,要強迫開發者接受“全棧”的任務,公司要付給雇員的工資遠高于完成其中大部分任務的市場平均價格。如果一個開發者1年賺100K,你可以雇4個1年100k的開發者來做一個兩人的任務,50%的時間做開發,50%的時間做發布管理;或者,你也可以只雇一個發布管理員,花上大概75k,然后兩個開發者全職開發。更不用說兼職發布管理的開發者,在沒有發布需要管理時浪費的時間了。

不要扼殺開發人員

這樣做全部的效果就是毀掉“開發者”的作用,并且替之以“技術工種”。我所知的每個開發人員都沉迷于編程,因為它們真正熱愛它(在某點上)。當你強行讓這些聰明人執行額外的任務時,你則傷害了每個相關的人。

并非每個公司都是初創公司。出于選擇,初創公司沒有讓開發人員參與多種職能,他們這樣做是因為必要。你的公司很可能在你沒有創造出一些資源之前有著極大的制約。請不要混淆“精簡”與“以最少雇員運營”的區別。看在上帝的面上,讓開發人員寫代碼吧!

英文原文:

譯文鏈接:http://www.oschina.net/translate/how-devops-is-killing-the-developer

責任編輯:林師授 來源: 開源中國社區 編譯
相關推薦

2015-09-01 09:53:04

Java Web開發者

2010-08-24 08:58:42

開發者

2009-09-11 08:44:36

2018-05-14 11:24:20

Python開發者工具

2019-06-27 10:15:46

架構代碼項目

2013-07-25 17:28:02

2015-06-05 09:15:37

移動開發者

2021-03-16 07:56:26

開發者入職技術

2014-08-01 10:24:11

2014-06-18 09:55:29

iOS開發者學習Android

2013-02-20 15:10:56

2012-10-23 14:01:21

Yibo 客戶端已經停

2015-08-06 17:15:28

2014-05-12 16:00:14

DevOps開發者

2016-01-05 13:43:37

谷歌Java競爭

2016-11-09 16:55:01

2021-01-26 09:13:07

前端開發者程序員

2022-07-07 09:28:29

RocketMQ存儲系統

2012-08-22 13:34:30

移動開發跨平臺

2024-02-28 07:48:05

Rust項目框架
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 少妇一级淫片aaaaaaaaa | 欧美啪啪 | www.色综合| 亚洲午夜精品一区二区三区他趣 | 国产综合精品一区二区三区 | 国内精品久久精品 | 国产精品精品视频一区二区三区 | 在线观看免费观看在线91 | 日本免费黄色 | 成人一区二 | 久久精品亚洲精品国产欧美 | 97久久久久久 | 91精品一区二区 | 中文精品一区二区 | 日韩不卡一二区 | 亚洲精品电影网在线观看 | 久久综合影院 | 日日天天 | 美女视频黄色片 | 草b视频| 成人av片在线观看 | 国产精品一区二区三区四区五区 | 亚洲日韩中文字幕一区 | 日韩不卡一区二区三区 | 成人精品区 | 青娱乐一区二区 | 天天操天天操 | 91中文在线观看 | 亚洲欧美日韩精品久久亚洲区 | 羞羞视频网站免费观看 | 国产一二区在线 | 中文字幕免费在线 | 国产丝袜一区二区三区免费视频 | 九色www | 婷婷精品 | 成人羞羞国产免费视频 | 亚洲国产精品久久久久久 | 欧美中文字幕一区二区三区亚洲 | 欧美日韩精品区 | 亚洲综合一区二区三区 | 亚洲精品视频在线播放 |