Shane 於 2012 在編程哲學、管理、技術、成長之路的新思想

目錄
1 【思想】反思編程的起源
2 【管理】管理開發團隊的新想法
3 【工作】貫穿的追求與動力源 + 觀點共鳴
4 【工作】技術成長是一種慢突變,珍惜生涯貴人


實際上我的這篇文章,最開始僅僅源於有人推薦我看了別人的一篇優秀博文。
真是很優秀,大家可以都去看看。
《駕馭你的“職場布朗運動”》
作者李雲在其中通過描述他的前半段職業生涯,詳細解釋了他 25 條職場感悟的產生過程;這種方式能夠讓我們產生共鳴,並以此學會總結自己的工作感悟;這就是所謂的“成功之心”吧。
下午寫了份回覆,結果沒想到突然筆記本計算機自動重啓了!於是只好重新寫……很多字呢……  T T  不過藉着重寫,我自己又重新深入思考了自己的想法,補充了一些沒想到位的內容。

---------- ---------- ---------- ----------

1 【思想】反思編程的起源

這次感悟源於我看到了《駕馭你的“職場布朗運動”》中程序邏輯控制(PLC)那部分。
我不是計算機專業出身,所以對於行業歷史缺乏足夠的瞭解。因爲工作中沒有大量的時間做這些閒事,我也就只能瞭解了下狀態機、Unix 發展過程、GNU/Linux 發展過程、服務器思路變更等內容,很多能讓我把行業精神融會貫通的東西,我都不知道。
今天,我看到了程序邏輯控制,一下子有種恍然大悟的感覺。以前很多注意到過但沒辦法想過的事情,就這麼都看通了。對於我來說,程序邏輯控制這種東西,讓 我看到了電氣自動化的經驗升級爲編程的中間段,讓我看到了編程誕生的胚胎。知道了這個中間段,我就終於知道爲什麼過程化編程會先興盛,終於知道如今這種重 視分支的編程思路是怎麼來的。mianshi
我有種感覺,如果我繼續在軟件業工作,我就有希望提出一種和麪向對象思想同樣級別的編程哲學。這就歸功於我今天看到過如今程序哲學的來源,讓我的思維能夠跳出這種定式。

說起來,其實美國推廣軟件學新思路的人,哲學素養都挺高的。我想起以前參加第11屆中國系統與軟件過程改進年會時交談過的 Ivar Jacobson ,他是 SEMAT ,一個融合現有各軟件開發理論的理論,的開創者。此人能夠很自然地運用範式理論(庫恩哲學)對自己的理論進行宣傳,能夠應用後熱力學時代的狀態-過程分離 思考法來開發軟件生產、管理過程。(參看我另外一篇日誌《參加雲時代質量的力量論壇與 16 屆軟件展覽會的一些收穫》
熟悉自由軟件的人也會知道,Richard Stallman 的各種宣言,在不少中國人看來都有些假大空。不過結合 GNU 計劃的實幹主義色彩我們就可以明白,他們覺得追求“XX思想”、“XX精神”是一種平常的事情,不假不大不空。

關於新的編程哲學我腦中還沒有成型。我隱隱覺得,它會參考人類的思維模式而獲得前所未有的“高預證僞性”,然後獲得成功……

---------- ---------- ---------- ----------

2 【管理】管理開發團隊的新想法

因爲參加中國軟件協會過程改進分會的論壇,所以我被這種理念浸入地很深。我認爲過程改進應該是每一個軟件人員對自己的要求,也就更是管理軟件開發最重要的任務。重視過程改進,意味着認同如下觀念:管理軟件生產,最重要的不是保證這次做好,而是保證下次比這次做得更好。
《駕馭你的“職場布朗運動”》中 提到,在 UTStarcom 研發部,因爲軟件規模很大,所以才意識到把設計等軟件過程獨立劃分出來具有什麼樣不可替代的意義。實際上我們無法指望團隊中的人都具備這樣的經歷和感悟強 度,能自行悟理;所以我們才需要通過管理去規範化團隊開發者的行爲。在小型產品的時候,就儘可能爲大產品的更高效作出生產製度上的準備。

我在這方面有個新想法,目前準備下週二(2012-11-13)開始在新研發團隊上進行小規模試驗。今天看到《駕馭你的“職場布朗運動”》提到作者接觸美國軟件人員隨便誰都知道怎麼去做架構師的情況,更堅定了我嘗試的信心。

參考日本的分層模式帶來的高效配合和美國軟件人員的全能模式帶來的軟件人員健康成長,我認爲應該在軟件生產過程中引入“平級”的員工關係,但在具體的事情上,明確分工職責。上述“分工”,採用分層分工,分離分析、設計、單元測試、編程過程。
也就是說,比如團隊有 5 個人,哪幾個人做架構師,這是大家討論決定的,哪幾個人做設計、做編程,也都是這麼決定,並不把人限制死,也不論資排輩只根據整個團隊對他們的信任程度。 同樣,每個人都有可能但不絕對,會用別人設計的方案來進行編程,爲別人要編寫的程序準備單元測試。

---------- ---------- ---------- ----------

3 【工作】貫穿的追求與動力源 + 觀點共鳴

《駕馭你的“職場布朗運動”》中提出了 25 條職場感悟。我贊同其中 24 條。這其中特別是關於細節的意義、看似無用的知識積累的意義、文檔的多重意義、好習慣的意義這些,尤其能獲得我的共鳴——真希望我的同事們、廣大中華大地 上沒有被認真進行過工程學培養的程序員們,都能夠在工作中體會到這些……

然後是關於階段性目標——第四感悟。我看到李雲在自己的成長之路中,不斷經由第四感悟“制定階段性項目目標,以做項目的形式提升學習效果”,來促使自己堅定不移,提高技術水平;也建議對成長迷茫的人採取這樣的成長法。
不知道是不是性格不同。我的各種進步,幾乎從沒有來自於這種階段性項目目標。我也一直在做這些通過一段努力而能實現的東西,工作嘛,都少不了做做項目。 不過這種項目過程本身只能給我積攢出作品,而整個過程全都是我把已經會了掌握了的東西用出來,對我的技術長進並不大。相反,信念讓我在做各種事情的時候都 遇到困境,並必須解決邁過。這是我個人的成長來源。

我的信念有很多,比如我就是所有的東西都要力爭做到 0 錯誤(無錯),我的所有出品必須是精品(求精),我就一定得提出比所有視野中的方案都優秀的方案(爭強),我就是要前瞻行業的發展方向,我就是一個不一樣 的人,我就是一個絕不應付絕不糊弄絲毫的人,等等很多。真的,在我的職業生涯中,甚至我生活的其它擅長的方面,這纔是我不斷努力提高自己的根本原因……

縱觀《駕馭你的“職場布朗運動”》作 者李雲的職場,其實根本就沒有進行標準意義上的布朗運動,因爲他一直在有所爲有所不爲地進行控制。也因此,他的職業生涯能夠實現早年他自己的期望。我個人 認爲,成功的職業生涯,應該更像是流水中的布朗運動。我們無法控制社會對我們無序的影響,但我們可以選擇比較符合我們前進方向的去接受。

---------- ---------- ---------- ----------

4 【工作】技術成長是一種慢突變,珍惜生涯貴人

《駕馭你的“職場布朗運動”》作 者李雲在做 Visual C++ 某變電站圖像監控程序的時候,長進好大啊。“在大立公司所參與的第一個軟件項目,是使用Visual C++從事Windows某變電站圖像監控桌面軟件的開發。”“通過該圖像監控桌面軟件的開發經歷,掌握了Windows VxD驅動開發、socket通訊、多線程編程、圖像處理(銳化、僞彩處理、圖像字符識別和圖像對比等)、ODBC數據庫編程(用的是SQL Server)等。”
後來李雲掌握了x86處理器、PowerPC 8250處理器架構、操作系統實現方法等,都是在接下來的四年多逐漸掌握的。我們可以看到,網絡、多線程、圖像、數據庫、驅動,都是他在一個項目週期內掌 握的技術。之後的技術積累都是長年積極工作學習收穫的,是慢功。只有最開始這一份 Visual C++ 的監控程序項目,是一種技術的突進型提高。我管這叫做“慢突變”。

我自己也經歷過 1.8 份這樣的慢突變。我早年做算法出身,後來爲了工作,參加了社會軟件培訓(達內科技Java工程師培訓)。別人爲了學習編程,而我本是爲了學習工程學理念。 就在這個培訓期間,我算是深刻體會了面向對象設計、學會了網絡編程、HTTP 編程、多線程理念和併發安全、高級數據結構、框架思想、關係型數據庫,通過接口體會了解耦合思想、等等。這些所有的長進,都是在短短半年多完成的。之後直 到幾年後我終於自主設計完整系統的時候,我還是在將這段時期學到的思想、技能使用出來。
另外 0.8 次,是我關於架構方面的成長。早年某次在北京找工作,應聘英國某發動機公司Java開發崗位,遇到了沙先生。我在此之前剛獨立做完一套雲基礎架構的模型作 爲上一家公司的服務器基礎架構,也像李雲剛到 UTStarcom 的時候,有些自滿。沙先生是 Oracle 公司出身,聽我自述之後,問了我幾個架構的問題。可笑我當時還分不清設計軟件結構和架構設計工作的區別,一直在答非所問地講述我對程序組織規劃的理解。於 是沙先生指責我根本不懂架構,不過因爲我是南京大學出身的,他是南京人,所以還是決定錄用我。
雖然我之後並沒有去那家發動機公司,但沙先生的冷水成功讓我從自滿中解脫出來,並對我在架構上的無知提了醒。之後的工作中我一直在盡力關注架構方面的內容,也基於所做產品沿承的習慣對架構有了些少量的瞭解,但這方面的成長一直很慢。
直到更後來,我第一次成爲服務器首席工程師,必須要負責起架構方面的工作。這時承蒙我的同事哈春寧同志加盟我的團隊,這真是雪中送炭啊!在他的引導下, 我在短短幾個月內熟悉了虛擬化基礎環境、熟悉了 GNU/Linux 服務器特性、熟悉了幾大主流開源數據庫的特長、熟悉了很多種集羣方案、熟悉了網絡權限認證和安全的各種原理。當這些都被我掌握的時候,我纔在某一天驚訝地 發現,我爲新互聯網產品進行的各種架構安排,已經全都具有充分的理由,已經全都能在腦中想到其它可選方案的優劣。我已經實際上成爲了一名架構師。
這就是我的 0.8 次技術成長慢突變。

我想,大家的職業生涯中,都會有很多人能成爲咱們的啓蒙、引導、助推的導師。他們就是咱們的生涯貴人;他們能夠讓我們產生技術成長的慢突變。可惜也許每個人生涯貴人本有很多,卻被咱們不小心的或忽視或錯過了大部分吧……

---------- ---------- ---------- ----------

好啦,本次博文要發的內容基本上完畢了。

我目前是掌趣科技股份有限公司智能終端事業部服務器組首席工程師李伸。我最近主要的工作是培養團隊、將公司項目產品化、主持製作自由軟件工具並用於公司產品中。
接下來我馬上準備用 Java 製作一個高可用的內存數據中心產品,對系統的即時性有很高要求。目前包括技術方案選擇、基礎軟件結構都還沒有敲定。如對此有興趣的同仁可以與我聯繫。本產品依舊準備做成自由軟件~


本文發表在我的技術日誌
CSDN : http://blog.csdn.net/shanelooli/article/details/8165132
ITeye : http://surmounting.iteye.com/blog/1721902
開源中國: http://my.oschina.net/shane1984/blog/88184

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章