做企業開發,是業務重要還是技術重要?似乎大多數的聲音都在朝向著同一個方面:“業務比技術重要”,“理解客戶業務需求更加重要”,“我們要幫助客戶梳理需求,項目做到一半的時候,我們已經比客戶都懂業務了”。
作為一個搞技術的,我完全搞不清楚這種說法的起源,為什么作為本職工作的“技術”反而不如“業務”重要了呢?這里所說的“重要”是否是說我們只需要抓抓牢最重要的部分就可以解決一切問題了呢?既然所有人都認為業務比技術重要,那為什么公司不直接招聘幾個“精通業務的人員”過來培訓幾天技術就行了呢?為什么反而要招聘原本不重要的“技術人員”,再去臨時培訓如此重要的“業務”呢?或者說,既然業務比技術重要那么多,為什么我們還要做技術呢?所有人都去搞業務豈不是可以把所有力量都集中在最重要的部分,進而獲得更大的效益呢?
聽到這種說法,人們又開始議論紛紛:“你這樣太極端了,怎么可能完全放棄技術呢?沒有技術怎么行呢?”這種說法再正常不過,因為我們的本職工作就是“軟件開發人員”,開發人員立足的根本就在于技術能力,所謂的業務問題如果不建立在技術基礎之上,就是完全無用的空對空瞎吹而已。對于一個開發人員來說,技術能力是必不可少的,再多“業務”也是無法彌補“技術”上的鴻溝的。
可為什么大多數人還是認為“業務比技術重要的”,首先公司的行為在于盈利,公司只有通過交易行為才能實現盈利,如果我們制作的產品無法滿足客戶的需求,客戶是絕對不會買賬的。怎么才能滿足客戶需求的,首先就要熟悉客戶的業務,因此公司就需要一些了解特定方面業務的開發者來實現這些功能,這些公司對技術沒有太多要求,只要達到基本水平就可以,所以篩選員工的標準就變成了對業務的熟練程度。
換句話說,大多數公司所需的員工是:“技術水平達到基本要求,對某一行業業務越熟練越好。”所有人對此都不會抱有懷疑,只是在信息不斷傳遞過程中,有意無意中人們隱去了前提部分,只剩下后面的“業務很重要”。
對于一個公司來說,需要的永遠不是:“技術最強者。”最有用的人是那些可以使用一定程度的技術,最好滿足本行業業務需求的人們。公司不可能為了個人技術方面的渴求去犧牲業務方面的鉆研,這已經是生存問題了。雙向選擇上,如果一個人技術不達標,是沒辦法通過面試的,如果一個人業務不達標,有可能先進入公司熟悉業務。如果一個人技術太強了,公司留不住也只能放任員工去選擇更適合的發展環境,如果業務太強了,結果應該也是一致的。
對于個人來說,如果是一個技術狂熱者,也不應該在公司中被技術左右,明辨技術和業務兩個方面,結合起來幫助公司創造更大效益的同時才能為自己提供一個有發展的環境。雙向選擇上,如果自身無法滿足公司的要求,是很難進入公司的,如果感覺公司限制了自身發展,也可以考慮是否擁有更多的選擇機會。
最后來研究一下技術和業務之間的融合問題,我們可以肯定一點,純粹的技術是沒辦法存活的,公司行為必然要涉及到解決哪些問題,純粹的業務也不是技術人員可以達到的,所以我們期望了解的就是業務和技術如何分配的問題,是五五嗎?是三七嗎?是六四嗎?現在只能說這個問題很難講清楚,根據不同行業需求的不同,畢竟大多數公司都停留在簡單的增刪查改階段,只要開發人員會用jsp的公司也比比皆是,相比專業的軟件公司,這些公司的入門門檻低,待遇也低,如果希望在這些公司走得更遠,唯一的方法就是在技術之外開辟出新疆界來。你可以搞業務,搞管理,搞客戶關系,等等等等。大多數人都是可以適應平滑轉型的,但是也有期望在技術上更進一步的同志會進入其他對技術要求更高的公司中。這類公司業務和技術比重大致在7:3到5:5之間,基本屬于平常不會遇到解決不了的問題,只要根據客戶的需求進行實現即可,不過一但遇到技術上無法實現的功能,便無法自行解決,只能求助于更高級的軟件公司。
在大部分公司都與最終用戶進行交互時,還是存在著不少公司進行著產品化行為,一方面基于以往項目積累的經驗抽象出可復用的組件,另一方面對市場的調研總結,設計出更易用,更成熟的體系結構,這些公司有實力,并且有需求在技術上更進一步。這時也會出現對技術和業務職責上的分化。因為產品化已經深入的某一個特定的行業,對業務的需求分析細化整理都已經十分完善,為了實現更精進的業務,也就需要更精進的技術來作為支持。這些公司需要專精某些技術的員工,可以基于整理后的需求完成業務,同時也需要更加專業的業務分析人員,在業務上進行細化分析,提供給后續論證實現。只不過對于這種業務分析人員,大多也是從原軟件開發人員轉移過來的,他們擁有十分豐富的項目經驗,同時擁有強力的設計能力可以為下面的實現人員提供規劃藍圖。歸根結底,無論是開發人員或是需求分析人員都是以技術為基礎的,沒辦法,畢竟我們的本職工作是開發。
最后的最后,到底是技術重要還是業務重要呢?我想作為一個技術人員的大家,應該心中有數了吧?