曾經問過不少程式員,你希望掌握的技術多一些還是業務知識多一些,結果可想而知,90%的程式員都強調了技術的重要性,只有部分人談到業務也相對重要。
主要的觀點包括以下幾個方面:
1、程式員就是做開發的,必須加強技術的積累
2、業務一般與程式員無關,應該是與系統分析、項目設計者相關
3、目前找工作,招聘要求上看重的也是技術,其次才是熟悉某某行業領域的優先考慮。
接下來,我們看看程式員在不瞭解業務的情況下一般怎麼做
1、項目中存在很強的業務領域專家,該專家能夠解決所有業務問題,這個時候,程式員只要聽專家的即可。但這種情況在企業中是少之又少的。
2、詳細設計已經很好了,完全可以按照詳細設計中規定的做,一般公司也不可能做到。
3、更多的情況是,業務不懂、溝通困難,做出的功能點、模組,不是客戶需要的,在此反反覆複,這也是項目延期的一個重要因素,關鍵的是程式員從此淪落為普通的程式員,無法體現其價值。
那麼,程式員什麼時候開始學習業務呢?我把程式員劃分為3個階段:
第一階段:剛開始工作,幾乎是一張白紙,學校學習的東西,只能作為基礎,距離軟體企業要求的開發素質差的很遠,這個時候,技術是第一位的,是吃飯的傢伙,但並不是什麼都學,那樣的話只會增加吹牛時的資本而已,但這個時候要有業務的意識,具體的就是以技術為主,以業務為輔。
第二階段:工作有一段時間,有一些開發經驗,在加強技術的同時,可以逐漸瞭解業務,要抱著這樣的心態:技術再牛,最終都要為商務服務,技術如果沒有了依附,就沒有了用武之地,其可能就是曇花一現。技術的價值體現在業務的展現上,程式員的價值體現在項目的價值上,而不僅僅是技術本身。如果一個項目成功了,公司收入頗豐的同時,也為客戶帶了了巨大的收益,這個時候,程式員可以自豪的說,某某項目是我做的。
第三階段:程式員應該有了自己的發展定位,一般是以下幾個方面:向技術經理、總監方面發展;向系統分析、架構方面;想專案經理等管理崗位發展。但無論哪個方面,業務都是非常重要的,只有把握了業務的本質,才能保證項目的真正成功。
下面談談學習業務的幾種方式
1、沒有人帶,完全靠自學,可以買書、上網等。
2、公司有相關業務專家,通過公司內部課程學習
3、請專業人士到公司講課
4、向客戶學習,這種是成本最小、見效最快的方式
其實,要學好業務,關鍵是自身思想上要有所認識,不要應付了事。另外,並不是什麼業務都學,一般來說,每個公司有其特定的領域,把這方面學好就足夠了。
首先,要自己掌握業務的基本術語和流程,我見到過有些程式員有著學習業務的熱情,但其對業務知之甚少,一有不懂的就去問客戶,使用者都被問煩了。如果你已經掌握了基本的業務知識,在此基礎上再去問使用者,和客戶交流,客戶就會覺得很踏實,因為你既懂技術、又懂業務,把項目給你做放心。
其次,要多做溝通。程式員的自閉性比較高,不善於溝通,這是通病,在學習業務上也是,悶頭苦讀,一知半解,把業務內容學習完了就結束了,沉澱下來的很少。要記住,客戶就是你最好的老師,要多和客戶溝通,學習,這樣才可能和客戶形成朋友關係,最終獲益的當然是自身了。