1.程序員需要一點執(zhí)著精神
《士兵突擊》中許三多有一句名言:“不拋棄、不放棄”,這是一種可貴的執(zhí)著精神。正是靠著這種不拋棄、不放棄的執(zhí)著追求,許三多從一個普通的小兵,成長為團部的精英。在現(xiàn)實生活中也是這樣,可以說大凡取得一定成就的人,在工作中都是一個執(zhí)著的人。
對程序員則言,執(zhí)著精神尤為可貴。在編程過程中,我們難免會碰到各種問題,如果沒有一點執(zhí)著精神,一碰到問題就抱怨、回避,怎么可能取得技術(shù)上的突破呢?又怎么能體會到解決問題的快感呢?
回想起我剛?cè)腴T學(xué)習(xí)GIS(地理信息系統(tǒng))編程時,經(jīng)理就給我安排了一個之前讓不少人望而卻步的難題,用MapObjects實現(xiàn)地圖符號化,要求具有自定義符號庫的功能。以我當(dāng)時的經(jīng)驗,根本不知道從何下手,但也只能硬著頭皮上。首先我把MapObjects的幫助文件全部仔仔細細看了一遍后,找到一個CustomDraw接口。但是只是一個接口而已,離完整的符號化功能還相差很遠。怎樣利用這個接口呢?當(dāng)時網(wǎng)絡(luò)還很落后,網(wǎng)上的編程資料更少,關(guān)于MapObjects的中文開發(fā)資料則幾乎沒有,于是我又通過蝸牛速度的網(wǎng)絡(luò),查閱國外的相關(guān)英文資料,在片言只語中尋求靈感。那一段時間我無論是吃飯、睡覺,還是走了路上,無時無刻不在思考技術(shù)上的問題,由于堅持不懈的努力,我一次次獲得小小的啟發(fā),一步步接近問題的解決之道。6個月艱苦摸索之后,我終于徹底搞定了這個在公司內(nèi)公認的難題,我本人也從一個門外漢,一舉成為了公司的核心技術(shù)人員。這一段時間,我不但把MapObjects每個接口弄得爛熟,還學(xué)會了一百多個Windows API的使用,無論是技術(shù)方面,還是個人的職業(yè)生涯,都取得了一次飛躍。
程序員都需要一些執(zhí)著的精神,來磨煉自己、發(fā)展自己,要有水滴石穿的決心和勇氣,才能夠成為真正優(yōu)秀的程序員。
2.自省消除固執(zhí)
固執(zhí)和執(zhí)著一樣,都是一種堅持不放棄的精神,既然如此,那為什么人們總是贊美執(zhí)著的人,對固執(zhí)卻嗤之以鼻呢?
其實兩者的差別全在于堅持的方向。執(zhí)著和固執(zhí),就像一根繩子的兩端,雖然是在同一根繩子上,方向卻相反。執(zhí)著是沿著正確的方向前進,是一種理智的堅持,而固執(zhí)則恰好相反。既然都是堅持,那怎么判斷方向是否正確呢?
其實,何為正確,何為錯誤,兩者之間并不是涇渭分明,不然,也就不會有那么多“執(zhí)迷不悟”的人了。方向是否正確,往往是以結(jié)果來衡量的。因此是執(zhí)著還是固執(zhí),其實主要是結(jié)果導(dǎo)向,結(jié)果好就是執(zhí)著,結(jié)果不好,就是固執(zhí)。愛迪生發(fā)明燈泡的時候,經(jīng)歷了無數(shù)次的失敗仍然堅持不懈,***終于找到了用鎢絲作為燈絲方法,取得了成功,他的堅持我們稱之為執(zhí)著。后來,愛迪生創(chuàng)立了通用電氣公司,堅持用直流電供電,無視交流電在遠距離傳輸方向的巨大優(yōu)勢,***輸給了采用交流電方案的西屋電氣公司,他自己也只黯淡離開自己創(chuàng)立的公司,這時候,我們只能說發(fā)明大王也有固執(zhí)的時候。
如此說來,難道我們非要等要結(jié)果發(fā)生,才能知道自己的堅持是對是錯嗎?有沒有辦法讓我們在進行過程中就能出判斷呢?這只能靠我們的自省。孔子曰:“吾日三省吾身”,大凡善于自省的人,都不會是固執(zhí)的人。他們能隨時察覺自身的問題,具有理智的否定自己的勇氣。
自省需要常識。對于一個不具備常識、不明白對錯、不理解基本規(guī)則的人,怎么能正確判斷方向呢?這樣的人再怎么自省也是無濟于事的,他只有在不斷的碰壁中才能獲得真正的成長。