程序員印象

一般人總以爲程序員只是代碼的機器,整天寫代碼。其實這是對程序員一種片面的看法。程序員固然要精通代碼的編寫,但是程序員更要熟悉項目所在行業的業務。比如,搞門禁系統開發的人員必然要對門禁系統瞭解,搞自動控制的開發人員要熟悉制動控制原理,搞社保項目的,要對社會保障體系瞭解,搞統計系統開發的,必要然熟悉統計報表的流程。

很多行業軟件開發公司,比如專門針對銀行系統的軟件公司,他們招聘的程序員要求熟悉銀行業務,專門針對電力行業的軟件公司,程序員一定要了解電力系統的相關知識。而且新進的程序員,一定會經過銀行業務培訓和學習,不然,他是開發不出任何軟件的。如果可以,程序員應該儘量專注於某個行業,成爲能爲客戶提出更具價值的解決方案開發人員。

所以,真正優秀的程序員,不僅僅是代碼的機器,他們更是某個領域的專家。大學教我計算機的老師,同時是機械工程的教授,他在機械自動化開發領域取得了巨大的成就,這得益於他是機械工程專家。他當時告訴我們。程序員一定要精通某個行業,然後在那個行業裏把軟件做精,才能開發優秀的,深度應用的產品。不熟悉某行業業務,又沒有及時學習充電的程序員,是做不好那個項目的軟件開發。所以,我們對程序員的印象應該改變,程序員是代碼機器,也是他的軟件所屬行業的專家。

熟悉或者精通當前項目業務,對項目開發有什麼意義?第一,熟悉了項目業務,有利於對功能需求的深刻理解,甚至,開發者自己就能知道,什麼是有用的需求,什麼是沒用的,他甚至比用戶還知道得多(如果客戶方僅僅是一個辦事人員,而不是核心的業務人員,這種情況經常遇到。因爲,和軟件公司打交道經常是對方單位的信息中心人員,他們也是學計算機的,還沒有我們的開發人員熟悉業務)。第二,熟悉了項目業務,程序員直接就可以編程建模人員。因爲,程序員已經瞭解了業務,他已經是這個領域的專家,他知道什麼該做,什麼不該做。他也能理解用戶的需求。這樣,建立的模型就能充分反映系統的需求。

爲了應對軟件系統日益複雜和需求不斷變化帶來的挑戰,現代軟件對程序員提出了更高的要求,即要精通項目所在行業的業務。程序員經驗的積累,不再侷限於編程技術的提高,還在於行業業務的精通情況。

除此之外,程序員還該廣泛吸收其他學科的知識,比如哲學,風水學,古典文學,建築學等,他們其實很多道理是相通的。不識廬山真面目,只緣身在此山中,程序員有時候需要跳出來審視自己。

當然,這不是要求人人都具備這樣的素質(我們不能像要求自己一樣要求別人,人是有差異性的),這是對建模專家或者想成爲建模專家的要求。

參考書籍:
《java與模式》
《設計模式——面向對象的可重用設計》
《領域驅動設計(DDD)》

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