在互聯(lián)網(wǎng)行業(yè)工作過的,肯定都聽過“加班汪”這個詞。而對于一個開發(fā)人員來說,加班的概率比普通工作要更多,加班是互聯(lián)網(wǎng)行業(yè)永遠的痛,項目節(jié)點定下來后,為保證項目節(jié)奏,程序員們基本上陷入天昏地暗永無止境地加班中。
首先,假設(shè)這個程序員是一位職場新手甲。他剛大學(xué)畢業(yè),沒有工作經(jīng)驗。來自產(chǎn)品的需求,他要理解很久才能做。然后開發(fā)的過程中會遇到各種問題,如果經(jīng)驗不足以支撐他快速完成任務(wù),那么只能求助于網(wǎng)絡(luò),書籍,熟人。如果這些都幫助不了他。他需要求助于同事。但是次數(shù)頻繁,同事會厭倦于幫他解答;他也會羞于咨詢。這時,他一天下來,基本都會卡在一個很簡單的問題上。下班了,他還沒有完成任務(wù)。沒錯,他需要加班了,因為他的編程能力非常差。
大概沒有人會知道他是因為需要處理一個并非高科技的問題。不懂技術(shù)的上司以為他是個勤奮的員工,非常看重他。可是,這什么進度還是會這么慢呢?創(chuàng)業(yè)的公司可等不起。這一切,如果招到一個有經(jīng)驗的開發(fā)人員,這一切的加班似乎都不需要。
好吧,公司開除了這名程序員或者他因“個人原因”辭職了或者公司再招到一個相對有經(jīng)驗的程序員乙。當(dāng)然,有經(jīng)驗的代價就是公司要付雙倍的薪水。所有之前的需求在他這邊都沒有遇到過加班的情況。他是一名非常有經(jīng)驗的程序員,他在過去的二年時間一直在處理相關(guān)的開發(fā)工作。到這邊來,所有的問題都是小意思。他的優(yōu)秀表現(xiàn)讓公司驚喜和意外,公司覺得即使再招十個之前的員工也比不過他一個人。所以,雙倍的薪水又有什么呢?
一段時間后,公司開始提各種各樣的需求,他終于開始加班了。加班不是因為某段時間需求的總量多了。而是因為隨著公司的快速發(fā)展,需求也越來越多樣化。他的知識儲備不足以令他總能輕松應(yīng)付。他變得和第一個程序員一樣,也加班了。只不過加班的原因不一樣,第一個程序員是因為一些代碼的調(diào)試的原因,而這位有經(jīng)驗的程序員是因為一些從沒聽說過的技術(shù)。他的加班讓公司同樣對他很重視,甚至認為是一位好伙伴。
與此同時,公司在招他的時候也招進來了一名優(yōu)秀的畢業(yè)生。他同樣是一名沒有經(jīng)驗的程序員,但是他有很好的學(xué)習(xí)能力。開發(fā)進度緩慢讓產(chǎn)品人員和運營人員都難以接受。但是他總能在最后關(guān)頭交付代碼,盡管上線后需要修修補補。他經(jīng)常加班來學(xué)習(xí)以便攻克技術(shù)難點,公司對加班的員工表示歡迎,因為沒有人讓他們加班,也不需要給他們加班費或者調(diào)休。公司為所有加班的人員提供良好的晚餐。他可以接大大小小的各種需求,只是,開發(fā)時間要比較長。但是他不會遇到那種代碼調(diào)試不通過的簡單的問題。相比程序員乙,程序員丙由于經(jīng)常拖慢進度經(jīng)常被產(chǎn)品和運營建議開除或者調(diào)崗。
可是后來,公司對他欣賞有加。原因有二:一是他終于可以用和程序員乙接近的時間來做任務(wù);二是在程序員乙那里看似不可能的任務(wù),程序員丙總能在最近關(guān)頭給出解決方案和代碼,只是時間比較長。產(chǎn)品和運營的觀點發(fā)生了改變,向公司建議開除程序員乙。程序員丙是一個學(xué)習(xí)型的員工,時間讓他有經(jīng)驗后,他成長成為一名更優(yōu)秀的員工。
公司有過教訓(xùn)后,終于不惜花重金去請各種優(yōu)秀的程序員。因為只要有一名這樣的程序員,就可以少請許多敗壞項目的程序員。于是,公司有了程序員丁。他在過去的一段時間里有著不錯的工作經(jīng)歷,幫助過所在的公司完成了各種重大的項目解決了相當(dāng)多的行業(yè)技術(shù)難點。他的到來為公司帶來了很好的活力,所有之前遇到的問題都不復(fù)存在。他成為了所有程序員的主管。后來,他還是加班了。因為公司的良好發(fā)展,于是聘請了更多的產(chǎn)品和運營。開發(fā)團隊忙不過來了,他作為主管要求大家一起加班。
為了緩解這種局面,他向公司申請增加程序員。公司答應(yīng)了并再招了二各分別類似乙和丙的程序員,沒錯,公司不會再招聘類似甲的程序員。團隊不需要加班了。
好景持續(xù)不長久,一段時間后,加班的情況再次出現(xiàn)了,因為競爭對手的努力,讓產(chǎn)品和運營提出更多的需求。他發(fā)現(xiàn)產(chǎn)品和運營的需求源源不斷地輸入。可是有些需求可能用戶永遠用不到或者三天后就變化了。為了解決這種局面,他找來領(lǐng)導(dǎo)和各部門的負責(zé)人來商討解決的辦法。有人提出走敏捷開發(fā)。公司決定新成立一個小團隊來做測試。于是公司每一個敏捷開發(fā)團隊成立了。時間證明了,這個新團隊終于可以不加班了。而對需求的完成總體讓產(chǎn)品和運營滿意。樂觀的局面總不能持續(xù)很久,因為線上出了一個令用戶急劇下降的bug。他們需要加班通宵,或者回退代碼,或者修復(fù)這個bug。沒有使用很好的版本回退辦法,只能是一場惡夢。持續(xù)集成和自動發(fā)布加入到他們的團隊。沒錯,程序員丁開始在團隊里實施非常好的項目管理的方案。起碼發(fā)新版后,非工作時間在線上出bug,任何有權(quán)限的人員都可以輕松地一鍵回退。剩下的,上班再說。
這就是我要講的程序員為什么要加班的幾個故事,歡迎各位補充。以后我也會補充更多的故事。其實所有的后面都不重要,我只希望各位創(chuàng)業(yè)者,在招聘程序員時,避免遇到程序員甲,爭取找到程序員丁。作為開發(fā)人員的我們,也要努力成為程序員丁,保證自己的職場競爭力。還是那句話,軟件開發(fā)不是高科技的東西,這世上并沒有軟件科學(xué)家一說。我們能做的是讓開發(fā)更像一門藝術(shù)。
責(zé)任編輯:wv
-
程序員
+關(guān)注
關(guān)注
4文章
956瀏覽量
30941
發(fā)布評論請先 登錄
堆棧的原理揭秘
芯盾時代SDP助力企業(yè)應(yīng)對核心機密泄露危機
程序員最常見謊言
堆和棧的區(qū)別
軟通國際亮相2025沙中開源與AI科技峰會
奔赴熱AI,碼力全開!Talkweb House@1024程序員日系列活動圓滿收官
開鴻智谷“以賽促學(xué)、以賽選才”|1024程序員節(jié)暨開源鴻蒙構(gòu)建大會圓滿落幕!
無法在調(diào)試中連接到PSOC4怎么解決?
程序設(shè)計與數(shù)據(jù)結(jié)構(gòu)
CY7C68013A無PID和VID,如何制作PDF?
如何在 樹莓派 上編寫和運行 C 語言程序?
零基礎(chǔ)入門:如何在樹莓派上編寫和運行Python程序?
Gemini Vision + Raspberry Pi 化身“數(shù)字導(dǎo)盲犬”?
程序員加班的意義
評論