天天看點

一個程式員的總結

1 、 分享第一條 經驗 :“學 曆 代表 過 去、能力代表 現 在、學 習 力代表未來。”其 實這 是一個來自國外教育 領 域的一個研究 結 果。相信工作 過 幾年、十幾年的朋友 對這 個道理有些體會吧。但我相信 這 一點也很重要:“重要的道理明白太 晚 将抱憾 終 生!”是以放在 每 一條, 讓剛剛畢業 的朋友 們 早點看到哈!

2 、 一定要确定自己的 發 展方向,并 為 此目的制定可行的 計 劃。不要 說 什 麼 ,“我 剛畢業 , 還 不知道将來可能做什 麼 ?”,“跟着感 覺 走,先做做看”。因 為 , 這樣 的 觀 點會通 過 你的潛意 識 去暗示你的行 為 無所事事、碌碌無 為 。一直做技 術 ,将來成 為專 家 級 人物?向管理方向走,成 為職業經 理人?先熟悉行 業 和 領 域,将來自立 門戶 ? 還 是先在行 業 裡面混混, 過 幾年 轉 行做點 别 的? 這 很重要,它将決定你近幾年、十年内“做什 麼 事情才是在做正确的事情!”。

3 、 軟 件 開發團隊 中,技 術 不是萬能的,但沒有技 術 是萬萬不能的!在技 術 型 團隊 中,技 術 與人品同等重要,當然 長 相也比 較 重要哈,尤其在 MM 比 較 多的 團隊 中。在 軟 件 項 目 團隊 中,技 術 水準是受人重 視 和尊重的重要砝 碼 。無 論 你是做管理、系 統 分析、 設計 、 編碼 , 還 是 産 品管理、 測試 、文檔、 實 施、 維護 ,多少你都要有技 術 基 礎 。算我孤陋寡 聞 ,我 還 真沒有 親 眼看到 過 一個外行 帶領 一個 軟 件 開發團隊 成功地完成 過軟 件 開發項 目,哪怕就一個,也沒有看到。倒是曾 經 看到 過 一個“高學 曆 的牛人” ( 非技 術 型 ) 帶 一堆人做完 過 一個 項 目, 項 目傳遞的第二天, 項 目 組 成 員 扔下一句“再也受不了啦!”四分五裂、各奔 東 西。那個 項 目的“成功度”大家可想而知了。

4 、 詳細 制定自己 軟 件 開發專業 知 識 學 習計 劃,并注意及 時 修正和 調 整 ( 軟 件 開發 技 術變 化 實 在太快 ) 。 請 牢 記 :“如果一個 軟 件 開發 人 員 在 1 、 2 年内都沒有更新 過 自己的知 識 ,那 麼 ,其 實 他已 經 不再屬于 這 個行 業 了。”不要告 訴 自己沒有 時間 。來自 時間 管理 領 域的著名的“三八原 則 ”告 誡 我 們 :另外的那 8 小 時 如何使用将決定你的人生成 敗 !本人自 畢業 以來,平均 每 天 實際 學 習時間 超 過 2 小 時 。

5 、 書 籍是人 類進步 的 階 梯, 對軟 件 開發 人 員 尤其如此。 書 籍是學 習 知 識 的最有效途徑,不要 過 多地指望在工作中能遇到“世外高人”,并不 厭 其 煩 地教你。 對 于花 錢買書 ,我個人 經驗 是:千 萬 别買 國内那幫人出的 書 !我 買 的那些家夥出的 書 , !00% 全部後悔了,無一本例外。更氣 憤 的是, 這 些 書 在二手市 場 的地 攤 上都很 難賣 掉。“ 擁 有 書 籍并不表示 擁 有知 識 ; 擁 有知 識 并不表示 擁 有技能; 擁 有技能并不表示 擁 有文化; 擁 有文化并不表示 擁 有智慧。”隻有将 書 本 變 成的自己智慧,才算是真正 擁 有了它。

6 、 不要 僅 局限于 對 某 項 技 術 的表面使用上,哪怕你隻是偶 爾 用一、二次。“ 對 任何事物不究就裡”是任何行 業 的工程 師 所不 應該 具 備 的素 質 。 開發 Windows 應 用程式,看看 Windows 程式的 設計 、加 載 、 執 行原理,分析一下 PE 檔案格式, 試試 用 SDK 開發 從 頭開發 一個 Windows 應 用程式;用 VC ++、 Delphi 、 Java 、 .Net 開發應 用程式,花 時間 去研究一下 MFC 、 VCL 、 J2EE 、 .Net 它 們 架構 設計 或者源 碼 ;除了會用 J2EE 、 JBoss 、 Spring 、 Hibernate 等等 優 秀的 開 源 産 品或者架構,抽空看看大 師們 是如何抽象、分析、 設計 和 實作 那些 類 似 問題 的通用解決方案的。 試 着 這樣 做做,你以後的工作将會少遇到一些 讓 你不明就裡、一 頭霧 水的 問題 ,因 為 ,很多 東 西你“知其然且知其是以然”!

7 、 在一 種語 言上 編 程,但 别為 其束 縛 了思 想。“代 碼 大全”中 說 :“深入一 門語 言 編 程,不要浮于表面”。深入一 門語 言 開發還遠遠 不足,任何 編 程 語 言的存在都有其自身的理由,是以也沒有哪 門語 言是“包治百病”的“靈丹妙 藥 ”。 編 程 語 言 對開發 人 員 解決具體 問題 的思路和方式的影響與束 縛 的例子俯拾皆是。我的 經驗 是:用面 對對 象工具 開發 某些 關鍵 模 塊時 , 為 什 麼 不可以借 鑒 C 、 C51 、 彙編 的模 塊 化封裝方式?用 傳統 的桌面 開發 工具 ( 目前主要有 VC++ 、 Delphi) 進 行系 統 體 統結 構 設計時 , 為 什 麼 不可以參考來自 Java 社群的 IoC 、 AOP 設計 思想,甚至借 鑒 像 Spring 、 Hibernate 、 JBoss 等等 優 秀的 開 源架構?在 進 行 類 似于 實時 通信、資料采集等功能的 設計 、 實作時 , 為 什 麼 不可以引用來自 實時 系 統 、嵌入式系 統 的 優 秀的體系架構與模式? 為 什 麼 一切都必 須 以個人、 團隊 在當然 開發語 言上的 傳統 或者 經驗 來解決 問題 ???“他山之石、可以攻玉”。

8 、 養 成 總結 與反思的 習慣 ,并有意 識 地提 煉 日常工作成果,形成自己的個人源 碼庫 、解決某 類問題 的通用系 統 體系 結 構、甚至 進 化 為 架構。衆所周知, 對軟 件 開發 人 員 而言,有、無 經驗 的一個 顯 著區 别 是:無 經驗 者完成任何任 務時 都從 頭開 始,而有 經驗 者往往通 過 重 組 自己的可 複 用模 塊 、 類庫 來解決 問題 (其 實這 個 結論 不 應該 被局限在 軟 件 開發領 域、可以延伸到很多方面)。 這 并不是 說 ,所有可 複 用的 東 西都必 須 自己 實作 , 别 人成熟的通 過測試 的成果也可以收集、整理、內建到自己的知 識庫 中。但是,最好 還 是自己 實作 , 這樣 沒有知 識産權 、版 權 等 問題 , 關鍵 是自己 實作 後能真正掌握 這 個知 識 點, 擁 有 這 個技能。

9 、 理 論 與 實 踐并重,内外雙修。工程 師 的内涵是:以工程 師 的眼光 觀 察、分析事物和世界。一個合格的 軟 件工程 師 ,是真正了解了 軟 件 産 品的本 質 及 軟 件 産 品研 發 的思想精髓的人

繼續閱讀