1、業務知識
這個不多說了。
其實有時候很煩那些變來變去的業務邏輯,但是在某個行業混,不瞭解業務是很難寫出好用的軟件的。
2、底層知識
包括對語言的掌握,對調試技術的掌握,對操作系統的瞭解(線程,進程等知識),對數據庫的掌握,對類庫的使用等。
1)作爲C++程序員,要想寫出的程序效率高,且不容易出錯,對語言細節的掌握是必要的。
2)不管是Windows下還是UNIX下的調試技術都需要掌握。特別是對core問題的定位更要精通,這樣有助於許多客戶現場出現的、無法復現的問題的定位。
3)使用C++進行多線程編程,操作系統底層的機制需要十分了解。對操作系統的瞭解還包括此操作系統下各種工具的使用,如tasklist、pldd、pstack等。
4)雖然不要求能夠寫出極其複雜的SQL查詢,但是一般的數據庫知識還是要掌握的,比如怎麼設計表會提高效率,怎樣寫不會出現死鎖等。
5)基本的如STL、常見的如boost、ACE等都需要掌握。即使不用記住每個類的細節,也要知道從哪裏能獲得詳細的資料。
3、設計能力
建模設計能力,敏捷等
對於底層知識,可以通過看書、看資料搞定,但是對於設計能力,卻不是那麼容易學會的。因爲業務的千差萬別,只有在實踐中才能逐漸提高自己的設計能力。
目前對第3點是十分欠缺的,正在努力提高。
----------------------------------------------------------------
其實那天晚上寫這篇文章時突然有別的事,於是只寫了幾個標題,不知道爲什麼會被放到首頁上。那些罵人的沒必要這麼刻薄吧