首先討論下,有多少實際工作經驗叫老程序員呢?我這里定義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,那舉一反三,也就連接成功了等等
再總結一下,老程序員的優勢就在于,這么多年的開發,已經養成了自己的工作(開發)習慣和自己的處理問題的解決方式。
這才是寶貴的,新手程序員無法體會和競爭的優勢。
路漫漫其修遠兮,技術日新月異的變化,但是,根本的東西都不會變,變的只是表面。精通一門語言,其他都類似.
-
程序員
+關注
關注
4文章
950瀏覽量
29763
發布評論請先 登錄
相關推薦
評論