程序員的宿命是怎樣的
1
張大胖畢業(yè)了,進(jìn)入了一家做行業(yè)軟件的公司。
作為新人,張大胖的工作就是做增刪改查,但是他很努力,不僅把自己的工作做好,還有全局視野,很快就可以獨當(dāng)一面了。
經(jīng)理給他安排了新任務(wù), 除了開發(fā),還要和客戶溝通,這是一件很重要的事情, 項目能不能賺到錢全靠甲方的一句話。
甲方就是上帝,張大胖每天對甲方點頭哈腰:行,這個功能能做,下周就出來,奧,明天就要啊, 可以,馬上安排人。
熬了一宿功能開發(fā)出來了,趕緊拿去給客戶看, 客戶說:我昨天說的你沒聽懂嗎? 這個地方我怎么不能審批?還有這個地方......
這樣地事情頻繁發(fā)生,搞得張大胖心力憔悴,他心說甲方太難伺候了,我還是去一家自己做產(chǎn)品,自己控制需求的互聯(lián)網(wǎng)公司吧。
那些公司都需要高并發(fā)、分布式的經(jīng)驗,張大胖自然是一點都沒有,只能去看書,看文章,他把一些知識點都給背了下來!
雖然沒有實踐,但是原理還是理解了, 面試官看在他基礎(chǔ)不錯的情況下,讓他通過了面試,進(jìn)入了這家不錯的互聯(lián)網(wǎng)公司。
2
一進(jìn)入公司,他就感受到了緊張的戰(zhàn)斗氣氛。每個人都在很努力地做自己的工作,下了班都不走,張大胖自然也不敢走。
張大胖這幾天都在看系統(tǒng)結(jié)構(gòu)和源代碼, 領(lǐng)導(dǎo)交給他的任務(wù)是盡快熟悉系統(tǒng) ,早日進(jìn)入開發(fā),他驚奇地發(fā)現(xiàn)這個公司的產(chǎn)品表面看起來光鮮亮麗,但是內(nèi)部的代碼怎么這么爛? 和這個公司的形象嚴(yán)重不符啊。
終于可以開發(fā)了,領(lǐng)導(dǎo)分配了需求,張大胖仔細(xì)地分析,設(shè)計,覺得只要把系統(tǒng)的幾個類給抽象一下 ,形成一個新的接口,就能***地實現(xiàn)需求。
正準(zhǔn)備動手, 旁邊的老方說: “你的活兒明天是不是就得交了,哪有時間重構(gòu)?重構(gòu)了測試還得增加幾天的測試工作, 加個flag算了。 ”
張大胖將信將疑,但是老方是老員工了,張大胖按他的思路去做了,如期交工。
這幾個月的工作一直都是如此,修修補補,不敢也根本沒有時間重構(gòu), 張大胖越來越不開心,自己的設(shè)計能力完全沒法施展,就是一個苦力。 他恨透了這個垃圾堆一樣的遺留系統(tǒng),千方百計地轉(zhuǎn)崗,一定要找一個全新的項目去做。
3
張大胖運氣不錯,公司要做一個新的產(chǎn)品,他申請?zhí)诉^去,準(zhǔn)備大展宏圖。
在他的強烈建議下,新產(chǎn)品建立了一套編碼的規(guī)范和代碼評審的流程,決心把代碼質(zhì)量給守住, 剛開始執(zhí)行得還不錯,大家也都很開心。
可是有一天,經(jīng)理說競爭對手也在開發(fā)同類產(chǎn)品,得趕緊上線,要不然就可能被競爭對手干掉,一定要快。
工期一下子就變成了原來的一半,張大胖心中叫苦,但是毫無辦法,和另外幾個兄弟沒日沒夜地干活,根本顧不上什么代碼的質(zhì)量,心里安慰自己說下一個版本再改吧。
系統(tǒng)跌跌撞撞上線以后,產(chǎn)品獲得了不錯的口碑, 用戶迅速增長,為了留住客戶,得趕緊開發(fā)更多的功能。
張大胖悲催地發(fā)現(xiàn),這個產(chǎn)品也變成了金玉其外敗絮其中的“垃圾堆”, 幾個月前自己寫的代碼都看不懂了!
經(jīng)理經(jīng)常在一旁咆哮:你們怎么搞的,我就想加一個小小的按鈕,你們居然得做一個星期?
在下一個版本中來改進(jìn),變成了一個不切實際的美好愿望,永遠(yuǎn)也實現(xiàn)不了了。
張大胖經(jīng)常想,這軟件開發(fā)簡直就是奪路狂奔, 什么時候才能“自主可控”,穩(wěn)扎穩(wěn)打地實現(xiàn)一個系統(tǒng)啊!
這一天,張大看到了龍泉寺招聘的消息,他心動了......
4
這當(dāng)然是我編的一個故事,在其中也許能看到你我他的影子。
【本文為51CTO專欄作者“劉欣”的原創(chuàng)稿件,轉(zhuǎn)載請通過作者微信公眾號coderising獲取授權(quán)】