程序員生存定律書摘

程序人生的出口:
1.成就超一流高手
2.積累爆發開始創業
3.轉向管理之路
4.維持原狀的老碼農
5.提前退場向代碼說再見


影響人生成績的四個要素
定律要素之一自身價值
定律要素之二自身價值上的表達力
定律要素之三自身價值的稀缺性
定律要素之四身處公司的特質和未來


技術轉管理需要考慮三件事情:
一是既定環境下技術路徑究竟有多長;
一是個人的性格適不適合做管理工作;
一是做管理工作可能會有什麼負面影響。

管理工作的負效應
1. 同純技術工作相比,管理工作(特別是中層管理)的可流動性可能會非常低。

2. 跳槽後,價值歸零(原因:技術能力退化,溝通技能、與上級的信任程度反倒會提高,與公司的利益綁定緊)

所以中層管理人員,達到一定年紀後(比如:40歲),很可能會失去流動的可能性,一旦所處的公司出現問題,那就可能會面臨非常尷尬的局面---直接講就是,如果你選擇了管理方向,卻缺乏相應的人脈,35歲之後基本不具備可流動性,換工作會很難,至少比純技術的高端人員難。
總之,別太爲了點錢過度難爲自己,走不遠的話,最終還是吃虧。


做好管理工作有兩點很關鍵:
一是要把技術工作做的相對比較好。
二是要能夠借勢。

如何開始自己的管理工作?
1.瞭解現有系統的狀況,包括規格、代碼規模、代碼質量、代碼內部結構、工作流程、問題所在等。比如說:很可能這類系統缺乏一種整體設計,是靠單純的增加代碼的量堆積出來的,代碼冗餘非常厲害,數據庫的表也創建的比較隨意。

2.瞭解人員。包括人員的能力水平、工作意願狀況、性格。

3.瞭解公司。尤其是公司的運作風格,有的公司偏人治有的公司偏於規則。短期對這類現行秩序要考慮如何順應,而不是如何改變。

4.對當前系統的狀況和人的狀況有所把握後,要對願景進行描畫,比如在功能上做那些改善,對速度做如何改善,目標的高低要適度,要能獲得上司和下屬的支持。這時候還要能平衡短期和長期目標,既不能長時間投入沒有產出,也不能有產出但進步不可見。在這一步驟裏最典型的忌諱是急功近利的做超出自己影響力範圍的事情。比如:目標與現有人員的能力完全不匹配或者完全不顧及對銷售可能產生的影響而單純的做系統的優化。最理想的情形是,連續達成幾個目標,提升自己的影響力。

5.搞清楚團隊成員和公司的的基本訴求,在取得成績的同時儘可能雙贏的擴大自己的影響力,目標是確保團隊的執行力。

6.逐步導入基本流程,使項目上軌道。但流程不能成爲成績的藉口。

7.接下來進一步的規劃願景,看能否取得更大的成績,比如:挑戰是否能做出真正有特色比較優異的產品。

公司分類方法:
分工所處位置的視角
行業的視角
時間軸的視角
核心競爭力的視角
---有的公司是核心競爭力偏向於銷售渠道,有的則是技術,有的則是兩者並重。
地域的視角
公司文化的視角


公司選擇上的方法論
使工作和自己的根基契合
當前可得到什麼將來可得到什麼


35歲之前必須掌握的硬技能:
精通一門最常用的語言
瞭解一個最常用平臺的基本機制,比如:內存管理、線程機制等
UML圖和麪向對象分析設計方法
設計原則,如:職責單一等
設計模式
《代碼大全》裏講的一切
精讀一個知名的,但有點規模的程序。這點上要感謝開源項目給我們提供了這麼多優秀程序。但要謹防好高騖遠,動輒挑戰Linux內核,精讀是關鍵。
累積一定的代碼量,比如:獨立的完整做過一個數萬代碼行的東西。這裏的關鍵是完全自己打造,一定不要拷貝粘貼。
掌握基本算法和數據結構(可以不自己寫,但至少要知道其複雜度和區別)
養成一種清晰的編碼風格
有自己的專業(金融、高併發網站,圖像處理,TTS等)

軟件人員的知識地圖:
通用的領域知識
編程語言(C/C++,Java,C#,Python,Perl,PHP等)
框架和類庫(Struts,Spring,OSGi的某個具體實現,MFC,Boost等)
平臺(Windows API,POSIX,.Net Framework※1,Java API,C/C++ Runtime Library等)。恰如Jeffry Richter所說,大多時候可以從內存機制、線程機制、錯誤處理、異常處理、組件構建、組件組合等方面來進一步考察一個平臺。
計算機體系結構(CPU指令,虛擬存儲等)
數據庫
實用技巧(調試方法,代碼生成器等 )
... ...
概念和邏輯創建和優化
面向對象分析和設計/結構化分析和設計
設計模式
重構
契約式編程
UML ※2
... ... ※2  從形式上來看UML更近似於一種編程語言,但從其目的上來看也許歸在這裏是更合適的一種選擇。
專業領域知識
圖形圖像算法
網絡協議
人工智能
數值/非數值類算法
財務知識
負載均衡
... ...
需求開發和描述
估算

估算法。比如,COCOMO, FP等。
估算術。比如,使用計數等原始辦法。
軟件工程和方法論
輕量型方法論。比如敏捷。
大方法論。比如CMMI
綜合分析。比如,《人月神話》,《人件》所做的工作。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章