0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何定義全棧工程師和DevOps

工程師人生 ? 來源:網(wǎng)絡(luò)整理 ? 作者:工程師吳畏 ? 2018-09-21 10:14 ? 次閱讀

引言

全棧工程師(本文稱「全?!?a target="_blank">開發(fā)者)和 DevOps 無疑是近期最火的詞匯,無論是國(guó)外還是國(guó)內(nèi)。而且火爆程度遠(yuǎn)超于想象。

全棧和 DevOps,究竟是我們的新職業(yè)方向,還是僅僅創(chuàng)業(yè)公司老板的心頭所愛?且聽本文理性分享。

Anyway,文末附贈(zèng) 9 家把 DevOps 搞得風(fēng)生水起的國(guó)外公司及更多信息。

正文

最近有兩個(gè)特別討厭的趨勢(shì):DevOps 和「全?!归_發(fā)者的思想。

時(shí)下,DevOps 已經(jīng)非常流行,以至于討厭它就像討厭 x86 架構(gòu)或單內(nèi)核一樣,那么究竟是什么造成了這樣的結(jié)果?讓我如此痛苦的根本原因,又是什么?

事實(shí)上,并不是每家公司都是創(chuàng)業(yè)公司,但卻又要去表現(xiàn)得像創(chuàng)業(yè)公司一樣。

「DevOps」旨在表示密切合作,讓原本純粹的開發(fā)、運(yùn)營(yíng)和 QA 角色之間協(xié)作運(yùn)轉(zhuǎn)。

因?yàn)檐浖l(fā)布的頻率越來越高,傳統(tǒng)的「瀑布型」開發(fā)—測(cè)試—發(fā)布周期已經(jīng)不能滿足業(yè)務(wù)的需求,后果就是,開發(fā)者還必須為測(cè)試和發(fā)布的環(huán)境質(zhì)量負(fù)責(zé)。

隨著「開發(fā)者」(這個(gè)詞是否恰當(dāng)仍存爭(zhēng)議)的責(zé)任范圍不斷擴(kuò)大的同時(shí),綜合的全能型開發(fā)者需求也被觸發(fā)——「全?!归_發(fā)者。

這樣一來,開發(fā)者要既能做開發(fā),還需要兼任 QA 團(tuán)隊(duì)成員、業(yè)務(wù)分析師、系統(tǒng)管理員和 DBA 的工作。

那么,DevOps 和「全棧」開發(fā)者,這些概念是從哪里冒出來的呢?

當(dāng)然是來自創(chuàng)業(yè)公司(和敏捷方法):

不容否認(rèn)的是:初創(chuàng)企業(yè)就像一種「蟄伏」的野獸,在最初的幾年往往默默無名,而且過的也非常艱辛(人員配備不齊,所以急需 DevOps 和「全?!归_發(fā)者)。

但不幸的是,當(dāng)下 DevOps 這個(gè)潮流正在迫使開發(fā)者在一個(gè)成熟的公司中繼續(xù)扮演這些角色,迫使開發(fā)者擔(dān)任由于基礎(chǔ)資源缺乏而不得不為的「開發(fā)者」角色。

身兼數(shù)職

想象你在一個(gè)只有七個(gè)人組成開發(fā)團(tuán)隊(duì)的創(chuàng)業(yè)公司?;ㄒ荒甑臅r(shí)間去開發(fā)一個(gè) Web 應(yīng)用,各個(gè)項(xiàng)目都進(jìn)展順利,但是這個(gè)過程絕對(duì)讓你混亂——如果有一個(gè)特別嚴(yán)重的問題出現(xiàn),似乎需要深度的數(shù)據(jù)庫(kù)知識(shí)。

這種情形下說:「這不是我的專長(zhǎng)」這樣的話,或者將它交給 DBA 團(tuán)隊(duì)進(jìn)行調(diào)查顯然是不可行的。由于資源限制,你不得不承擔(dān) DBA 的角色,自己去解決問題。

現(xiàn)在,擴(kuò)展這個(gè)場(chǎng)景到之前所列的角色下。在任何時(shí)候,開發(fā)人員在一個(gè)初創(chuàng)企業(yè)可能會(huì)兼任開發(fā)者、QA 測(cè)試員、部署/業(yè)務(wù)分析師、系統(tǒng)管理員或 DBA。

這完全由創(chuàng)業(yè)公司的性質(zhì)所決定,而有些人在這樣的環(huán)境下可以飛速成長(zhǎng)。但一路走來,我們不斷欺騙自己,因?yàn)樵谌魏螘r(shí)候,開發(fā)者都不得不身兼多職,甚至有時(shí)候要承擔(dān)所有角色。

即使這樣的人真的存在,「全棧」開發(fā)者仍然不會(huì)以正常的方式去工作。創(chuàng)業(yè)公司并非只是想著開發(fā)者暫時(shí)短期內(nèi)擔(dān)任某個(gè)角色,然后過渡到下一個(gè)角色;相反,會(huì)要求你一直擔(dān)任所有的角色。

這真的很糟糕,這意味著,可能需要最優(yōu)秀的開發(fā)者。

也談等級(jí)

優(yōu)秀的開發(fā)者都是聰明人,這么說可能會(huì)被很多人吐槽,然而在一個(gè)機(jī)構(gòu)內(nèi),技術(shù)人員卻是存在多個(gè)不同的等級(jí)。開發(fā)者最高,接著是系統(tǒng)管理員和 DBA?!高\(yùn)營(yíng)」人員、發(fā)布管理員等角色處于最底層。

為什么這樣排序呢?

因?yàn)椋粲斜匾?,每個(gè)角色都能夠承擔(dān)低于這一層次所能做的所有工作。

這一點(diǎn)在創(chuàng)業(yè)公司已經(jīng)得到證實(shí)。在需要的情況下,優(yōu)秀的開發(fā)者可以轉(zhuǎn)成合格的 DBA、不錯(cuò)的測(cè)試員、「部署開發(fā)者」以及各種所需的角色。

他們的工作需要他們盡可能的了解底層角色的工作范圍。但這存在著一個(gè)大的隱患——反之則不成立。

在緊要關(guān)頭,測(cè)試員卻干不了開發(fā)者的活,也不能成為構(gòu)建開發(fā)者做 DBA 的工作。他們從未獲得這些角色的專業(yè)知識(shí)。

舉個(gè)例子說得更清楚吧:

比如一名牙醫(yī),他開了家私人診所,然后聘請(qǐng)了秘書、衛(wèi)生員和牙醫(yī)助理等很多人員。一般情況下,秘書可以幫忙做預(yù)約,衛(wèi)生員可以幫助消毒,牙醫(yī)助理也可以幫忙做一些基礎(chǔ)的工作,但是如果需要給牙齒鉆孔或者進(jìn)行根部的治療時(shí),就必須需要牙醫(yī)親自「出馬」,畢竟沒有專業(yè)的知識(shí)是絕對(duì)搞不定的,如果沒有專業(yè)的「牙醫(yī)」,即使是全部的“雇員”加起來,也搞不定這件事。

無論樂意與否,每個(gè)組織都有層次結(jié)構(gòu),人們按不同技能和能力水平分類。所以,當(dāng)你一昧要求開發(fā)者擔(dān)任其他角色時(shí),最后的結(jié)果可能是:沒人能擔(dān)當(dāng)?shù)闷痖_發(fā)者的角色。

如此運(yùn)轉(zhuǎn)會(huì)損害所有人員,除了雇主。這場(chǎng)實(shí)驗(yàn)本意是提高軟件質(zhì)量,卻無意之間成了鬧劇,讓最有才華的員工過度工作(做了很多無用功),同時(shí)低層次的職位沒有存在感。

而這正是問題的癥結(jié)所在。所有最初由不同層次的人所擔(dān)任的崗位,都是由「全?!归_發(fā)者進(jìn)行的。大型公司非常喜歡這一點(diǎn),因?yàn)檫@意味著他們可以雇用更少的人來做同樣的工作。

盡管在這個(gè)過程中,實(shí)際開發(fā)成為開發(fā)者的工作中很小的一部分。這就是為什么我們看到這么多的開發(fā)者無法通過 FizzBuzz:

他們幾乎沒寫任何代碼。這個(gè)問題非常普遍,你能想象一下面試一位廚師,問他每天有多少時(shí)間真的花在烹飪上?

博而不精

如果你是一個(gè)中等規(guī)模軟件的開發(fā)者,你應(yīng)該需要一個(gè)適當(dāng)?shù)牟渴鹣到y(tǒng)??伎寄悖?qǐng)馬上說出下述這些系統(tǒng)各自的優(yōu)缺點(diǎn):

Puppet、Chef、Salt、Ansible、 Vagrant 和 Docker。現(xiàn)在開始實(shí)現(xiàn)你的部署解決方案吧!你是否注意到以上系統(tǒng)有一項(xiàng)是完全無關(guān)的嗎?

專業(yè)化是有原因的:人們只能專注于有限的知識(shí)。任務(wù)切換無疑是昂貴的。強(qiáng)迫開發(fā)者承擔(dān)其他角色意味著:

無法專注開發(fā)

需要補(bǔ)充龐大的知識(shí)領(lǐng)域

不堪重負(fù)

更重要的是,通過迫使開發(fā)者承擔(dān)「全棧」責(zé)任,他們會(huì)支付其遠(yuǎn)遠(yuǎn)高于完成大部分工作的市場(chǎng)平均價(jià)格。

如果開發(fā)人員每年掙 100K ,你可以支付 4 個(gè)開發(fā)者每年 100K 來做一兩個(gè)人的任務(wù),50% 時(shí)間完全做開發(fā),剩下 50% 的時(shí)間做發(fā)布管理?;蛘撸皇枪鸵粋€(gè)發(fā)布經(jīng)理,花大約 75K,但兩個(gè)開發(fā)者全職開發(fā)。

注意一下兼職發(fā)布管理的開發(fā)者在無需發(fā)布時(shí)浪費(fèi)了很多時(shí)間。

不要再扼殺開發(fā)者!

這樣做的效果是摧毀「開發(fā)者」這個(gè)角色,以一種「全能技術(shù)工人」來替代。

就筆者所知,每個(gè)進(jìn)入編程領(lǐng)域的開發(fā)者,都是因?yàn)樗麄儗?shí)際上喜歡開發(fā)(或者一度喜歡)。當(dāng)你強(qiáng)迫最聰明的人承擔(dān)額外角色時(shí),其實(shí)傷害了所有人。

并非所有公司都是創(chuàng)業(yè)公司。創(chuàng)業(yè)公司不得不讓開發(fā)者身兼多職,也有其必要性。但是請(qǐng)根據(jù)實(shí)際情況進(jìn)行判斷,你是否需要 DevOps。

推薦9個(gè) DevOps 實(shí)踐公司

你可能知道 Netflix 和 Etsy 在 DevOps 領(lǐng)域的突出表現(xiàn),但是下面的9個(gè) DevOps 實(shí)踐公司卻可能讓你感到不可思議,我們一起來盤點(diǎn)下。

1. Starbucks

星巴克在2015年4月的 #DevOpsTogether 開始了其 DevOps 計(jì)劃。盡管「在一起」已經(jīng)是個(gè)陳詞濫調(diào),但是不用擔(dān)心。從Medium.com這篇文章了解到,星巴克 CEO 非常支持 DevOps 理念,并且一直努力讓公司保持技術(shù)上的創(chuàng)新。

2. Ancestry.com

Ancestry.com 是 DevOps 運(yùn)動(dòng)的早期采用者,是 Continuous Delivery 和 DevOps 運(yùn)動(dòng)的先鋒。

早在2013年,這些流行的方法就對(duì)發(fā)布次數(shù)和公司滿意度上有了顯著提升。想了解更多關(guān)于他們的過程、遷移和 DevOps 文化,不妨查看一下他們的系列文章。

3. Ashley Madison

沒人會(huì)覺得這是一個(gè) DevSecOps 博客,盡管其數(shù)據(jù)庫(kù)被黑已經(jīng)成為 DevOps 安全的反面教材。冒著風(fēng)險(xiǎn)開始一個(gè)更大的話題,這個(gè)著名公司的失敗有助于闡明事實(shí),也許 DevOps 并不總意味著更快和更經(jīng)常。這里有一些不錯(cuò)的DevOps安全文章,僅供參考。

4. Etsy

Etsy 也在實(shí)踐 DevOps。Etsy 不僅是一個(gè)超級(jí)酷的公司,專注于節(jié)日禮物,他們同樣也在努力的 DevOps。

2008年,他們看到了 Flickr 每天發(fā)布10次部署,2009年,他們建立自己的工具來更好更快地發(fā)布代碼,而且不僅由開發(fā)團(tuán)隊(duì)?!窫tsy 如何應(yīng)用 DevOps」絕對(duì)值得一讀,或者再看看他們的代碼。

5. U.S. Customs and Border Protection

這個(gè)肯定是你想不到的!在司法部、海關(guān)、邊境保護(hù)署和美聯(lián)儲(chǔ),美國(guó)政府異?;钴S于采用 DevOps。

6. LinkedIn

LinkedIn 成為一個(gè)大型的 DevOps 用戶不足為奇。早在2009年,LinkedIn 團(tuán)隊(duì)就開始使用自動(dòng)化部署工具,用于管理在1000+節(jié)點(diǎn)環(huán)境下發(fā)布上千個(gè)應(yīng)用/服務(wù)的復(fù)雜性?,F(xiàn)在他們正在培養(yǎng)世界級(jí)的 DevOps 社區(qū)??纯催@篇關(guān)于他們使用第一個(gè)工具的文章。

7. NASA

不管你是否知道 NASA 正在使用 DevOps,這都非常振奮人心。我們最愛的方法可能正幫助人類登上火星,或許是有點(diǎn)夸張……或者也名副其實(shí)。無論哪種方式,NASA 一直在思考軟件部署,自從2004年首先采用了 JIRA 后,他們已經(jīng)抵達(dá) DevOps 星球。

8. Apple

不要讓蘋果巨大的 IOS 更新,以及它重要的九月發(fā)布季,讓你誤以為他們放棄了技術(shù)創(chuàng)新的風(fēng)口浪尖。盡管蘋果的 DevOps 還沒有廣泛使用,但他們正在尋找合適的工具,雇傭優(yōu)秀的人才,來完善日常部署。

9. Airbnb

類似 Netflix 和 Uber,Airbnb 被認(rèn)為是一個(gè)「第三平臺(tái)公司」,因?yàn)樗麄兝蒙缃?、移?dòng)、分析和云。作為一個(gè)第三平臺(tái)公司,DevOps 需求不可避免,這便于迅速發(fā)布多個(gè)小型部署。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 工程師
    +關(guān)注

    關(guān)注

    59

    文章

    1563

    瀏覽量

    68375
  • devops
    +關(guān)注

    關(guān)注

    0

    文章

    108

    瀏覽量

    11980
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    FPGA算法工程師、邏輯工程師、原型驗(yàn)證工程師有什么區(qū)別?

    ,共同進(jìn)步。 歡迎加入FPGA技術(shù)微信交流群14群! 交流問題(一) Q:FPGA中的FPGA算法工程師、FPGA邏輯工程師、FPGA原型驗(yàn)證工程師三者有什么區(qū)別? A:FPGA 算法工程師
    發(fā)表于 09-23 18:26

    正是拼的年紀(jì)|65歲電子工程師上班VLOG #65歲退休 #電子工程師 #搞笑 #上班vlog

    電子工程師
    安泰小課堂
    發(fā)布于 :2024年07月25日 11:31:02

    嵌入式軟件工程師和硬件工程師的區(qū)別?

    、機(jī)器人等。 定義和工作職責(zé) 嵌入式軟件工程師的主要職責(zé)包括但不限于:設(shè)計(jì)、開發(fā)、測(cè)試和調(diào)試嵌入式軟件應(yīng)用程序,以滿足特定硬件和軟件要求。他們需要理解并掌握嵌入式系統(tǒng)的基本原理,熟悉相關(guān)硬件接口
    發(fā)表于 05-16 11:00

    大廠電子工程師常見面試題#電子工程師 #硬件工程師 #電路知識(shí) #面試題

    電子工程師電路
    安泰小課堂
    發(fā)布于 :2024年04月30日 17:33:15

    OVP過壓保護(hù)芯片:為何電子工程師需要它?功能、作用解析

    OVP過壓保護(hù)芯片:為何電子工程師需要它?功能、作用解析
    的頭像 發(fā)表于 03-06 10:27 ?5403次閱讀
    OVP過壓保護(hù)芯片:為何電子<b class='flag-5'>工程師</b>需要它?功能、作用<b class='flag-5'>全</b>解析

    企業(yè)老工程師和高校老師有啥區(qū)別

    電子工程師硬件
    電子發(fā)燒友網(wǎng)官方
    發(fā)布于 :2024年02月28日 17:50:00

    【2023電子工程師大會(huì)】單片機(jī)/RTOS/Linux工程師

    【2023電子工程師大會(huì)】單片機(jī)/RTOS/Linux工程師修煉之路ppt
    發(fā)表于 01-03 16:31 ?40次下載

    工程師修煉之路,韋老師親身分享!邀你報(bào)名2023年電子工程師大會(huì)

    、應(yīng)用案例及開源硬件項(xiàng)目。我們相信,這將是一次難得的學(xué)習(xí)和交流機(jī)會(huì),也是您提升自己、深度了解電子技術(shù)與產(chǎn)業(yè)的很好機(jī)會(huì)! 作為大會(huì)特邀嘉賓, 百問網(wǎng)科技創(chuàng)始人兼技術(shù)總監(jiān)-韋東山老師 將蒞臨現(xiàn)場(chǎng),為大家?guī)怼?單片機(jī)/RTOS/Linux
    的頭像 發(fā)表于 11-16 16:20 ?362次閱讀
    <b class='flag-5'>全</b><b class='flag-5'>棧</b><b class='flag-5'>工程師</b>修煉之路,韋老師親身分享!邀你報(bào)名2023年電子<b class='flag-5'>工程師</b>大會(huì)

    工程師的修煉之路,韋東山老師親身分享!邀你報(bào)名2023年電子工程師大會(huì)

    、應(yīng)用案例及開源硬件項(xiàng)目。我們相信,這將是一次難得的學(xué)習(xí)和交流機(jī)會(huì),也是您提升自己、深度了解電子技術(shù)與產(chǎn)業(yè)的很好機(jī)會(huì)! 作為大會(huì)特邀嘉賓, 百問網(wǎng)科技創(chuàng)始人兼技術(shù)總監(jiān)-韋東山老師 將蒞臨現(xiàn)場(chǎng),為大家?guī)怼?單片機(jī)/RTOS/Linux
    的頭像 發(fā)表于 11-16 10:00 ?454次閱讀
    <b class='flag-5'>全</b><b class='flag-5'>棧</b><b class='flag-5'>工程師</b>的修煉之路,韋東山老師親身分享!邀你報(bào)名2023年電子<b class='flag-5'>工程師</b>大會(huì)