在互聯(lián)網(wǎng)行業(yè)工作過(guò)的,肯定都聽(tīng)過(guò)“加班汪”這個(gè)詞。而對(duì)于一個(gè)開(kāi)發(fā)人員來(lái)說(shuō),加班的概率比普通工作要更多,加班是互聯(lián)網(wǎng)行業(yè)永遠(yuǎn)的痛,項(xiàng)目節(jié)點(diǎn)定下來(lái)后,為保證項(xiàng)目節(jié)奏,程序員們基本上陷入天昏地暗永無(wú)止境地加班中。
首先,假設(shè)這個(gè)程序員是一位職場(chǎng)新手甲。他剛大學(xué)畢業(yè),沒(méi)有工作經(jīng)驗(yàn)。來(lái)自產(chǎn)品的需求,他要理解很久才能做。然后開(kāi)發(fā)的過(guò)程中會(huì)遇到各種問(wèn)題,如果經(jīng)驗(yàn)不足以支撐他快速完成任務(wù),那么只能求助于網(wǎng)絡(luò),書(shū)籍,熟人。如果這些都幫助不了他。他需要求助于同事。但是次數(shù)頻繁,同事會(huì)厭倦于幫他解答;他也會(huì)羞于咨詢(xún)。這時(shí),他一天下來(lái),基本都會(huì)卡在一個(gè)很簡(jiǎn)單的問(wèn)題上。下班了,他還沒(méi)有完成任務(wù)。沒(méi)錯(cuò),他需要加班了,因?yàn)樗?a target="_blank">編程能力非常差。
大概沒(méi)有人會(huì)知道他是因?yàn)樾枰幚硪粋€(gè)并非高科技的問(wèn)題。不懂技術(shù)的上司以為他是個(gè)勤奮的員工,非常看重他。可是,這什么進(jìn)度還是會(huì)這么慢呢?創(chuàng)業(yè)的公司可等不起。這一切,如果招到一個(gè)有經(jīng)驗(yàn)的開(kāi)發(fā)人員,這一切的加班似乎都不需要。
好吧,公司開(kāi)除了這名程序員或者他因“個(gè)人原因”辭職了或者公司再招到一個(gè)相對(duì)有經(jīng)驗(yàn)的程序員乙。當(dāng)然,有經(jīng)驗(yàn)的代價(jià)就是公司要付雙倍的薪水。所有之前的需求在他這邊都沒(méi)有遇到過(guò)加班的情況。他是一名非常有經(jīng)驗(yàn)的程序員,他在過(guò)去的二年時(shí)間一直在處理相關(guān)的開(kāi)發(fā)工作。到這邊來(lái),所有的問(wèn)題都是小意思。他的優(yōu)秀表現(xiàn)讓公司驚喜和意外,公司覺(jué)得即使再招十個(gè)之前的員工也比不過(guò)他一個(gè)人。所以,雙倍的薪水又有什么呢?
一段時(shí)間后,公司開(kāi)始提各種各樣的需求,他終于開(kāi)始加班了。加班不是因?yàn)槟扯螘r(shí)間需求的總量多了。而是因?yàn)殡S著公司的快速發(fā)展,需求也越來(lái)越多樣化。他的知識(shí)儲(chǔ)備不足以令他總能輕松應(yīng)付。他變得和第一個(gè)程序員一樣,也加班了。只不過(guò)加班的原因不一樣,第一個(gè)程序員是因?yàn)橐恍┐a的調(diào)試的原因,而這位有經(jīng)驗(yàn)的程序員是因?yàn)橐恍臎](méi)聽(tīng)說(shuō)過(guò)的技術(shù)。他的加班讓公司同樣對(duì)他很重視,甚至認(rèn)為是一位好伙伴。
與此同時(shí),公司在招他的時(shí)候也招進(jìn)來(lái)了一名優(yōu)秀的畢業(yè)生。他同樣是一名沒(méi)有經(jīng)驗(yàn)的程序員,但是他有很好的學(xué)習(xí)能力。開(kāi)發(fā)進(jìn)度緩慢讓產(chǎn)品人員和運(yùn)營(yíng)人員都難以接受。但是他總能在最后關(guān)頭交付代碼,盡管上線后需要修修補(bǔ)補(bǔ)。他經(jīng)常加班來(lái)學(xué)習(xí)以便攻克技術(shù)難點(diǎn),公司對(duì)加班的員工表示歡迎,因?yàn)闆](méi)有人讓他們加班,也不需要給他們加班費(fèi)或者調(diào)休。公司為所有加班的人員提供良好的晚餐。他可以接大大小小的各種需求,只是,開(kāi)發(fā)時(shí)間要比較長(zhǎng)。但是他不會(huì)遇到那種代碼調(diào)試不通過(guò)的簡(jiǎn)單的問(wèn)題。相比程序員乙,程序員丙由于經(jīng)常拖慢進(jìn)度經(jīng)常被產(chǎn)品和運(yùn)營(yíng)建議開(kāi)除或者調(diào)崗。
可是后來(lái),公司對(duì)他欣賞有加。原因有二:一是他終于可以用和程序員乙接近的時(shí)間來(lái)做任務(wù);二是在程序員乙那里看似不可能的任務(wù),程序員丙總能在最近關(guān)頭給出解決方案和代碼,只是時(shí)間比較長(zhǎng)。產(chǎn)品和運(yùn)營(yíng)的觀點(diǎn)發(fā)生了改變,向公司建議開(kāi)除程序員乙。程序員丙是一個(gè)學(xué)習(xí)型的員工,時(shí)間讓他有經(jīng)驗(yàn)后,他成長(zhǎng)成為一名更優(yōu)秀的員工。
公司有過(guò)教訓(xùn)后,終于不惜花重金去請(qǐng)各種優(yōu)秀的程序員。因?yàn)橹灰幸幻@樣的程序員,就可以少請(qǐng)?jiān)S多敗壞項(xiàng)目的程序員。于是,公司有了程序員丁。他在過(guò)去的一段時(shí)間里有著不錯(cuò)的工作經(jīng)歷,幫助過(guò)所在的公司完成了各種重大的項(xiàng)目解決了相當(dāng)多的行業(yè)技術(shù)難點(diǎn)。他的到來(lái)為公司帶來(lái)了很好的活力,所有之前遇到的問(wèn)題都不復(fù)存在。他成為了所有程序員的主管。后來(lái),他還是加班了。因?yàn)楣镜牧己冒l(fā)展,于是聘請(qǐng)了更多的產(chǎn)品和運(yùn)營(yíng)。開(kāi)發(fā)團(tuán)隊(duì)忙不過(guò)來(lái)了,他作為主管要求大家一起加班。
為了緩解這種局面,他向公司申請(qǐng)?jiān)黾映绦騿T。公司答應(yīng)了并再招了二各分別類(lèi)似乙和丙的程序員,沒(méi)錯(cuò),公司不會(huì)再招聘類(lèi)似甲的程序員。團(tuán)隊(duì)不需要加班了。
好景持續(xù)不長(zhǎng)久,一段時(shí)間后,加班的情況再次出現(xiàn)了,因?yàn)楦?jìng)爭(zhēng)對(duì)手的努力,讓產(chǎn)品和運(yùn)營(yíng)提出更多的需求。他發(fā)現(xiàn)產(chǎn)品和運(yùn)營(yíng)的需求源源不斷地輸入。可是有些需求可能用戶(hù)永遠(yuǎn)用不到或者三天后就變化了。為了解決這種局面,他找來(lái)領(lǐng)導(dǎo)和各部門(mén)的負(fù)責(zé)人來(lái)商討解決的辦法。有人提出走敏捷開(kāi)發(fā)。公司決定新成立一個(gè)小團(tuán)隊(duì)來(lái)做測(cè)試。于是公司每一個(gè)敏捷開(kāi)發(fā)團(tuán)隊(duì)成立了。時(shí)間證明了,這個(gè)新團(tuán)隊(duì)終于可以不加班了。而對(duì)需求的完成總體讓產(chǎn)品和運(yùn)營(yíng)滿(mǎn)意。樂(lè)觀的局面總不能持續(xù)很久,因?yàn)榫€上出了一個(gè)令用戶(hù)急劇下降的bug。他們需要加班通宵,或者回退代碼,或者修復(fù)這個(gè)bug。沒(méi)有使用很好的版本回退辦法,只能是一場(chǎng)惡夢(mèng)。持續(xù)集成和自動(dòng)發(fā)布加入到他們的團(tuán)隊(duì)。沒(méi)錯(cuò),程序員丁開(kāi)始在團(tuán)隊(duì)里實(shí)施非常好的項(xiàng)目管理的方案。起碼發(fā)新版后,非工作時(shí)間在線上出bug,任何有權(quán)限的人員都可以輕松地一鍵回退。剩下的,上班再說(shuō)。
這就是我要講的程序員為什么要加班的幾個(gè)故事,歡迎各位補(bǔ)充。以后我也會(huì)補(bǔ)充更多的故事。其實(shí)所有的后面都不重要,我只希望各位創(chuàng)業(yè)者,在招聘程序員時(shí),避免遇到程序員甲,爭(zhēng)取找到程序員丁。作為開(kāi)發(fā)人員的我們,也要努力成為程序員丁,保證自己的職場(chǎng)競(jìng)爭(zhēng)力。還是那句話(huà),軟件開(kāi)發(fā)不是高科技的東西,這世上并沒(méi)有軟件科學(xué)家一說(shuō)。我們能做的是讓開(kāi)發(fā)更像一門(mén)藝術(shù)。
責(zé)任編輯:wv
-
程序員
+關(guān)注
關(guān)注
4文章
953瀏覽量
29857
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論