1. 程式人生 > >對軟體開發人員的幾個階段思考和總結

對軟體開發人員的幾個階段思考和總結


     6程式碼閱讀能力,中級開發人員有一定的程式碼閱讀能力,否則他無法和其他開發人員進行聯合開發和聯合除錯,但中級程式碼人員缺乏的是快速閱讀能力,和其他語言的閱讀能力(指那些未學習過的語言)。所以中級技術人員最怕開發平臺的變化。
     說了這麼多。關於中級技術人員說一點自己的的看法。中級技術人員是一個承上啟下的階層,一方面他們要完成自己的工作,另外一個方面他們要完成技術的傳播,帶人門級別的工作通常是他們的正式或者非正式的任務之一,但令人遺憾的是:由於他們的技術水平的現在,往往讓新技術人員走更多的彎路。如何提高自身的技術水平,是他們面臨的最主要的問題。另外要格外強調的一點就是方法論(做事情的方法)的掌握往往比做具體事情更為重要,不過這一點是很多技術人員忽視的一個問題,這個缺陷造成了我們的技術人員總是在一個層次上低水平迴圈,而不是螺旋式上升。由於沒有掌握做事情的方法,中級技術人員總是有一點怕接受新的,自己不熟悉的東西。由於自己技術基礎不牢靠,會遇到多次技術生涯的失敗,失敗的開發經歷以及不知道失敗的原因,無法找到解決問題的有效方法,造成了大量中級實際人員離開技術崗位(別跟我說編碼只能做到30歲,我見過很多50。60歲的軟體開發人員)。而正式由於這一個級別的技術人員少而且技術水平不能符合開發的要求(包括技術上和其他方面)。使得我們的軟體開發流程很不規範,而這種不規範往往又會造成專案的失敗,從某種程度來說,中級技術人員的技術水平的提高和保證一定數量的合格的中級技術人員是保證專案成功、企業發展的重要因素。
    下邊說一下對中級技術人員的提高技術水平的一些個人的看法

    1重視方法論
    中級人員和初級人員最大的區別就是中級開發人員應該掌握了一定的開發方法而不僅僅是某一個工具的使用,要做到知其然知其所以然。如果你沒有關注你的工作方法的改進,拿你只能是做一個低層次開發人員,不斷進行低水平迴圈,而這種低水平迴圈很容易讓你喪失對開發的興趣。比如無論是那種開發方法都存在對問題的抽象,如何抽象出問題的本質就很重要了,很多開發人員在討論的時候不會抽象,或者採用的抽象方法不對,成了空對空導彈。在比如如何降低問題的難度,在你寫各種技術文件以及程式碼開發的時候是否能夠將問題分層次,好的層次劃分不但可以降低問題的難度,而且可以增加系統的靈活性,在系統需求發生變化的時候可以降低解決問題的難度,這些問題都是屬於方法論的問題,在說一個最簡單的問題,如何編寫文件,如何不落下任何東西,如何保持文件結構的清晰,如何讓自己的文件不成為枯澀難懂的所謂的純技術文件,如何檢查文件這些都是有一些方法和竅門,你是否掌握了這些方法直接關係你的以後技術生涯的方法,的確是不能不重視的問題
    2注意交流,不要搞技術封鎖

    一招鮮吃遍天,這是中國的一句古話很有道理,精通一門技藝對我們這些開發人員的確很重要,但如果把這句話理解為對別人的技術封鎖就不對了。由於有二,第一現在的技術發展很快,在IT行業基本不存在會一種技術可以吃一輩子的情況,而網路發展使你的封鎖基本成為一個不可能。說一個我自己的技術人員的故事吧,2005年的時候,我招聘了一個測試人員,年底的時候我讓他學習QTP自動化測試技術。這個同志學習很認真,很快掌握了這個工具的使用,後來我讓他總結一下經驗寫一個總結,將自己在學習的時候遇到的問題做一個總結。奇怪的是他很長時間沒有寫出來(他平時的工作效率不是這樣的),後來在一次聊天的時候他才告訴我真實的原因,原來是他母親告訴他,如果這些東西都寫出來並且發表的網路上,怕對以後的有影響。知道這個事情後我很明確的告訴他,首先QTP這個東西是一個一時性的工具,而不是一世的工具。我工作15年來,開發平臺經歷了DOS-WIN30-WINNT-WIN2003,原來在的開發工具和程式碼現在已經不能使用了,所以根本沒有必要去保密。另外如果願意將自己的知識和其他人共享,你可以擴充套件自己的朋友圈,為自己的技術生涯創造更好的環境。後來他還是完成了QTP使用的總結,當時一共回答了80多個在使用QTP的時候會遇到的問題。這個電子文件他發表在了www.51testing.com上的測試論壇。結果也不錯,首先引起了斑竹的注意,把他從初級戰友提升為高階戰友(我到現在還是初級戰友,哈哈)。其次有很多朋友問他問題,後來北京的一個朋友約他週六、週六去講課,500元/日。哈哈,效果好的讓人驚訝。所以作為中級技術人員,要各位注意和他人交流,不斷總結自己的經驗和別人共享,單純的技術封鎖無論對個人的發展還有是對專案團隊有沒有任何好處。  
    3他山之石可以攻玉

     要成為高階開發人員,有兩個方面的知識是必須具備的,一個是專業知識,包括對開發平臺/工具的瞭解,對開發流程的理解和使用(軟體工程)。另外一個方面就是對客戶的商業流程的理解。如果只瞭解單純的開發知識很難成為好的高階技術人員。我們現在的應用系統都要和具體的應用相結合才可能成為一個真正實用的使用的系統。比如做辦公自動化系統你不瞭解國家機關的公文流轉的規矩,做ERP系統不瞭解財務系統、物流管理,做手機開發不瞭解通訊系統、使用者使用習慣都不能保證你的系統是符合使用者的真實的需求的,所以作為中級開發人員如果要向上發展成為高階技術人員除了對開發專業知識的瞭解,會需要對開發設計的行業知識,行業規範多瞭解,而這種瞭解一方面要通過各種行業檔案來了解,另外一個重要的方面通過和客戶交流去了解。
    4注意情商的培養
   作為中級開發人員,其交往的人群比初級開發人員的範圍要廣得很多,從大範圍來劃分,有客戶、公司管理人員、技術人員等,而每一種型別人員都可以細分比如技術人員就有,高階技術人員,同級別技術人員(中級技術人員)。低階技術人員,由於不同角色的差異,交往的內容和方式都有很大的不同。即使同一型別的人群,由於每個人脾氣秉性的不同,交往的方式差異也很大,作為中級技術人員能否和其他合作者,處理好彼此關係,善用其他的力量,是起進一步發展的關鍵,而你的情商在這個時候往往比你的智商要重要的多。
  總之,中級開發人員情況往往會決定一個單位和部門的發展,他們是公司發展最中堅的力量,是否會引導他們不斷進步是一個公司和部門領導要格外注意的問題。在我自己的開發經歷中,中層人員的流失不但是某一個公司或部門的問題,而是整個IT行業的問題,很多開發人員在沒有經過訓練就不得不承擔中級開發人員要承擔的工作,由於綜合能力的問題,等待他們的往往是一個又一個的失敗,而在看到很多做銷售的同齡人,無論在收入和地位和自己的差別後,紛紛轉行,這又進一步造成了中級技術人員的流失。中級技術人員整體素質和人員的流失才是中國IT人員真正的痛