中國(guó)網(wǎng)財(cái)經(jīng)8月16日訊(記者 李春暉)為什么很多程序員自嘲為“碼農(nóng)”?為什么軟件開發(fā)這一腦力勞動(dòng)工種,卻把“年輕體力好”作為用人條件之一?如果你知道這個(gè)行業(yè)曾經(jīng)以“寫了多少行代碼”、“做了多少個(gè)功能”等“計(jì)件式”標(biāo)準(zhǔn)來考核員工的話,大概就能理解一二。
傳統(tǒng)的軟件開發(fā)模式無法最大程度激發(fā)程序員的創(chuàng)造力、創(chuàng)新性,也無法培養(yǎng)其為客戶解決問題、創(chuàng)造價(jià)值的能力,反而使一代又一代程序員隨著年齡漸長(zhǎng),陷入“35歲危機(jī)”,不得不離開這個(gè)行業(yè),另尋出路。
那么這樣一個(gè)行業(yè)現(xiàn)狀能不能改?怎么改?一家成立于2001年的軟件開發(fā)公司,通過其20年的發(fā)展摸索,試圖找出這一問題的答案。日前,盛安德科技發(fā)展有限公司CEO張紀(jì)偉接受了中國(guó)網(wǎng)財(cái)經(jīng)采訪,詳細(xì)闡述了其“提升和體現(xiàn)程序員價(jià)值,推動(dòng)中國(guó)軟件業(yè)變革”的愿景和思路。
盛安德CEO張紀(jì)偉(采訪對(duì)象供圖)
傳統(tǒng)軟件開發(fā)模式下,程序員遭遇“35歲瓶頸”
在傳統(tǒng)的軟件開發(fā)模式下,程序員就像一個(gè)復(fù)雜系統(tǒng)中的齒輪,雖然承擔(dān)著大量的工作,但并不是整個(gè)系統(tǒng)中最有價(jià)值的部分。
傳統(tǒng)軟件開發(fā)模式借鑒了工業(yè)生產(chǎn),特別是流水線生產(chǎn)的管理方法,強(qiáng)調(diào)流程的可控性,將軟件開發(fā)拆解成需求分析、設(shè)計(jì)、代碼、測(cè)試、維護(hù)等獨(dú)立的環(huán)節(jié)來進(jìn)行?!坝谑浅绦騿T‘前面’有架構(gòu)師、需求分析師、項(xiàng)目經(jīng)理等等,他們敲定了整個(gè)軟件的框架和功能,最后剩下大量的代碼工作,留給程序員去填。然而‘前面’的環(huán)節(jié)才是最有價(jià)值的?!睆埣o(jì)偉表示。
由于代碼的工作量非常大,需要占用諸多人力,一些歐美軟件公司在做好了前期的需求、設(shè)計(jì)、架構(gòu)之后,將代碼“外包”給更具人力成本優(yōu)勢(shì)的其他國(guó)家的軟件公司來做。由此,印度的軟件外包行業(yè)得以迅速發(fā)展,并在相當(dāng)程度上影響了剛剛起步的中國(guó)軟件行業(yè)。
“在上世紀(jì)90年代末到本世紀(jì)初的幾年里,中國(guó)的軟件行業(yè)其實(shí)就是模仿,或者說照搬了印度軟件外包模式?!睆埣o(jì)偉回憶,“我們那時(shí)候甚至以為‘軟件就應(yīng)該是這么開發(fā)的’?!?/p>
起初,張紀(jì)偉就是因?yàn)橛X得印度的軟件外包模式頗具“錢”景,并且在同樣具有人力成本優(yōu)勢(shì)的中國(guó)可復(fù)制,才從供職的雜志社辭職,于2001年8月創(chuàng)立了盛安德。
“但是我們經(jīng)過好多嘗試,最終發(fā)現(xiàn)這條路(傳統(tǒng)軟件開發(fā)模式)走不通?!睆埣o(jì)偉稱。
誠(chéng)然,傳統(tǒng)軟件開發(fā)模式有其優(yōu)越性,它極大地增加了項(xiàng)目的可控性,使成本變得可預(yù)測(cè)。但是它的不足也很明顯:這種比照流水線生產(chǎn)的開發(fā)管理,忽略了軟件開發(fā)是一件需要程序員想象力和創(chuàng)造力的工作。
“有的公司用‘一天做了多少行代碼’、‘做了多少個(gè)功能’作為程序員的績(jī)效考核標(biāo)準(zhǔn),但無論是功能還是代碼量,程序員很容易就可以做到。在搜索引擎上搜一搜,能找到很多方法實(shí)現(xiàn)這個(gè)功能。但這個(gè)功能在軟件當(dāng)中是不是最好用的,就不一定了。”張紀(jì)偉稱,“也就是說東西雖然做出來了,但對(duì)用戶來說,結(jié)果并不是很好。而程序員本身,也沒有產(chǎn)生他應(yīng)該產(chǎn)生的價(jià)值?!?/p>
但這并不是程序員單方面的問題,而是在這種傳統(tǒng)軟件開發(fā)模式下,程序員幾乎沒有機(jī)會(huì)與用戶直接溝通,只是按照需求分析“照章辦事”。而且,在前期需求分析完成后,如果要修改,通常需要比較復(fù)雜的流程,因此進(jìn)入開發(fā)階段后,程序員也很少再有機(jī)會(huì)聽取用戶的需求意見。
流水線式的分工,使很多程序員終其職業(yè)生涯只做“寫代碼”一件事,也“只會(huì)寫代碼”。這就導(dǎo)致很多程序員在年齡漸長(zhǎng)后,遭遇“中年危機(jī)”。
“如果你的開發(fā)工作就只有寫代碼,那35歲以后可能真的會(huì)‘往下走’。到時(shí)候,體力不如年輕人好,學(xué)東西又不如年輕人快。年輕人學(xué)一個(gè)新技術(shù),可能兩三天,看點(diǎn)資料就會(huì)了。但是大齡程序員可能就做不到。”張紀(jì)偉稱,“那種認(rèn)為‘我的技術(shù)強(qiáng)’、‘我憑技術(shù)混飯吃’的程序員,到35歲以后尤其會(huì)有這樣的問題?!?/p>
上世紀(jì)50年代,“現(xiàn)代管理學(xué)之父”彼得·德魯克在其著作中首次提出“知識(shí)工作者”概念。與傳統(tǒng)工廠模式下的工人不同,知識(shí)工作者從事的不是重復(fù)性的工作,而是需要在動(dòng)態(tài)的、變革的環(huán)境中充分發(fā)揮自己的靈感和創(chuàng)造性。知識(shí)工作者是無法被“計(jì)件式”考核所督導(dǎo)的,他們的工作動(dòng)力來自于高度的自主性。
進(jìn)入到21世紀(jì)以來,以知識(shí)經(jīng)濟(jì)為主體的新經(jīng)濟(jì)快速發(fā)展壯大,世界正如德魯克所預(yù)言的:知識(shí)工作者日漸成為社會(huì)勞動(dòng)的主體?;ヂ?lián)網(wǎng)、云計(jì)算、大數(shù)據(jù)、人工智能……一系列新技術(shù)和新應(yīng)用接連涌現(xiàn)并快速迭代。軟件作為它們背后的“基礎(chǔ)”,其創(chuàng)造性和革新力也被提出了更高的要求,無論是在開發(fā)模式上還是在人才培養(yǎng)上。
軟件開發(fā)作為典型的知識(shí)工種,一些業(yè)內(nèi)人士開始主動(dòng)轉(zhuǎn)型,探尋一種能讓程序員實(shí)現(xiàn)自身價(jià)值提升、能更好地激發(fā)其主動(dòng)性和創(chuàng)造力的新型開發(fā)和管理模式。
敏捷開發(fā)模式下,程序員“越老越值錢”
2001年,17位軟件工程師在美國(guó)共同發(fā)表了“敏捷宣言”,敏捷開發(fā)模式正式誕生,并被認(rèn)為“改變了軟件世界”。
“敏捷宣言”中提出了敏捷開發(fā)的基本原則,即個(gè)體和交互勝過過程和工具、能工作的軟件勝過詳盡的文檔、客戶合作勝過合同談判、響應(yīng)變化勝過遵循計(jì)劃。
這四項(xiàng)原則突出了敏捷開發(fā)以“人”為核心的理念,認(rèn)為人比流程重要。持續(xù)集成、快速迭代、重構(gòu)等等,是敏捷開發(fā)區(qū)別于傳統(tǒng)開發(fā)模式的突出特點(diǎn)。這使得敏捷開發(fā)能更快速、更有效地交付有價(jià)值的軟件,同時(shí)實(shí)現(xiàn)人的價(jià)值提升。
敏捷模式誕生以來,在歐美國(guó)家軟件行業(yè)得到了廣泛認(rèn)可和驗(yàn)證。但在遙遠(yuǎn)的中國(guó),這一模式既新奇、又小眾。
張紀(jì)偉和盛安德接觸到敏捷模式,是因?yàn)橐淮螜C(jī)緣巧合。彼時(shí)的盛安德經(jīng)歷了創(chuàng)業(yè)之初找不到客戶、借錢發(fā)工資的艱難時(shí)期,也經(jīng)歷了05、06年軟件外包行業(yè)蓬勃發(fā)展的朝陽時(shí)期。但張紀(jì)偉仍然在探尋一條能讓公司和員工一起穩(wěn)健成長(zhǎng)、長(zhǎng)遠(yuǎn)發(fā)展的“對(duì)”的路徑。
“大概是在2006年,一位英國(guó)客戶千里迢迢跑到中國(guó),要和我們簽一個(gè)敏捷合同,之前我們從未聽說過敏捷。我們提供六、七個(gè)人,客戶方也有兩、三個(gè)人,還派一個(gè)人長(zhǎng)期在我們辦公室和我們一起工作。但項(xiàng)目還是很快就遇到大麻煩,怎么救也沒救過來。盡管項(xiàng)目不成功,卻讓我們認(rèn)識(shí)了敏捷?!睆埣o(jì)偉回憶,“很快我們就發(fā)現(xiàn)敏捷是ODC業(yè)務(wù)(離岸軟件開發(fā))的唯一出路。沒有敏捷,離岸外包都是沒有希望的?!?/p>
于是從2006年起,張紀(jì)偉開始在整個(gè)公司倡導(dǎo)并實(shí)踐敏捷理念。緊接著2008年的經(jīng)濟(jì)危機(jī),使張紀(jì)偉進(jìn)一步驗(yàn)證并堅(jiān)定了自己的選擇。
“2008年金融危機(jī)對(duì)我們的影響很大,手里的固定價(jià)格項(xiàng)目(傳統(tǒng)模型下的開發(fā)項(xiàng)目)一個(gè)個(gè)結(jié)束,程序員從項(xiàng)目里出來,找不到下一個(gè)項(xiàng)目。市場(chǎng)上沒有銷售線索進(jìn)來了,連詢盤的都沒有。我們不得已,裁減了近1/3人員?!睆埣o(jì)偉稱,“但當(dāng)時(shí)我們也發(fā)現(xiàn),剩下2/3人員所在的按時(shí)間付費(fèi)項(xiàng)目(敏捷模式下的開發(fā)項(xiàng)目),幾乎都沒受到影響。敏捷項(xiàng)目是和客戶‘共建’的,只要客戶不垮,我們的業(yè)務(wù)不會(huì)出現(xiàn)大問題。”
敏捷項(xiàng)目與客戶的高度黏性、長(zhǎng)期性、相對(duì)穩(wěn)定性,使張紀(jì)偉堅(jiān)定了把敏捷模式作為主要發(fā)展方向的決心?!?009年以后,我們明確將按時(shí)間付費(fèi)項(xiàng)目作為公司主營(yíng)業(yè)務(wù)?!?/p>
張紀(jì)偉認(rèn)為,與傳統(tǒng)開發(fā)模式不同,敏捷更依賴于程序員個(gè)人的能力,同時(shí)也更能體現(xiàn)和提升程序員的個(gè)人價(jià)值。
“傳統(tǒng)軟件開發(fā)將解決用戶問題的工作都交給設(shè)計(jì)師、需求分析師、項(xiàng)目經(jīng)理了,程序員根本不碰客戶,程序員只是做代碼,這個(gè)是有問題的。而敏捷模式,簡(jiǎn)單來說就是要求程序員去碰客戶。你要去了解業(yè)務(wù)、了解需求、了解客戶想要解決的問題是什么,然后你要去解決用戶的問題,而不是只寫代碼?!睆埣o(jì)偉稱,“傳統(tǒng)模式下程序員開始自己的工作時(shí),第一個(gè)問題肯定是‘需求是什么’,敏捷程序員應(yīng)該問的是‘問題是什么’?!?/p>
也就是說,與傳統(tǒng)模式下的程序員相比,敏捷程序員會(huì)身兼數(shù)職,不僅僅是需求分析、設(shè)計(jì)等等,有時(shí)甚至需要熟知客戶所在行業(yè)的業(yè)務(wù)特性和行業(yè)特征,以便提供更有針對(duì)性的服務(wù)和解決方案。
這對(duì)程序員自身來說,既是考驗(yàn),也是成長(zhǎng)機(jī)遇。“不同的客戶會(huì)有不同的需要解決的問題。我們認(rèn)為程序員需要去理解這些,并且提高自身解決問題的能力。隨著年齡增長(zhǎng)、閱歷增加,經(jīng)驗(yàn)增加不斷地累積,他解決問題的能力會(huì)不斷提升。”張紀(jì)偉表示,“因此在敏捷模式下,程序員是‘越老越值錢’?!?/p>
盛安德科技發(fā)展有限公司(采訪對(duì)象供圖)
如何留住敏捷型人才?盛安德提出“程序員第一”
軟件開發(fā)公司想要實(shí)踐敏捷模式,不是易事。這需要在管理制度、企業(yè)文化層面大刀闊斧的改革,直到締造一個(gè)適合敏捷模式的氛圍和環(huán)境。
正如知識(shí)工作者的貢獻(xiàn)無法在督導(dǎo)中產(chǎn)生,敏捷程序員也不需要“管理者”。
“敏捷項(xiàng)目里,程序員直接與客戶對(duì)接,公司不會(huì)安排人去‘管理’程序員??蛻粢膊粫?huì)去‘管理’程序員,但是他會(huì)在一段時(shí)間后進(jìn)行評(píng)估。如果客戶不滿意,那么程序員就會(huì)丟掉項(xiàng)目,也會(huì)丟掉收入?!睆埣o(jì)偉稱。
也就是說,敏捷程序員的收入直接與客戶滿意度掛鉤?!俺绦騿T為客戶解決問題的能力體現(xiàn)了他的價(jià)值,他的價(jià)值又通過小時(shí)單價(jià)被反映出來,小時(shí)單價(jià)越高,工資就越高?!睆埣o(jì)偉介紹,“這樣的話程序員就會(huì)很清楚:我的工作、收入不取決于我的上級(jí),不取決于任何人,只跟我創(chuàng)造的價(jià)值有觀。只要我能解決用戶的問題,我的收入就有保障?!?/p>
這種情況下,程序員個(gè)人與客戶之間基于長(zhǎng)久合作的信任,存在“強(qiáng)”聯(lián)系,而公司方面與客戶只有“弱”聯(lián)系。那么,如何留住程序員人才,對(duì)軟件公司的發(fā)展至關(guān)重要。
“我們很早就知道程序員的重要性,為了留住人才想了種種辦法,包括嘗試不同的薪酬激勵(lì)和組織形式?!睆埣o(jì)偉表示。
盛安德總部建立了一種“60%個(gè)人賬戶”制度,即每一單客戶付費(fèi)的60%,會(huì)直接支付給程序員個(gè)人。這就對(duì)員工形成巨大的正向激勵(lì)。
此外,目前盛安德已經(jīng)頗具規(guī)模的“分公司”模式,在最初實(shí)行時(shí),也只是為了留住一名骨干成員。
“2005年時(shí),盛安德大概只有五、六十人規(guī)模。我們當(dāng)時(shí)一個(gè)項(xiàng)目組的負(fù)責(zé)人,想回重慶工作,以便照顧父母,就提出離職。我們覺得很可惜,琢磨在重慶工作,也許并不會(huì)影響項(xiàng)目,在重慶建一個(gè)分公司怎么樣?這個(gè)想法在公司里反復(fù)溝通了幾輪,都覺得風(fēng)險(xiǎn)太大,當(dāng)時(shí)的公司規(guī)模支撐建立一個(gè)外地分公司難度還比較大。但是最后還是下決心建。沒想到一年之后,重慶公司從一個(gè)人發(fā)展到八、九個(gè)人,以后每年以十幾個(gè)人的速度增長(zhǎng),成為盛安德第一個(gè)、也是最大的分公司。”張紀(jì)偉稱。
包括盛安德最初在海外建立分支機(jī)構(gòu),也是因?yàn)橛幸粋€(gè)骨干成員全家移民,為了留住這名員工,索性讓他建立了盛安德第一個(gè)海外辦事處。
而每個(gè)分公司經(jīng)理擁有分公司20%的股份,這使得這些留下來的核心成員從“雇員”變身為“合伙人”,從“給別人打工”變?yōu)椤白鲎约旱纳狻?。這極大地調(diào)動(dòng)了他們的積極性。
目前盛安德已經(jīng)在上海,天津,蘇州,石家莊,西安,青島,武漢,成都,重慶,大連,沈陽,鄭州,威海,無錫等多個(gè)城市擁有分公司,在澳大利亞、英國(guó)、美國(guó)、加拿大等多個(gè)國(guó)家擁有海外分支機(jī)構(gòu)。
今年是盛安德成立20周年。回顧過去20年的發(fā)展,很多“大動(dòng)作”都不是張紀(jì)偉自上而下去規(guī)劃、去布置,而是在“以人為核心”的理念下被推著,自然而然往前走。
“我們從來不會(huì)制定年度目標(biāo)或者五年目標(biāo),而是更相信如果我們把事情做‘對(duì)’的話,好的結(jié)果自然會(huì)呈現(xiàn)?!睆埣o(jì)偉表示。
“對(duì)”的事情,就是盛安德一直以來的目標(biāo)和愿景:成為最適合程序員工作和發(fā)展的公司。
“成立20年以來,我們一直致力于企業(yè)管理理念的創(chuàng)新,以提供自由寬松、開放合作的環(huán)境讓程序員有機(jī)會(huì)去成長(zhǎng)和改變。”他表示,“我們的價(jià)值觀,就是以程序員的發(fā)展作為企業(yè)發(fā)展的基石,就是‘程序員第一’?!?/p>
今年是盛安德成立20周年,也是“敏捷宣言”發(fā)表20周年。展望未來,張紀(jì)偉表示,盛安德“為程序員創(chuàng)造更大的價(jià)值”的核心理念,是不會(huì)變的。