碼農(nóng)自述:當(dāng)了35年程序員,后悔沒(méi)轉(zhuǎn)行...
注:這是一個(gè)“一子錯(cuò),滿盤(pán)皆落索”的故事。兢兢業(yè)業(yè)干了35年的程序員,最后卻認(rèn)識(shí)到,程序員的力量太過(guò)微小。無(wú)論你寫(xiě)程序有多厲害,你都很難有權(quán)力真正改變一些失敗的產(chǎn)品、失敗的項(xiàng)目。
尤其是當(dāng)他看到,當(dāng)年跟自己同上節(jié)目展示開(kāi)發(fā)軟件的Mike Slade,最后走上管理層,創(chuàng)立了包括ESPN在內(nèi)的一大批公司,成了喬布斯的好朋友,那種失落更是莫名的強(qiáng)烈。至今都對(duì)自己當(dāng)初貪圖安逸、沒(méi)有走上管理層而懊惱,走技術(shù)管理還是繼續(xù)當(dāng)程序員,這是個(gè)問(wèn)題?
約摸20多年前的時(shí)候,我面臨著一個(gè)人生的交叉路口。當(dāng)時(shí)我的第二家公司正在走下坡路,我們給一家出版商客戶開(kāi)發(fā)了五年的Deltagraph軟件項(xiàng)目終止了,因?yàn)閷?duì)方想要轉(zhuǎn)移到方興未艾的互聯(lián)網(wǎng)世界。當(dāng)時(shí)的我當(dāng)了13年的程序員,其中有9年左右也身為管理層參與經(jīng)營(yíng)公司。
我不想再兼顧這兩種工作了。此前在85年到87年期間,我的第一家公司不僅開(kāi)發(fā)了一款新的電子報(bào)表制作軟件,還自己搞定了軟件的發(fā)行工作。我領(lǐng)導(dǎo)公司,接受媒體采訪,維護(hù)和投資人的關(guān)系,基本的公司事務(wù)都是我在做,同時(shí)我還是全公司的3個(gè)程序員和UI設(shè)計(jì)師之一。到了87年初終于成功發(fā)布產(chǎn)品的時(shí)候,我緊張興奮得最終進(jìn)了醫(yī)院。想要同時(shí)干好領(lǐng)導(dǎo)和編程,實(shí)在是超負(fù)荷的工作。
到了1994年,當(dāng)時(shí)我有機(jī)會(huì)選擇職業(yè)方向,可以進(jìn)行技術(shù)管理也可以繼續(xù)當(dāng)程序員。我選擇了當(dāng)程序員,因?yàn)楣ぷ鞲?jiǎn)單。今天我才明白,自己的選擇有多么地錯(cuò)誤,盡管我在當(dāng)程序員的20年間也參與了許多很棒的項(xiàng)目。如果當(dāng)初選擇了首席技術(shù)官、首席信息官、工程副總裁這樣的路線,那將是好得多的決定。
1995年前后,我在舊金山灣區(qū)工作了一年,其中后半年是在蘋(píng)果公司。蘋(píng)果公司當(dāng)時(shí)看起來(lái)快要倒閉了,我不想看著自己最?lèi)?ài)的公司分崩離析,于是就離職回了德州。
那時(shí)的我太年輕太天真,乃至大錯(cuò)特錯(cuò)。蘋(píng)果公司在一年后喬布斯回歸之后東山再起,互聯(lián)網(wǎng)風(fēng)暴也在那時(shí)開(kāi)始席卷全球。
作為一個(gè)經(jīng)驗(yàn)豐富的程序員和領(lǐng)導(dǎo)者,我完全明白開(kāi)發(fā)一款產(chǎn)品是怎樣的一個(gè)過(guò)程。我們?cè)?jīng)做過(guò)九次應(yīng)用的重大發(fā)布(major release),所有軟件的核心都是我寫(xiě)的,都不需要后續(xù)加修正程序——反正當(dāng)時(shí)補(bǔ)丁也很難寫(xiě)。我摩拳擦掌,心想那些公司是多么需要我這樣的人才。一旦有機(jī)會(huì)坐到高位,我就可以平步青云了。
我的姐姐也在30年前開(kāi)始了她的程序員生涯,但她在工作的第一年就跳到了管理職位,此后在一個(gè)大公司當(dāng)副總裁,一干就是15年。我?guī)啄昵霸谝患衣眯猩绻ぷ?,其母公司的CEO就是15年前干程序員起家的。當(dāng)然這類(lèi)管理工作可能很困難也沒(méi)啥意思,但他們的報(bào)酬要好得多。我姐姐的資產(chǎn)大概是我的10倍。
這些年來(lái),我認(rèn)識(shí)到程序員的力量太過(guò)微小。無(wú)論你寫(xiě)程序有多厲害,你都很難有權(quán)力真正改變一些失敗的產(chǎn)品、失敗的項(xiàng)目。我當(dāng)時(shí)就是沒(méi)看明白,作為一個(gè)程序員(乃至建筑師這樣的崗位)的晉升空間有多么小。在這樣一個(gè)干苦力的崗位上,你改變事情的力量注定是微乎其微的。再算上管理層在財(cái)務(wù)上的福利、更有可能深入?yún)⑴c公司IPO以及其它種種可能得到的機(jī)會(huì),選擇當(dāng)程序員,就意味著你必須滿足于開(kāi)發(fā)好產(chǎn)品,其他就別想太多了。
這些年來(lái),我工作過(guò)或作為顧問(wèn)咨詢(xún)過(guò)的那些最差勁的企業(yè),基本上都是因?yàn)樗麄兊募夹g(shù)管理層的不稱(chēng)職,甚至是徹頭徹尾的技術(shù)白癡。這類(lèi)公司簡(jiǎn)直多到寫(xiě)不完。
舉個(gè)例子,一家銀行的工程副總裁曾聲稱(chēng),作為一個(gè)管理者的他不需要懂得那些技術(shù)細(xì)節(jié),因?yàn)樗芾淼氖侨?,而且仍然認(rèn)為自己可以做技術(shù)方面的決策。同一家銀行的首席信息官?gòu)膩?lái)不相信他手下跟他說(shuō)的話,反而把賣(mài)方的話全盤(pán)兼收。我們當(dāng)然都知道他從中獲得了提成,雖然我們買(mǎi)的都是根本用不到的東西,他卻總是寫(xiě)文章稱(chēng)贊那些產(chǎn)品對(duì)我們來(lái)說(shuō)有多大用處。我離開(kāi)那家公司一段時(shí)間后,他也被開(kāi)除了,但轉(zhuǎn)頭就又找到了另一家公司里類(lèi)似的職位。
我做過(guò)最差勁的一份工作,恰恰是我本以為會(huì)是最好的一份。當(dāng)時(shí)一個(gè)已創(chuàng)業(yè)一段時(shí)間的企業(yè)在他們的領(lǐng)域里取得了一定的地位,他們和定位不同的競(jìng)爭(zhēng)對(duì)手都想占領(lǐng)更大的市場(chǎng),于是競(jìng)爭(zhēng)開(kāi)始白熱化。
我被雇傭?yàn)榈诙绦騿T。原來(lái)的一個(gè)程序員和經(jīng)理的職責(zé)是開(kāi)發(fā)一個(gè)新的在線商店,因?yàn)樵瓉?lái)的商店網(wǎng)站太不靈活,而且訪問(wèn)量一上去速度就變慢。整個(gè)公司沒(méi)有其他技術(shù)方面的領(lǐng)導(dǎo),CEO和另兩個(gè)創(chuàng)始人在技術(shù)方面沒(méi)有任何經(jīng)驗(yàn)和知識(shí)。另一個(gè)程序員一直在吹捧自己的后臺(tái)代碼寫(xiě)得多好,管理層也支持他。
我開(kāi)發(fā)了一個(gè)前端,架設(shè)測(cè)試,每天簽入代碼。當(dāng)我覺(jué)得是時(shí)候把我的代碼整合到系統(tǒng)中時(shí),我發(fā)現(xiàn)另一個(gè)程序員在10個(gè)月里啥也沒(méi)干。我把這件事告訴經(jīng)理,他卻對(duì)我說(shuō),“他在做到完美之前從不會(huì)簽入代碼。”。然而,其他人都不覺(jué)得這種做法很愚蠢。在接下來(lái)的兩個(gè)月里,我一直努力讓三個(gè)創(chuàng)始人聘請(qǐng)真正能做事的程序員(我認(rèn)識(shí)幾個(gè)合適的人),但他們很害怕做出改變,也不肯承認(rèn)聘請(qǐng)那兩個(gè)人從一開(kāi)始就是錯(cuò)誤的選擇。最終我選擇放棄,離開(kāi)了那家公司。
一年后,那家公司在仍然沒(méi)有從那兩個(gè)員工那里看到一點(diǎn)進(jìn)展,于是終于決定開(kāi)除他們。他們嘗試去找一個(gè)咨詢(xún)公司,但仍然一無(wú)所獲,當(dāng)時(shí)已經(jīng)為時(shí)已晚。他們的競(jìng)爭(zhēng)對(duì)手已經(jīng)成了估值十億美元的上市公司,我還在電視上看到過(guò)他們的廣告。而每次在電視上看到他們的廣告,我都想拿一只鞋子砸過(guò)去。那時(shí)候的我們?nèi)f事俱備,就差一個(gè)在線商店,和一個(gè)真正的技術(shù)領(lǐng)導(dǎo)人。如果當(dāng)時(shí)的我身處管理層而不是一名小小的程序員,我肯定會(huì)讓整個(gè)公司走上另一條路。但我只是一個(gè)程序員。
這樣的事還有很多,但在技術(shù)上,你并不能改變?nèi)藗冏鍪虑榈姆绞剑悄阌心莻€(gè)能力、權(quán)力和機(jī)會(huì)。有了這些條件,并且找到正確的位置來(lái)發(fā)展,你才有可能摘星攬?jiān)隆?/p>
1987年年初,我在電視節(jié)目中展示自己開(kāi)發(fā)的Trapeze軟件,上節(jié)目的另一個(gè)展示人是Mike Slade,他是Excel的產(chǎn)品經(jīng)理。當(dāng)時(shí)的我還太年輕,以為他也不過(guò)是一個(gè)無(wú)名小卒。然而他后來(lái)創(chuàng)立了一大批包括ESPN在內(nèi)的公司,曾在蘋(píng)果公司擔(dān)任許多領(lǐng)導(dǎo)角色,成了喬布斯的好朋友,并創(chuàng)立了自己的風(fēng)投公司。
但是,今日的我還是一個(gè)程序員,籍籍無(wú)名的技術(shù)工。我甚至覺(jué)得,我永遠(yuǎn)都不會(huì)有真正退休的一天。還好我技術(shù)不差,現(xiàn)在的這份工作就是以前的一個(gè)經(jīng)理招我進(jìn)來(lái)的,因?yàn)樗私馕业哪芰Α5谖依系阶霾粍?dòng)之前,我仍然只是一個(gè)小小的程序員。
干了35年的程序員,保證按時(shí)完成任務(wù),我也依然覺(jué)得推出新產(chǎn)品是很有趣的工作,這些年我也有機(jī)會(huì)開(kāi)發(fā)了許多不錯(cuò)的產(chǎn)品。但是,我仍然能夠感受到對(duì)當(dāng)初貪圖安逸、沒(méi)有走上管理層的懊惱。
在某種程度上,當(dāng)程序員是一份簡(jiǎn)單的工作。然而,一想到我曾經(jīng)距離互聯(lián)網(wǎng)風(fēng)暴的中心那么近,離喬布斯回歸那么近,我也有一定的領(lǐng)導(dǎo)經(jīng)驗(yàn),我就無(wú)法不懊惱,我完全可能是另一幅模樣。
所以,我真的很后悔沒(méi)有直面挑戰(zhàn)。當(dāng)然,如果走的是另一套路,我就會(huì)失去寫(xiě)代碼的樂(lè)趣,也無(wú)法感受寫(xiě)不出來(lái)的絕望感。但是在人生的分岔路,我選擇了行人稀少的那一條,它改變了我的一生。現(xiàn)在我大概明白了。