邱元陽
深夜上網(wǎng),一軟件自動(dòng)更新,屏幕上跳出一句:新版本更新完成,程序猿哥哥終于可以下班回家了!
看到這個(gè)忽然很感動(dòng)。這也許是程序員忙完工作后的真情告白,也許是軟件推廣人員的推送軟文,但卻道出了程序員的辛苦。
在IT從業(yè)者中,程序員可能是最辛苦的,“黑發(fā)不知腦力累,白首方悔離行遲。三更燈火五更明,正是調(diào)試代碼時(shí)。”這正是底層程序員的真實(shí)寫照。
因?yàn)楣ぷ餍量啵瑫r(shí)常勞累,休息較少,睡眠不足,程序員們常常不修邊幅,形容粗獷,因此也被戲稱為“程序猿”,而比較稀有的女程序員則被稱為“程序媛”。
不論程序猿還是程序媛,程序員的主要工作和特點(diǎn)就是寫代碼。而且,寫代碼還是一碗青春飯,有年輕的資本,才經(jīng)得起智力體力的雙重考量和熬夜加班的百般折磨。這就好比建筑工地的民工,年輕力壯,不畏苦累,用微薄的報(bào)酬砌起一座座高樓大廈。所以,程序員們還常把自己自嘲為“代碼民工”,亦謔稱“碼農(nóng)”。
代碼民工,不是一種貶低的稱呼,而是一種無奈的表達(dá),甚至成為一種社會(huì)現(xiàn)象。
沒有過程序員親身經(jīng)歷的人,可能只會(huì)覺得程序員很神奇,簡單地敲擊幾下鍵盤,就能給一行行代碼字符賦予靈魂,跳起華麗的舞蹈,最終幻化成我們面前絢爛的界面,讓我們可視可聽,可玩可樂,豐富著我們的數(shù)字生活。然而其中的辛苦卻只有他們自己才能深深體會(huì)。這種辛苦不僅僅是工作的勞累和枯燥,還會(huì)伴隨著艱苦的學(xué)習(xí)和探索。
曾經(jīng)為學(xué)校開發(fā)過一個(gè)學(xué)生評(píng)教系統(tǒng),那時(shí)完全是憑著年輕氣盛,以為自己有程序設(shè)計(jì)語言的學(xué)習(xí)經(jīng)驗(yàn),便自告奮勇地開始了零基礎(chǔ)開發(fā)。從來沒有網(wǎng)頁程序設(shè)計(jì)的實(shí)踐,也沒有ASP、PHP的任何知識(shí),硬是只用一個(gè)星期的時(shí)間便完成了一個(gè)BS架構(gòu)的學(xué)生評(píng)教系統(tǒng)的開發(fā)、測試和上線運(yùn)行,以前六七個(gè)人需要半個(gè)月才能完成的評(píng)價(jià)工作,利用這個(gè)程序一個(gè)人一天就能完成。在沾沾自喜的同時(shí),也深刻地體會(huì)到了程序開發(fā)的艱難困苦,語言的學(xué)習(xí),算法的迷惘,技術(shù)的困惑,難題的解決,每個(gè)上升的臺(tái)階都是不易跨越的障礙,在黑暗的摸打滾爬中成長和進(jìn)步。
雖然實(shí)際工作中的程序員都經(jīng)過了專業(yè)的學(xué)習(xí)或培訓(xùn),但在具體任務(wù)面前,仍然會(huì)經(jīng)歷這種苦苦摸索和求助無門的過程,他們的成長仍然是艱難而傷痛的。
如同農(nóng)民工很少能成為工程師一樣,身為“碼農(nóng)”的程序員也只有少部分能成為軟件架構(gòu)師,他們中的大部分只能從事枯燥乏味的基礎(chǔ)開發(fā)和維護(hù)工作,遠(yuǎn)遠(yuǎn)地遙望那些只需要進(jìn)行規(guī)劃和設(shè)計(jì)的大牛們。
格拉德威爾在《異類》中提到,天才大都是經(jīng)過一萬小時(shí)左右的“刻意練習(xí)”訓(xùn)練出來的,并在很多領(lǐng)域得到驗(yàn)證。然而,這一定律卻不適用于程序員。每天8小時(shí)以上的“訓(xùn)練”,工作5年就突破一萬小時(shí)了,這樣的程序員比比皆是,卻沒有誕生出幾個(gè)天才。不管是自嘲、自謙,還是無奈、無語,不管是技術(shù)水平的原因,還是IT生態(tài)的現(xiàn)狀,“代碼民工”這一名稱早已烙上了辛苦和付出的印記,推動(dòng)著社會(huì)信息化的進(jìn)程。
當(dāng)我們得心應(yīng)手地使用各種智能設(shè)備和軟件時(shí),不要忘記,背后有無數(shù)的程序員,在用精致的代碼演繹著單調(diào)的人生,走過他們無悔的青春。
韶華已逝,代碼永存。
向程序員致敬。