程式設計師的成長之路,沒有捷徑可走,只有堅持不懈的執著追求,才能成為一名優秀的程式設計師。執著誠然可貴,但如果不能經常自省,則有可能會陷入固執的境地。
1.程式設計師需要一點執著精神
《士兵突擊》中許三多有一句名言:「不拋棄、不放棄」,這是一種可貴的執著精神。正是靠著這種不拋棄、不放棄的執著追求,許三多從乙個普通的小兵,成長為團部的精英。在現實生活中也是這樣,可以說大凡取得一定成就的人,在工作中都是乙個執著的人。
對程式設計師則言,執著精神尤為可貴。在程式設計過程中,我們難免會碰到各種問題,如果沒有一點執著精神,一碰到問題就抱怨、迴避,怎麼可能取得技術上的突破呢?又怎麼能體會到解決問題的快感呢?
回想起我剛入門學習gis(地理資訊系統)程式設計時,經理就給我安排了乙個之前讓不少人望而卻步的難題,用mapobjects實現地圖符號化,要求具有自定義符號庫的功能。以我當時的經驗,根本不知道從何下手,但也只能硬著頭皮上。首先我把mapobjects的幫助檔案全部仔仔細細看了一遍後,找到乙個customdraw介面。但是只是乙個介面而已,離完整的符號化功能還相差很遠。怎樣利用這個介面呢?當時網路還很落後,網上的程式設計資料更少,關於mapobjects的中文開發資料則幾乎沒有,於是我又通過蝸牛速度的網路,查閱國外的相關英文資料,在片言隻語中尋求靈感。那一段時間我無論是吃飯、睡覺,還是走了路上,無時無刻不在思考技術上的問題,由於堅持不懈的努力,我一次次獲得小小的啟發,一步步接近問題的解決之道。6個月艱苦摸索之後,我終於徹底搞定了這個在公司內公認的難題,我本人也從乙個門外漢,一舉成為了公司的核心技術人員。這一段時間,我不但把mapobjects每個介面弄得爛熟,還學會了一百多個windows api的使用,無論是技術方面,還是個人的職業生涯,都取得了一次飛躍。
程式設計師都需要一些執著的精神,來磨鍊自己、發展自己,要有水滴石穿的決心和勇氣,才能夠成為真正優秀的程式設計師。
2.自省消除固執
固執和執著一樣,都是一種堅持不放棄的精神,既然如此,那為什麼人們總是讚美執著的人,對固執卻嗤之以鼻呢?
其實兩者的差別全在於堅持的方向。執著和固執,就像一根繩子的兩端,雖然是在同一根繩子上,方向卻相反。執著是沿著正確的方向前進,是一種理智的堅持,而固執則恰好相反。既然都是堅持,那怎麼判斷方向是否正確呢?
其實,何為正確,何為錯誤,兩者之間並不是涇渭分明,不然,也就不會有那麼多「執迷不悟」的人了。方向是否正確,往往是以結果來衡量的。因此是執著還是固執,其實主要是結果導向,結果好就是執著,結果不好,就是固執。愛迪生發明燈泡的時候,經歷了無數次的失敗仍然堅持不懈,最後終於找到了用鎢絲作為燈絲方法,取得了成功,他的堅持我們稱之為執著。後來,愛迪生創立了通用電氣公司,堅持用直流電供電,無視交流電在遠距離傳輸方向的巨大優勢,最後輸給了採用交流電方案的西屋電氣公司,他自己也只黯淡離開自己創立的公司,這時候,我們只能說發明大王也有固執的時候。
如此說來,難道我們非要等要結果發生,才能知道自己的堅持是對是錯嗎?有沒有辦法讓我們在進行過程中就能出判斷呢?這只能靠我們的自省。孔子曰:「吾日三省吾身」,大凡善於自省的人,都不會是固執的人。他們能隨時察覺自身的問題,具有理智的否定自己的勇氣。
自省需要常識。對於乙個不具備常識、不明白對錯、不理解基本規則的人,怎麼能正確判斷方向呢?這樣的人再怎麼自省也是無濟於事的,他只有在不斷的碰壁中才能獲得真正的成長。
我曾經見到一些程式設計師,在自己的想法與專案經理發生衝突時,總是一味的堅持,不肯讓步,甚至與專案經理陷入無休止的爭吵,還以為自己掌握了真理。殊不知,與上司頂撞是一種愚蠢的行為,這種過分的堅持,會在上司心目中形成不聽話的印象。更何況,服從上級工作安排是基本的職場規則,你可以提意見,但必須尊重上司的決定。毫無疑問,在這場對峙中,不管理專案經理對錯,程式設計師都是固執的一方。如果程式設計師具備這些基本的常識,並且保持自省,也就不會發生這樣的事情了。
自省還需要具有突破思維舒適區的勇氣。每個人的都有其思維舒適區,這裡一切受潛意識的保護,一切都似乎理所當然,我們的大腦無需對事物做過多的思考,爽爽的享受這種自我封閉帶來的輕鬆和愉悅。毫無疑問,思維舒適區阻擋了我們對事物深層次的探求,以及我們對不同觀點的接納,因而也就無法對自己所堅持的東西做出真正客觀的分析。
在程式設計師與專案經理的爭吵中,其實雙方都應該勇敢跳出自己的舒適區,心平氣和地考慮,對方的觀點是否也具有可以接納的成分,做乙個理智的堅持者,這樣才能做到雙贏。執著還是固執,往往也就只是在一念之間的差別。
《從程式設計師到專案經理》內容記錄
1 通常工作梳理用5w1h法 p82 1.why 為什麼幹這事兒?目的 2.what 什麼事情?物件 3.where 在什麼地方執行?地點 4.when 什麼時候執行?什麼時候完成?時間 5.who 由誰執行?人員 6.how 怎樣執行?採取哪些措施執行?方法 2 四象限法 p83 3 專案管理9大...
思維的蛻變 從程式設計師到專案經理
文 火星人 出處 it168 因為我在參與的軟體專案開發表現出色,公司在新乙個軟體開發專案上委派我做專案經理,全權負責專案各種事務的管理。繁忙的事務處理使我體力透支,有一種脫了一層皮的感覺,但最使我心力交瘁的是從軟體程式設計師到專案經理的一種思維方式和觀念的痛苦轉變。在軟體越來越複雜,需求多變的情況...
《從程式設計師到專案經理》學習筆記
一 為什麼要當專案經理?1 專案經理作為最基礎的管理職位,沒有職業瓶頸。2 專案經理75 以上時間用於溝通,與人交流,更有助於自己心智成熟。3 專案經理的經驗可用到生活的方方面面。二 從程式設計師打專案經理要克服的障礙 1 溝通能力弱,與人溝通,聽說讀寫能力都要加強 2 固執自傲 視野狹窄,太講邏輯...