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