連載《一個程序員的成長曆程》-12.費盡心力的平臺化構想

       作爲一名程序猿,在不懂這個行業的人眼裏是光鮮的,高收入、高技術。往往我們把自己看成了異類,沉默、少語、只有在回帖的時候纔像個正常人,不會人與人面對面溝通。其實,程序猿和其他行業沒有什麼區別,只是一個工種而已,喜歡就幹,不喜歡就另謀生路。如果僅僅是爲了生活,那一切的一切都無所謂了。
       嚴格意義上講,我只能算作半個程序猿。首先,公司不是IT公司,只是傳統行業有軟件部分的工作。其次,開發的人員也無所謂全體,算上我只有三個人,在我來之前也僅僅維護兩個上位機軟件,一個是VC++開發的,一個是VB開發,分別負責不同的硬件設備,還經常出問題。我是從C#開始做起的,原來一直沒有學過,有自學C++考過二級的經驗,自學C#顯然容易的多。在這樣的環境裏,有的人認爲很難有發展的前途,可是每個人看問題的角度不一樣,我認爲通過自己的努力很快就能追上他們,甚至超過他們,並且在公司確立自己的核心地位。
       幹過一年多的實施工作,一年出差200多天,接觸現場比較多。轉到技術部門,一開始負責開發、維護一個新產品的上位機軟件。有了這些工作基礎,我也在漸漸的思考着問題:爲什麼不能把不同的硬件產品集成到同一個軟件平臺下呢?的確是一個很現實的問題,如果實現了,那麼可以爲公司做出很大貢獻,好處是不言而喻的。
       恰逢此時,其中一位女同志休產假了,有時候辦公室只有我自己一個人。我是主觀能動性很強的人,開始了自己的平臺化軟件設計工作。基本的設計思想是:通訊協議無關性,數據處理流程可以自定義,隨便掛載設備模塊就可以運行。在很快的時間裏就開發出來一個基本版本,隨後的工作中又把其他設備模塊開發出來了,軟件的整體性比原來的軟件提高了一大節。經過一段時間的測試,向部門經理申請應用到現場環境中。終端用戶應用這個平臺軟件的不多,到是在**集團公司數據聯網項目中發揮了很關鍵的作用,因爲要兼容其他廠家的設備,負責提取、處理數據,然後上傳數據。在享受成就感的同時,也發現了很多問題,並且有些問題是至命的,例如:多設備情況下穩定性較差、設備調度以及數據處理一系列的問題。後來自我安慰一下,把這個產品定位類似於Vista操作系統,僅僅是一個過度版本,將來會有更好的版本,呵呵!!!
       自我反省軟件平臺的失敗,是因爲自己的實力、功力還不夠深厚,軟件架構太爛。也認真做了自我檢討,不能太輕浮,靜下心來認真學習了幾本書,包括:設計模式、組件設計、N條建議等等。
       關於我的工作安排,公司的總經理與我們部門經理髮生了分歧。總經理要讓我到一個代理產品的事業部,一是研究這個產品,二是開發這個產品的軟件。和相關領導都碰了面,我表示考慮考慮。部門領導突然有一天對我說:你負責軟件平臺的開發吧,讓**配合你工作。本意是想讓我留在他的這個部門。經過深思熟慮,我決定留下來,繼續開發軟件平臺,理由是:1、開發上一個軟件平臺只是自己的想法,僅向部門領導表達過我的思想,但是領導並沒有下達命令。這次有一個正式的口頭命令,多少有點不甘心,想把平臺軟件做好,代理的產品也是可以用的。2、新產品事業部歸屬我原業所在的實施(服務)部門,在這個部門也幹過一年多的時間,很瞭解環境,感覺和他們合作比較難。3、部門經理是一位實權派的人物,就算去了新產品事業部,沒有他的資源支持,開展工作也是很困難的。所以冒着得罪總經理的風險,拒絕了新的工作安排,後來得知總經理表示很遺憾。
        學習了知識就要付出實踐,重新開始了新軟件平臺的設計工作。大概經過半年多的時間,先後經過5個版本的過度,最終的架構才正式確定下來,在這期間搭建了一個實驗環境,所以的硬件設備有,前期開發出來一個硬件設備的軟件模塊,正式安裝到現場實驗了。後續的三年的時間裏一直在完善、優化平臺結構和開發其他硬件設備模塊,也就是說前後經過三年左右的時間才構建完成,公司最終獎勵了我2萬獎金。這也是我最得意的作品,算上測試代碼,大概有10萬行代碼之多,其中特性包括:設備調度器、網絡和串口設備通訊機制調度器、命令緩衝器、協議(無關性)驅動器、設備掛載運行可配製、網絡和串口通訊隨意轉換、數據輸出多功能接口、自定義多視窗數據UI顯示、定時發送短信接口、OPC輸出數據接口、4-20mA輸出接口、LED輸出數據接口、B/S和C/S模式訪問數據、雲服務標準通訊接口(可上傳到公司服務器)等等。
        這個平臺軟件現在也一直在用着,儘管現在離職了,但是還一直在維護着,畢竟像自己的孩子一樣,想讓它變的越來越好,期間還賣給過一個網友。
        如果可以把程序猿算作異類的話,那麼他也是異類中最有創造力的,有無限的可能。如果只是在人家現有框架上苟且的工作着,重複的IDUS和表單,那麼我認爲是失去了職業本身的價值了。如果只是爲了生存,那麼我會祈禱佛祖原諒你。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章