作者:江南白衣 

   除開五大或者ThoughtWorks這種要什么有什么,進去做打字也能光耀門楣的不談。如果是嫁到一個普通軟件公司,怎樣的環(huán)境才能最快的成長呢?
   首先基本的公司項目管理水平是必要的;其次是穩(wěn)健而不保守的公司技術選型和一班能溝通的同事。

    更重要的,是要有一個嚴苛的環(huán)境,那些古訓說的都沒錯,越是嚴苛,成長越快。 然后有些引導與助力,讓你在嚴寒中節(jié)省體力,過得好些的,就是最佳的成長環(huán)境了。

    一,最復雜多變的業(yè)務規(guī)則,最難侍候的客戶
         大多數(shù)人碰上這兩樣東西都是愁眉苦臉,天天抱怨。其實應該把它視為入門鍛煉的:
        第一階是努力用細密的編碼迎合復雜的業(yè)務,以金牌服務的態(tài)度接受客戶的善變和每樣需求都要24小時有取的bt。充分打磨過的眼耳口心,才是個合格的IT人。如果業(yè)務規(guī)則都清的像水,項目時時都是以我為主的,反是在做toy application,不算入了IT的門。
       打磨之后,如果肯靜下心來總結,設計架構如何適應改變,流程如何做到快速更新部署,就是第二階段的進步了。
       一直做ERP,自問有足夠復雜的業(yè)務(因為不熟悉業(yè)務,有些不復雜的也變復雜了)和麻煩的客戶(自己不是大公司,麻煩的客戶就會很多),但在第二階段還是不很靜得下心。

    二,最嚴格的性能要求,準確性要求,錯誤恢復要求
        最好是那種每天N萬人訪問,幾億條數(shù)據(jù)。還有準確性很嚴格,分分鐘幾十萬上下,如果崩機又要迅速完全恢復狀態(tài)的項目。
         每天幾萬人訪問的項目沒做過,遺憾。
         幾千萬條數(shù)據(jù)的項目倒是每天面對,優(yōu)化學了一點,但沒有充分利用嚴格的環(huán)境去追求改進,遺憾。
         ERP的報表倒是經(jīng)常會搞到幾十萬上下的差額,但一直重視不足。
         崩機恢復是最近的項目要求,更爽是這個項目澳國政府居然有一份規(guī)范,我說的助力就是指這些了,不用自己慢慢摸索而且經(jīng)常摸錯地方。

    三,最底層的編碼
         不要老是高高在上的搞ERP搞.com,偶然嘗試一下用到起碼C一級的語言,和硬件打打交道,直接寫IO口阿,中斷阿,都是有就不要放過的鍛煉。
         沒做過底層編碼,只會純軟件的IT人的感覺是不完整的。
         剛好公司最近的項目有要求,捧一本〈Linux Device Driver〉看看。

    四,最高層的設計
        設計、框架--技術人一聽就眼紅的字眼。但不是每個公司都搞很產品化的項目,或者在項目里自寫類庫重做輪子。所以,除了剛入行的那段瘋狂日子,很高階的設計其實我也沒做多少,多數(shù)時間都是應用層的開發(fā)。

       雖然自己不寫,但卻經(jīng)常都要進行框架選型,也算是蒸發(fā)智力的一個地方。Pragmatic Programmer里說的critical的態(tài)度很重要,Spring好么?一定要想清楚它好在哪里,不要糊里糊涂的看著quick start就入局了,渾忘了without Spring的世界是怎樣的。

       另外,因為有時候開源軟件有bug,或者要增強它來吻合項目需求,或者有錯了不明就里時直接讀源碼會更快找到錯誤。這樣就接觸到不少優(yōu)秀開源項目的源碼,比如Spring,無形中也會學到他的設計。
        
       如果說Java盛產框架型的項目,php的項目則多是熟透了的Web應用。最近發(fā)現(xiàn)php不是以前的php了,應該算入python,ruby一類的動態(tài)OO語言,它的那些著名項目一樣有著很好的MVC框架。細看之下學到應用設計方面的不少東西。
       
             
     一陣發(fā)呆打了這篇字,其實也是提醒自己,目前的環(huán)境可以,應該以更好的心態(tài)接受更嚴苛的歷練,那些古訓說的都沒錯。