自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

"DevOps"是如何傷害一個開發(fā)者的

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

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

DevOps

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

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

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

身兼多職

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

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

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

階級

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

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

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

反過來卻行不通。

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

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

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

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

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

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

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

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

  • 沒有把時間花在開發(fā)上

  • 需要跟上一個極其龐大的知識領(lǐng)域

  • 會不堪重負

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

不要扼殺開發(fā)人員

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

并非每個公司都是初創(chuàng)公司。出于選擇,初創(chuàng)公司沒有讓開發(fā)人員參與多種職能,他們這樣做是因為必要。你的公司很可能在你沒有創(chuàng)造出一些資源之前有著極大的制約。請不要混淆“精簡”與“以最少雇員運營”的區(qū)別??丛谏系鄣拿嫔?,讓開發(fā)人員寫代碼吧!

英文原文:

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

責任編輯:林師授 來源: 開源中國社區(qū) 編譯
相關(guān)推薦

2015-09-01 09:53:04

Java Web開發(fā)者

2010-08-24 08:58:42

開發(fā)者

2009-09-11 08:44:36

2018-05-14 11:24:20

Python開發(fā)者工具

2019-06-27 10:15:46

架構(gòu)代碼項目

2015-06-05 09:15:37

移動開發(fā)者

2013-07-25 17:28:02

2021-03-16 07:56:26

開發(fā)者入職技術(shù)

2014-06-18 09:55:29

iOS開發(fā)者學習Android

2014-08-01 10:24:11

2015-08-06 17:15:28

2012-10-23 14:01:21

Yibo 客戶端已經(jīng)停

2013-02-20 15:10:56

2014-05-12 16:00:14

DevOps開發(fā)者

2016-01-05 13:43:37

谷歌Java競爭

2016-11-09 16:55:01

2021-01-26 09:13:07

前端開發(fā)者程序員

2022-07-07 09:28:29

RocketMQ存儲系統(tǒng)

2024-02-28 07:48:05

Rust項目框架

2010-09-02 13:32:52

jQueryjQuery插件
點贊
收藏

51CTO技術(shù)棧公眾號