首先討論下,有多少實際工作經驗叫老程式員呢?我這裡定義5年吧,畢竟我才在公司開發了5年多點.(真真實實的開發了5年多,極少出差,一坐一天的開發.畢業前兩年沒從事開發,不算) 我寫的博客關於具體的技術,實現的詳細說明或代碼的方式寫出來的極少.因為我擅長的只是.net,桌面開發方向,新入行的程式員web ...
首先討論下,有多少實際工作經驗叫老程式員呢?我這裡定義5年吧,畢竟我才在公司開發了5年多點.(真真實實的開發了5年多,極少出差,一坐一天的開發.畢業前兩年沒從事開發,不算)
我寫的博客關於具體的技術,實現的詳細說明或代碼的方式寫出來的極少.因為我擅長的只是.net,桌面開發方向,新入行的程式員web開發或app開發等都比我技術NB.
但是,但是,我的優勢在哪裡?我認為我這5年多工作經驗,最大的優勢就是養成了程式員的工作習慣或工作態度及解決問題的辦法.
比如,我在公司接手一個新的項目,我首先會在電腦上建一個這個項目的文件夾,然後分門別類的把涉及這個項目的所有資料,都放在一這個文件夾里.
然後在後續的開發,及修改過程中,我會把自己的分析,及解決辦法,業務的理解,客戶的需求等等統統記錄下來.這樣,就算我讓其他同事負責這個項目了,他也會有資料看,或者我辭職了,接手的程式員也會很快上手的.假如我去一個新公司,接手一個項目的維護工作,如果沒資料,我很難上手的話,我會很快再辭職的.(這對公司來說也是一個很大的損失)
再者,我能堅持寫這麼多年代碼,只有一個原因,那就是我喜歡,享受寫代碼.這個很重要,很多程式員堅持不下去的原因就是做開髮根本沒興趣.
NB程式員還有一個重要的原因,就是善於總結,善於思考技術點.假如思考這麼多年的話,關於底層的,很多技術的來龍去脈都會很清楚.也會舉一反三進行創新.
今天我突然想到,像C,C++這些程式,編譯鏈接後生產二進位可執行代碼,而二進位命令是針對CPU,RAM,IO等硬體的,與操作系統無關,所以可以移植.我是這樣想的.
搞C#,我只有一個認識,就橫走.net,那就是把引用類型理解成地址變數.
最後,經驗的積累,會讓我舉一反三,更好的解決問題,比如我沒學過C++,照樣把C++翻譯成C#來操作硬體,安裝一個ORACLE,報錯不斷,我不用問別人,而是自己解決.再比如,我沒開發過Delphi程式,但是慢慢看代碼,也能開懂6,7成.還有,我沒有用ado連接過informix資料庫,但是我曾經見其他同事用odbc聯oracle,那舉一反三,也就連接成功了等等
再總結一下,老程式員的優勢就在於,這麼多年的開發,已經養成了自己的工作(開發)習慣和自己的處理問題的解決方式.
這才是寶貴的,新手程式員無法體會和競爭的優勢.
路漫漫其修遠兮,技術日新月異的變化,但是,根本的東西都不會變,變的只是錶面.精通一門語言,其他都類似.
年紀大了,好記性不如記到電腦上.
我想終身搞開發,搞技術,寫代碼!