|
東北大學(xué)嵌入式系統(tǒng)_MiniGUI看嵌入式十年收獲與失去,
日前,飛漫軟件創(chuàng)始人魏永明,在飛漫成立十周年之際,回顧了公司發(fā)展這十年,同時(shí)也回顧了嵌入式發(fā)展的這十年。魏永明以自身涉及嵌入式產(chǎn)業(yè)的方方面面,創(chuàng)新、人員管理、工程管理、教育培訓(xùn)、經(jīng)營(yíng)策略等多方面,并且點(diǎn)名批評(píng)了華為的做事風(fēng)格。
他表示:接下來(lái)的十年,不會(huì)再有嵌入式軟件這個(gè)行當(dāng)了。嵌入式軟件將整個(gè)被平臺(tái)化的系統(tǒng)(iOS、Android、Windows)占據(jù)。
以下是這篇犀利文詳情:
北京飛漫軟件技術(shù)有限公司(飛漫軟件)成立于2002年,今年是第十個(gè)年頭了。飛漫軟件的十年,濃縮了嵌入式軟件技術(shù)在中國(guó)的發(fā)展歷程。本文將回顧飛漫軟件的十年歷程;匚哆^(guò)去,或許能給我們的未來(lái)發(fā)展一些啟迪。
一、十年回顧
筆者創(chuàng)辦飛漫軟件的 2002 年,正是嵌入式軟件技術(shù)在全球開(kāi)始得到關(guān)注的一年。在此之前,2000 年開(kāi)始,才有嵌入式(embedded)這個(gè)領(lǐng)域被專(zhuān)業(yè)人士提及。筆者供職過(guò)的深圳(藍(lán)點(diǎn))有限公司,是國(guó)內(nèi)最早專(zhuān)注于嵌入式軟件技術(shù)的公司。然而,藍(lán)點(diǎn)因?yàn)?2000 年的 .com 泡沫而關(guān)張大吉,未能堅(jiān)持到嵌入式軟件開(kāi)始創(chuàng)造市場(chǎng)價(jià)值的那一刻。
此后,筆者供職于北京中科軟件技術(shù)有限公司的嵌入式事業(yè)部。當(dāng)時(shí),該事業(yè)部認(rèn)準(zhǔn)了實(shí)時(shí)工控領(lǐng)域,計(jì)劃開(kāi)發(fā)一款名為 Control 的嵌入式實(shí)時(shí)操作系統(tǒng)。當(dāng)時(shí),該產(chǎn)品的規(guī)劃非常宏偉,從內(nèi)核、基礎(chǔ)庫(kù)到開(kāi)發(fā)工具均有涉及。然而,因?yàn)槿狈镜氖袌?chǎng)認(rèn)知以及研發(fā)團(tuán)隊(duì)能力的不足,該產(chǎn)品無(wú)疾而終,該事業(yè)部也在筆者離開(kāi)之后合并到了事業(yè)部。當(dāng)然,中科在過(guò)后多年,又重新設(shè)立了嵌入式事業(yè)部——這是后話。
筆者離開(kāi)中科之后,即籌備創(chuàng)建了飛漫軟件。起初,并沒(méi)有明確的思路來(lái)如何經(jīng)營(yíng)這個(gè)公司。但開(kāi)源 MiniGUI 的一些用戶(hù)給了飛漫軟件起步的機(jī)會(huì),飛漫軟件通過(guò)定制 MiniGUI 或者開(kāi)發(fā)一些基于 和 MiniGUI 的外包項(xiàng)目開(kāi)始創(chuàng)造收入。飛漫軟件也逐步壯大,到 2003 年,有了十人左右的團(tuán)隊(duì),并實(shí)現(xiàn)了微薄的盈利。
2004 年,《MiniGUI 及其配套開(kāi)發(fā)工具》項(xiàng)目入選科技部中小企業(yè)創(chuàng)新基金,并獲得了國(guó)家和地方政府超過(guò)百萬(wàn)元的無(wú)償資助。另外,華為技術(shù)也在 2004 年采購(gòu)了 MiniGUI,從而獲得了一筆不小的收入。這兩筆資金,足夠讓飛漫軟件繼續(xù)發(fā)展 MiniGUI,并將 MiniGUI 打造成了一個(gè)頗有知名度的嵌入式圖形中間件產(chǎn)品。公司也隨之進(jìn)一步發(fā)展壯大。2005 年初,和大唐移動(dòng)簽署的 TD 手機(jī)合作項(xiàng)目,為飛漫軟件轉(zhuǎn)向手機(jī)行業(yè)起到了舉足輕重的作用。
2005、2006 年,飛漫軟件基本上保持了 30% 的年增長(zhǎng)率,積攢了大量的用戶(hù)基礎(chǔ),也基本確立了以銷(xiāo)售軟件使用許可(license)為主的業(yè)務(wù)模式。
2007 年,飛漫軟件獲得了一筆外來(lái)投資,因擴(kuò)大研發(fā)團(tuán)隊(duì)而首次出現(xiàn)虧損。2008 年,金融危機(jī)的出現(xiàn),給飛漫軟件的發(fā)展雪上加霜,不得不通過(guò)裁員來(lái)獲得生存的機(jī)會(huì)。2009 年,飛漫軟件開(kāi)始獲得聯(lián)芯(大唐移動(dòng))支付的 TD 手機(jī)使用 MiniGUI 的提成費(fèi),從而扭虧為盈;2010 年,飛漫軟件繼續(xù)保持了良好的增長(zhǎng)勢(shì)頭,開(kāi)發(fā)了 mDolphin 等瀏覽器軟件,并保持盈利。
然而,2011 年起,Android 系統(tǒng)的飛速普及,為飛漫軟件的發(fā)展帶來(lái)了非常大的不確定性。之前,飛漫軟件的主要收入來(lái)源于 MiniGUI 等產(chǎn)品在功能手機(jī)上的許可費(fèi)以及軍工、工業(yè)控制等行業(yè)客戶(hù)的許可費(fèi)。從 2011 年下半年起,因?yàn)?Android 的普及以及沖擊,大量的功能手機(jī)廠商及芯片廠商縮減了在功能手機(jī)上的技術(shù)投入,飛漫軟件的收入也急轉(zhuǎn)直下。在飛漫軟件成立九年之際,飛漫軟件面臨著成立以來(lái)的最大的危機(jī)。
面對(duì)此市場(chǎng)大勢(shì),在一些核心員工的倡導(dǎo)下,飛漫軟件從 2011 年 6 月起,開(kāi)始邁向了向移動(dòng)互聯(lián)網(wǎng)業(yè)務(wù)轉(zhuǎn)型的步伐。在 2011 年 10 月之后,陸續(xù)發(fā)布了面向 Android 平臺(tái)的領(lǐng)航桌面、領(lǐng)航瀏覽器等產(chǎn)品。尤其是領(lǐng)航桌面產(chǎn)品,在上線三個(gè)月,即達(dá)到了100萬(wàn)激活量的驕人戰(zhàn)績(jī),在國(guó)內(nèi)工具類(lèi)軟件中,各項(xiàng)指標(biāo)排名前 5%。這一來(lái)自市場(chǎng)的積極反饋,增強(qiáng)了筆者及團(tuán)隊(duì)的信心,飛漫軟件轉(zhuǎn)型移動(dòng)互聯(lián)網(wǎng)的目標(biāo)更加堅(jiān)定。
2012 年,飛漫軟件除了服務(wù)于聯(lián)芯、RDA 等手機(jī)芯片廠商、軍工客戶(hù)等重點(diǎn)客戶(hù)獲得 MiniGUI 及其相關(guān)軟件的技術(shù)許可費(fèi)之外,在移動(dòng)互聯(lián)網(wǎng)新業(yè)務(wù)上將近千萬(wàn)元的投入,將從下半年起帶來(lái)可觀的收入。對(duì)此,作為創(chuàng)始人,筆者堅(jiān)信這一天將在不久的將來(lái)來(lái)到。
二、成功的十年、失敗的十年
通過(guò)簡(jiǎn)單回顧飛漫軟件的十年,我們能夠明顯感覺(jué)到,飛漫軟件創(chuàng)立于嵌入式軟件行業(yè)萌芽之時(shí),轉(zhuǎn)型于智能手機(jī)崛起之時(shí)(也就是所謂后 PC 時(shí)代的到來(lái))。飛漫軟件走過(guò)的十年歷程,基本濃縮了中國(guó)嵌入式軟件行業(yè)發(fā)展的十年。
筆者之所以說(shuō)這是成功的十年,是因?yàn)轱w漫軟件打造了一個(gè)成功的系統(tǒng)級(jí)軟件,在中國(guó)嵌入式軟件技術(shù)發(fā)展的歷程中留下了或濃或淡的一筆。使用 MiniGUI 的各類(lèi)嵌入式設(shè)備,不完全統(tǒng)計(jì)至少有兩億部。僅華為終端使用 MiniGUI 開(kāi)發(fā)的數(shù)碼相框類(lèi)產(chǎn)品,就接近或超過(guò)一億部出貨。另外,功能手機(jī)方面,總出貨量已接近一億部,而且該數(shù)字在未來(lái)的幾年內(nèi),還將保持一定的增長(zhǎng)。
然而,因?yàn)閷?duì)國(guó)內(nèi)各行業(yè)對(duì)軟件價(jià)值的鄙視,飛漫軟件并不能獲得和 MiniGUI 這個(gè)產(chǎn)品的市場(chǎng)地位相匹配的收入。當(dāng)然,筆者說(shuō)是失敗的十年,并不僅僅是這個(gè)原因,而是因?yàn)槲覀儑?guó)家的 IT 行業(yè),在后 PC 時(shí)代萌芽的十年窗口期中,并沒(méi)有任何一家企業(yè)可以抓住這個(gè)機(jī)遇,成為蘋(píng)果、谷歌這樣可以在后 PC 時(shí)代創(chuàng)造新的生態(tài)系統(tǒng)的偉大公司!想想看,在新千年之初,嵌入式軟件技術(shù)剛剛得到全球關(guān)注之時(shí),我們就有 MiniGUI 這樣的開(kāi)源軟件,并具有相當(dāng)?shù)膰?guó)際知名度,但為什么沒(méi)有一家企業(yè)可以基于這樣的軟件以及的開(kāi)源軟件(如 、、WebKit 等),將其打造成一個(gè)類(lèi)似 Android 或者 iOS 這樣的系統(tǒng)呢?顯然,這樣的任務(wù)不是一個(gè)僅有不多投資的民營(yíng)企業(yè)可以完成的,而是那些手握重金的大佬們?nèi)ネ瓿伞V袊?guó)的整個(gè) IT 界,應(yīng)該為這“失去的十年”感到悲哀。因?yàn)檫@樣的十年可遇而不可求,下一個(gè)這樣的十年在哪里?WHO KNOWS?
我們看看在這十年中,作為我們中國(guó)的 IT 界之驕傲的一些公司在做什么事情:
* 華為技術(shù)/華為終端。筆者和華為技術(shù)、華為終端打了多年交道。這公司作為中國(guó)最具代表性的民營(yíng) IT 公司,是我們的楷模,他創(chuàng)造了通信業(yè)中國(guó)民營(yíng)企業(yè)的神話。不得不佩服。然而,大家都知道,華為終端直到今年,才開(kāi)始逐步從圍繞運(yùn)營(yíng)商的市場(chǎng)轉(zhuǎn)向直接面向消費(fèi)者的開(kāi)放市場(chǎng)。華為的狼性文化注定了這個(gè)企業(yè)是短視的,看不到未來(lái)十年的發(fā)展方向,只能是跟隨而不是主導(dǎo)。
* 騰訊、百度、盛大、新浪等互聯(lián)網(wǎng)企業(yè)。這些公司在這個(gè)窗口期,其目的就一個(gè):賺現(xiàn)錢(qián)!這些企業(yè)在未來(lái)的十年內(nèi),仍然不能成為像蘋(píng)果、谷歌這樣偉大的、可以創(chuàng)造一個(gè)新的生態(tài)系統(tǒng)的公司。
* 各類(lèi)創(chuàng)業(yè)公司。這些公司忙于應(yīng)付各類(lèi)創(chuàng)業(yè)競(jìng)賽、寫(xiě)商業(yè)計(jì)劃書(shū)、拜訪投資方,能拉到錢(qián)就是成功,先燒錢(qián)再說(shuō),哪有什么心思考慮未來(lái)十年?
歸根結(jié)蒂,浮躁的大環(huán)境造就了中國(guó) IT 界的現(xiàn)狀——既然很多公司可以沒(méi)有任何道德底線地生存,誰(shuí)會(huì)腳踏實(shí)地地去積累?如果這樣做,豈不是被人看成傻子?
接下來(lái)的十年,不會(huì)再有嵌入式軟件這個(gè)行當(dāng)了。嵌入式軟件將整個(gè)被平臺(tái)化的系統(tǒng)(iOS、Android、Windows)占據(jù),而這些系統(tǒng)平臺(tái),全 TMD 是老美的作品!這就是這十年的悲哀!不僅僅是筆者個(gè)人的悲哀,也是中國(guó) IT 界的悲哀。不僅僅是飛漫軟件的失敗,也是中國(guó) IT 界的失敗!
三、軟件工程管理
在飛漫軟件發(fā)展各階段,我們?cè)捎眠^(guò)多種軟件開(kāi)發(fā)管理模型。
以 MiniGUI 為例。最初,基本上是作坊式的小團(tuán)隊(duì),沒(méi)有獨(dú)立的質(zhì)量保證團(tuán)隊(duì)。MiniGUI 1.0 到 2.0 的各個(gè)版本,基本上出自本人以及當(dāng)時(shí)公司的另外一個(gè)主要?jiǎng)?chuàng)始人Snig。那時(shí),基本上沒(méi)有什么管理,靠的是興趣和一腔熱情編碼。
在飛漫軟件開(kāi)始開(kāi)發(fā)一些 MiniGUI 的外圍軟件時(shí),比如簡(jiǎn)易瀏覽器(mSpider)、PMP 方案(mGallery),很自然地想到引入質(zhì)量保證團(tuán)隊(duì)來(lái)協(xié)助開(kāi)發(fā)團(tuán)隊(duì)保證軟件的質(zhì)量。
時(shí)間推移到 2008 年,在我們開(kāi)發(fā) MiniGUI 3.0、mDolphin 等產(chǎn)品時(shí),飛漫軟件內(nèi)部形成了一套嚴(yán)密的、基于瀑布模型的軟件開(kāi)發(fā)管理模型和體系,制定了一系列的軟件開(kāi)發(fā)管理規(guī)范和工作規(guī)范。最多時(shí),圍繞 MiniGUI 3.0 開(kāi)發(fā)的人員總?cè)藬?shù)高達(dá) 20 人,其中包括產(chǎn)品管理團(tuán)隊(duì)(含產(chǎn)品經(jīng)理、UI設(shè)計(jì)師等)、開(kāi)發(fā)團(tuán)隊(duì)以及質(zhì)量保證團(tuán)隊(duì)。
直到 2011 年 4 月,筆者從未考慮過(guò)我們投入 20 人的團(tuán)隊(duì)開(kāi)發(fā) MiniGUI 3.0,到底是不是值得?暫且不說(shuō)是否脫離了市場(chǎng),但在長(zhǎng)達(dá)一年多的開(kāi)發(fā)過(guò)程中,層出不窮的缺陷和不停的小版本演進(jìn),到底給飛漫軟件以及用戶(hù)帶來(lái)了什么?
直到 2011 年上半年,飛漫軟件和一家老美公司合作開(kāi)發(fā)一個(gè) ACL 項(xiàng)目時(shí),筆者才發(fā)現(xiàn),我們多年來(lái)自然而然堅(jiān)持的一些軟件開(kāi)發(fā)管理方法,其實(shí)并不是最佳的方法。該項(xiàng)目試圖為不同的操作系統(tǒng)引入一個(gè)統(tǒng)一的 Android 兼容層,使得標(biāo)準(zhǔn)的 Linux、Windows 或者 (如 VxWorks)上,能夠運(yùn)行 Android 應(yīng)用程序,開(kāi)發(fā)過(guò)程采用了 SCRUM 敏捷開(kāi)發(fā)模型。本人花了兩天的時(shí)間閱讀了兩本有關(guān) SCRUM 開(kāi)發(fā)模型的書(shū),結(jié)果得到一個(gè)驚人的結(jié)論:傳統(tǒng)的軟件工程思想,其實(shí)是一個(gè)大大的騙局!
傳統(tǒng)的軟件工程思想,以“瀑布法”為典型,按照需求分析、設(shè)計(jì)(又細(xì)分為概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、單元測(cè)試設(shè)計(jì)、測(cè)試用例設(shè)計(jì))、編碼、測(cè)試的過(guò)程進(jìn)行管理,不停迭代,直到缺陷數(shù)量降低到零,或者缺陷數(shù)量從最初的幾百個(gè)收斂到幾個(gè),才認(rèn)為是形成了可正式發(fā)布的版本。但這個(gè)過(guò)程極其漫長(zhǎng),MiniGUI 3.0 從第一個(gè)可發(fā)布版本 3.0.2 發(fā)展到基本穩(wěn)定的 3.0.8,跨度居然長(zhǎng)達(dá)一年半時(shí)間。
為了有效實(shí)行瀑布法模型,我們制定了詳細(xì)的過(guò)程管理規(guī)范,從需求分析(草案)的編寫(xiě)、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、單元測(cè)試設(shè)計(jì)到最后的測(cè)試用例開(kāi)發(fā),每一步都要求形成對(duì)應(yīng)的文檔,經(jīng)過(guò)評(píng)審后進(jìn)入下一個(gè)單元。比如,軟件架構(gòu)師負(fù)責(zé)分析需求并進(jìn)行概要設(shè)計(jì),高級(jí)工程師來(lái)編寫(xiě)詳細(xì)設(shè)計(jì)文檔,經(jīng)軟件架構(gòu)師審定后進(jìn)入下一個(gè)環(huán)節(jié),等等。看起來(lái),一切都那么完美,只要每個(gè)人都按照要求和流程來(lái)做事,沒(méi)有達(dá)不到的目標(biāo)。但現(xiàn)在想來(lái),這其中存在如下一些深層次的問(wèn)題:
* 文檔流于形式。一方面是因?yàn)殚_(kāi)發(fā)人員本身對(duì)文檔工作存有天然的抵觸情緒,另一方面,開(kāi)發(fā)人員并沒(méi)有受到過(guò)如何撰寫(xiě)開(kāi)發(fā)文檔的培訓(xùn)。自然而言,文檔描述不清、不及時(shí)更新等問(wèn)題就出現(xiàn)了,最后,文檔基本上就會(huì)流于形式。通常的結(jié)果是,需求文檔或者概要設(shè)計(jì)文檔寫(xiě)得很好,但詳細(xì)設(shè)計(jì)文檔、單元測(cè)試文檔等等,越往后越差。
* 沒(méi)有人仔細(xì)閱讀文檔。大部分開(kāi)發(fā)者其實(shí)不會(huì)仔細(xì)閱讀文檔,他會(huì)根據(jù)自己對(duì)需求的理解進(jìn)行編碼,即使詳細(xì)設(shè)計(jì)文檔就是他自己編寫(xiě)的,他仍然會(huì)給你敲出一份偏離詳細(xì)設(shè)計(jì)的代碼。
* 瀑布開(kāi)發(fā)模型,忽視了軟件質(zhì)量的第一保證人是開(kāi)發(fā)者本人這一要求,使得開(kāi)發(fā)人員非常依賴(lài)于測(cè)試人員,測(cè)試人員又抱怨開(kāi)發(fā)者編寫(xiě)的軟件充滿(mǎn)了缺陷。最后,使得整個(gè)開(kāi)發(fā)過(guò)程充斥著責(zé)任不清和相互的埋怨,大大降低了開(kāi)發(fā)效率,質(zhì)量也很難得到保證。
然而,如果我們仔細(xì)回想 MiniGUI 早期版本的情況,我們會(huì)發(fā)現(xiàn),那時(shí),沒(méi)有專(zhuān)職的質(zhì)量保證團(tuán)隊(duì)或者測(cè)試人員,就兩三個(gè)開(kāi)發(fā)人員,軟件的質(zhì)量仍然相當(dāng)好。再比如,Linux 內(nèi)核的開(kāi)發(fā)過(guò)程顯然也沒(méi)有采納瀑布模型,但為什么仍然取得了那么偉大的成果?
如果你仔細(xì)想想這其中的奧秘,你就會(huì)發(fā)現(xiàn),傳統(tǒng)的軟件工程思想,是模仿傳統(tǒng)工程管理方法,比如建筑工程的管理方法設(shè)計(jì)出來(lái)的。瀑布模型,有其可適用之處,但并不是萬(wàn)能藥。在任何一個(gè)軟件開(kāi)發(fā)中,期望通過(guò)傳統(tǒng)軟件工程方法來(lái)進(jìn)行管理并取得良好效果,基本上屬于一廂情愿。
為什么筆者認(rèn)為傳統(tǒng)軟件工程思想是一個(gè)騙局呢?其一,宣傳傳統(tǒng)的軟件工程方法,為那些靠 CMM 等軟件管理標(biāo)準(zhǔn)或者規(guī)范吃飯的人給了一個(gè)可以賺錢(qián)的機(jī)會(huì);其二,利用傳統(tǒng)的軟件工程方法,為那些販賣(mài)項(xiàng)目管理軟件的公司一個(gè)可以賺大錢(qián)的機(jī)會(huì);其三,傳統(tǒng)的軟件工程方法,創(chuàng)造了更多的就業(yè)崗位。
自從筆者接觸了 SCRUM 開(kāi)發(fā)模型后,我發(fā)現(xiàn)它和傳統(tǒng)軟件工程方法最大的不一樣,就是:前者圍繞軟件本身進(jìn)行管理,后者圍繞流程進(jìn)行管理。SCRUM 開(kāi)發(fā)模型強(qiáng)調(diào) 3C,即 (卡片)、Confirmation(確認(rèn)或承諾)和 Communication(溝通或交流)。該方法去除了一切形式化的東西,比如復(fù)雜的文檔和流程,讓開(kāi)發(fā)過(guò)程關(guān)注到最終可以交付的軟件及其功能的演進(jìn)上。而且,采納 SCRUM 開(kāi)發(fā)模型時(shí),它的管理手段非常簡(jiǎn)單,任何有基本管理素養(yǎng)的人,只要遵照其基本原則和方法,都能做好相應(yīng)的管理工作。
然而,SCRUM 開(kāi)發(fā)模型的執(zhí)行過(guò)程非常容易走樣。很多人仍然喜歡使用電子化的方式來(lái)管理項(xiàng)目,比如使用 ScrumWorks 這樣的軟件,但這其實(shí)違背了 3C 原則中的 和 Communication 這兩項(xiàng);很多人非要按照一周、兩周或者一個(gè)月來(lái)劃定一個(gè)沖刺的目標(biāo)而不是按照沖刺工作集來(lái)確定發(fā)布時(shí)間;甚至一些管理人員,連燃盡圖都懶得畫(huà)。
這導(dǎo)出了本文的第四個(gè)主題。
四、中國(guó)軟件工程師的特點(diǎn)
先告訴大家我的結(jié)論:中國(guó)的軟件工程師,大致有一半或者更多是不應(yīng)該從事這個(gè)行業(yè)的,他們做事隨意,缺乏自律和學(xué)習(xí)精神,也缺乏必要的工程素養(yǎng)。
我們先看看中國(guó)軟件工程師的來(lái)源。
中國(guó)幾所頂級(jí)大學(xué)計(jì)算機(jī)相關(guān)專(zhuān)業(yè)的畢業(yè)生,大多選擇了出國(guó)或者進(jìn)入外企、知名國(guó)企工作(也有部分進(jìn)入金融、投資等領(lǐng)域,少數(shù)選擇創(chuàng)業(yè)或者加盟創(chuàng)業(yè)團(tuán)隊(duì))。谷歌、百度、騰訊等大型互聯(lián)網(wǎng)企業(yè)以及華為、等大型通信企業(yè),吸納了這些頂級(jí)大學(xué)計(jì)算機(jī)相關(guān)專(zhuān)業(yè)中優(yōu)秀的畢業(yè)生。但這些畢業(yè)生顯然是少數(shù),大多數(shù)從事軟件開(kāi)發(fā)的人員,畢業(yè)自二三流大學(xué)。
以筆者曾經(jīng)面試過(guò)的應(yīng)聘者以及很多共事過(guò)的軟件開(kāi)發(fā)人員為例,筆者得出了上述結(jié)論:
教育方面的問(wèn)題眾人皆知,筆者不再贅述。許多來(lái)自二三流大學(xué)的畢業(yè)生來(lái)應(yīng)聘我們公司的職位,甚至還有一些有過(guò)專(zhuān)業(yè)的職業(yè)培訓(xùn)經(jīng)歷,然而,我看不到任何可以錄取他們的理由。在我看來(lái),大多數(shù)人是因?yàn)榫蜆I(yè)壓力大,找不到適合自己的職位,才選擇薪水水平相對(duì)較高的軟件開(kāi)發(fā)職位作為自己踏入社會(huì)的第一步。有些人為了加大成功就業(yè)的概率,自己掏錢(qián)做職業(yè)培訓(xùn),之后再找工作。但問(wèn)題是,大學(xué)里邊基本上什么也沒(méi)學(xué)到,怎可能靠幾個(gè)月的培訓(xùn)就能達(dá)到用人單位的要求?
* 很多軟件開(kāi)發(fā)者不明白為什么要有一致的編碼風(fēng)格(coding style)。寫(xiě)出來(lái)的代碼行文混亂,毫無(wú)美感而言。其實(shí),字如其人,敲不出漂亮代碼的開(kāi)發(fā)者,也寫(xiě)不出符合要求的文檔,而且代碼必定錯(cuò)誤百出。這些開(kāi)發(fā)者,顯然沒(méi)有經(jīng)過(guò)良好的工程素質(zhì)訓(xùn)練,缺乏必要的工程素養(yǎng)。
* 我們公司從 2005 年起利用 Wiki 系統(tǒng)管理內(nèi)部文檔。我發(fā)現(xiàn),許多開(kāi)發(fā)者連基本的 Wiki 標(biāo)記語(yǔ)言都不能快速掌握。許多情況,照貓畫(huà)虎就可以的,還會(huì)弄得亂七八糟。就一個(gè)命名規(guī)則,很多人都無(wú)法理解命名規(guī)則到底有什么意義,非要取“概要設(shè)計(jì)”這樣的主題名稱(chēng)。怎么就不能想想,下個(gè)項(xiàng)目的概要設(shè)計(jì),難道你也用這個(gè)名稱(chēng)?在我看來(lái),這些開(kāi)發(fā)者其實(shí)不應(yīng)該進(jìn)入這個(gè)行業(yè),因?yàn)樗狈Ρ匾挠?jì)算機(jī)科學(xué)、軟件工程敏感性,他的頭腦其實(shí)根本不適合做軟件開(kāi)發(fā)。
* 如上一章節(jié)所說(shuō)(SCRUM 開(kāi)發(fā)模型的執(zhí)行容易走樣),包括一些管理者在內(nèi),許多軟件開(kāi)發(fā)者并不是合格的管理者或者被管理者。他們做事隨意,不講規(guī)則,缺乏自律。當(dāng)然,這主要的原因來(lái)自管理者自身,大多數(shù)普通的開(kāi)發(fā)者需要一定的管理約束和鞭策,當(dāng)管理者自身隨意、不講規(guī)則,缺乏自律,那整個(gè)團(tuán)隊(duì)也會(huì)這樣。這和大多數(shù)管理者出身自技術(shù)人員有關(guān)。
盡管筆者得出上述結(jié)論來(lái)自于筆者接觸過(guò)的軟件開(kāi)發(fā)者,但相信這些問(wèn)題也存在于很多企業(yè)當(dāng)中。華為、等大型企業(yè)的管理策略,基本上靠流程和人海戰(zhàn)術(shù),導(dǎo)致組織越來(lái)越龐大,效率越來(lái)越低下。這些企業(yè)因?yàn)橐呀?jīng)具備了一定的市場(chǎng)地位,組織的臃腫和龐大并不會(huì)帶來(lái)致命的后果。但如飛漫軟件這樣的小型企業(yè)或者創(chuàng)業(yè)團(tuán)隊(duì),如果模仿華為、等大企業(yè)的做法,必定要承受昂貴的代價(jià)。請(qǐng)各位看官切記!
五、外聘 CEO 之殤
2007 年,飛漫軟件吸納外資從內(nèi)資企業(yè)變更為合資企業(yè)。根據(jù)外方董事的建議,公司用高薪聘請(qǐng)了一位來(lái)自臺(tái)灣的H姓女性作為合資公司的 CEO,本人改任 CTO。
新聘 CEO 曾有過(guò)海外工作經(jīng)驗(yàn),主要工作經(jīng)驗(yàn)是銷(xiāo)售管理,來(lái)飛漫軟件工作,算是第一次擔(dān)任 CEO。H CEO 顯然對(duì)第一次擔(dān)任 CEO 表示出了極大的熱情,問(wèn)我在大陸,她名片上的職位,到底應(yīng)該是“執(zhí)行長(zhǎng)”呢還是“首席行政長(zhǎng)”還是的什么名稱(chēng)。我說(shuō),就是“首席執(zhí)行官”,要么就寫(xiě) CEO,大家都明白。最后,那名片上還是寫(xiě)了個(gè)“執(zhí)行長(zhǎng)”——也許“執(zhí)行長(zhǎng)”這個(gè)抬頭,更加有氣勢(shì)?
H CEO 上任伊始就對(duì)公司進(jìn)行了大刀闊斧的改革,比如,培養(yǎng)人事經(jīng)理成為項(xiàng)目經(jīng)理,以高薪吸納她之前的臺(tái)灣下屬作為海外銷(xiāo)售經(jīng)理等等。同時(shí),H CEO 也積極行動(dòng),發(fā)揮她的銷(xiāo)售專(zhuān)長(zhǎng),去上海、深圳、臺(tái)灣等地方拜訪客戶(hù),尋找可能的銷(xiāo)售機(jī)會(huì)。當(dāng)然,每次出行必然是住四星級(jí)以上酒店。在北京,也住的是包月酒店,每月一萬(wàn)的房租。
然而,在其工作三個(gè)月之后(2008年元月),公司突然出現(xiàn)了一個(gè)離職潮,大量員工提出離職申請(qǐng)。顯然,這位 CEO 并不適合飛漫軟件這樣的小企業(yè)。本人不得不提請(qǐng)董事會(huì)解雇職這位 CEO。但我們?yōu)榇烁冻隽藰O大的代價(jià)——成立合資公司引入的資金之一半基本上賠償給了這位 CEO。這也是 2008 年,除了金融危機(jī)的影響之外,飛漫軟件不得不裁員的一個(gè)另外一個(gè)主要原因。
這位 CEO 在被解雇后,在香港注冊(cè)了一家皮包公司,從我公司采購(gòu)了一套 MiniGUI,然后改頭換面開(kāi)始當(dāng)做自己的產(chǎn)品進(jìn)行銷(xiāo)售。當(dāng)然,筆者根本不在意這點(diǎn),因?yàn)殡x了飛漫軟件,MiniGUI 就是無(wú)源之水,你想復(fù)制飛漫的業(yè)務(wù),那基本上不可能。
這里有個(gè)類(lèi)似的插曲。2009 年的時(shí)候,2005 年期間代理 MiniGUI 的一家韓國(guó)公司,突然聯(lián)系我,說(shuō)我們公司有個(gè)前員工弄了個(gè)什么軟件,想找他代理,還把其技術(shù)白皮書(shū)發(fā)給我了。但其實(shí)呢,就是他自己找這個(gè)前員工弄的,事情沒(méi)弄成,反過(guò)來(lái)到我這里告狀——蠻有意思的。
外聘 CEO 這件事情,在外方董事推薦之時(shí),我內(nèi)心其實(shí)不是非常贊同的,但我沒(méi)有聽(tīng)從自己內(nèi)心的聲音,而選擇了盲目的信任。
我記得在確定 OFFER 之前,曾邀請(qǐng)這位女士到我公司,作為雙方互相考察之用。我開(kāi)車(chē)去了機(jī)場(chǎng)接這位女士。見(jiàn)面之時(shí),我注意到了兩個(gè)細(xì)節(jié):
* 這位女士腳穿涼鞋,同時(shí)還穿著一雙襪子。
* 這位女士在見(jiàn)到我們舉著寫(xiě)有她名字的牌子時(shí),眼神掠過(guò)一抹非常難以察覺(jué)的輕蔑之神情。
之后我和當(dāng)時(shí)的銷(xiāo)售總監(jiān)邀請(qǐng)她吃飯,送她去酒店住下,然后我就扁桃體發(fā)炎,高燒到了 39 度(我自打記事起,還沒(méi)有如此發(fā)過(guò)燒)。之后的兩天,打吊針輸液,昏昏沉沉就過(guò)去了。出于對(duì)外方董事的信任,這考察也就草草走過(guò)場(chǎng),然后就給了這位女士一個(gè)按照國(guó)際標(biāo)準(zhǔn)執(zhí)行的 CEO OFFER。
顯然,老天爺提醒了我,但我沒(méi)有聽(tīng)從自己內(nèi)心的聲音,導(dǎo)致這慘痛的教訓(xùn)。各位看官,也請(qǐng)吸取我的教訓(xùn),一定要按照喬布斯所說(shuō),聽(tīng)從自己內(nèi)心的聲音。當(dāng)然,你面臨的問(wèn)題,也許是根本不知道自己的內(nèi)心到底發(fā)出了什么樣的聲音,呵呵。
六、最大的經(jīng)營(yíng)失誤
飛漫軟件的過(guò)去十年,經(jīng)歷了很多事情。現(xiàn)在回過(guò)頭來(lái)看,最大的經(jīng)營(yíng)失誤是盲目開(kāi)發(fā)新的軟件產(chǎn)品,為此浪費(fèi)了很多現(xiàn)金。
除了 MiniGUI 之外,飛漫軟件曾經(jīng)開(kāi)發(fā)過(guò)很多東西,比如 mEagle、mSpider、mGallery、mDolphin、mStudio,包括后來(lái)的 HybridOS 等等。
在這些軟件產(chǎn)品當(dāng)中,給我們帶來(lái)收入最多的自然是 MiniGUI,除此之外就是 mDolphin。其他的軟件,現(xiàn)在看來(lái),根本沒(méi)有必要開(kāi)發(fā),因?yàn)檫@些軟件脫離了市場(chǎng)需求,自然不會(huì)有客戶(hù)買(mǎi)賬。要是不開(kāi)發(fā)這些軟件,飛漫軟件基本上可以以一個(gè)不超過(guò) 30 人的規(guī)模高效運(yùn)行,按開(kāi)發(fā)人員計(jì)算,人均年收入達(dá)到 40 萬(wàn)到 50 萬(wàn)是沒(méi)有任何問(wèn)題的。
然而,這些都是馬后炮。寫(xiě)出來(lái),是為了給各位看官一些啟迪,希望對(duì)創(chuàng)業(yè)者、中小軟件企業(yè)的管理者有所啟發(fā)。
七、通過(guò)合作看華為
這里主要講講華為這個(gè)公司。
我之所以直接提這個(gè)公司的名字,是因?yàn)槲蚁M@個(gè)公司能夠有所變革,成為一家像蘋(píng)果、谷歌等真正偉大的公司。
華為技術(shù)在 2004 年的時(shí)候以買(mǎi)斷形式采購(gòu)了 MiniGUI 軟件,飛漫軟件由此獲得了在當(dāng)時(shí)可以在北京四環(huán)外購(gòu)買(mǎi)一套小兩居住房的現(xiàn)金收入。
2009 年時(shí),華為終端使用 MiniGUI 開(kāi)發(fā)數(shù)碼相框類(lèi)的產(chǎn)品,遇到了一些技術(shù)問(wèn)題,找我們公司幫忙。起初我們不同意他們的出價(jià),他們的領(lǐng)導(dǎo)不停給我電話,說(shuō)了很多好話,說(shuō)和華為合作機(jī)會(huì)很多,這次少點(diǎn),下次多點(diǎn)云云。最后五萬(wàn)塊錢(qián)的服務(wù)費(fèi),我同意幫了。我安排了公司最資深的 MiniGUI 專(zhuān)家前去服務(wù),前后兩周時(shí)間,純粹就是幫他們個(gè)忙。這樣的事情很多,華為的人,總是以業(yè)界大拿的做派找我們這樣的專(zhuān)業(yè)小公司,幫這個(gè)忙幫那個(gè)忙。去年底,海思還找我們幫他們解決瀏覽器上 插件的問(wèn)題,我們幫了。領(lǐng)導(dǎo)說(shuō)跟華為搞好關(guān)系,以后有大大的機(jī)會(huì)賺錢(qián)云云。結(jié)果呢,我們從華為系統(tǒng)的企業(yè)賺到的錢(qián)并沒(méi)有多少。我現(xiàn)在已經(jīng)死了從華為再賺錢(qián)的心了,所以我爆料給各位看官。
前文已經(jīng)提到,華為終端采用 MiniGUI 開(kāi)發(fā)的終端產(chǎn)品接近或超過(guò)一億臺(tái)。
各位看官,你們大概不知道華為技術(shù)和華為終端是兩個(gè)獨(dú)立的法人企業(yè)吧?我也是之后才知道的。也就是說(shuō),華為終端使用來(lái)自飛漫軟件許可給華為技術(shù)的 MiniGUI 產(chǎn)品,是未經(jīng)許可的。我們提出這個(gè)問(wèn)題后,經(jīng)過(guò)了長(zhǎng)達(dá)半年的唇槍舌戰(zhàn),華為終端不得不在去年上半年補(bǔ)上了 MiniGUI 的許可費(fèi)。當(dāng)然,以華為一貫的作風(fēng),這個(gè)錢(qián)沒(méi)有太多。
華為技術(shù)、華為終端也好,這個(gè)企業(yè)骨子里有股不好的基因,那就是喜歡壓榨供應(yīng)商,對(duì)供應(yīng)商摳門(mén)的不行。我的結(jié)論是,華為當(dāng)前充其量就是個(gè)“獨(dú)善其身”階段,還達(dá)不到蘋(píng)果那樣可以創(chuàng)建一個(gè)生態(tài)系統(tǒng),從而“兼濟(jì)天下”的水平!
華為,你未來(lái)的路還很長(zhǎng)。
八、一些小的教訓(xùn)
作為結(jié)尾,我給大家羅列一些十年里邊遇到的小的教訓(xùn),希望各位看官防備:
* 你永遠(yuǎn)會(huì)遇到一些小人,試圖以不道德的方式獲取利益。比如本文提到的韓國(guó)代理,H姓CEO。這種情況下,不用理會(huì),事實(shí)證明小人成不了大事。如果你花更多的精力和他們較真,你將失去更多。
* 本文提到的 ACL 項(xiàng)目,那美國(guó)的公司欠了我們將近 2.5 萬(wàn)美金不付(這公司是個(gè)初創(chuàng)公司,沒(méi)有足夠的現(xiàn)金做這個(gè)項(xiàng)目,加之 ACL 項(xiàng)目本身前景不妙,他們希望賣(mài)給 在 MeeGo 上用,希望賣(mài)給 HP 在 WebOS 上用,但 2011 年上半年,大家都知道,這兩個(gè)項(xiàng)目終止了,這公司根本沒(méi)法獲得進(jìn)一步投資)。所以,并不是所有老外公司(就算是老美公司)都那么遵守規(guī)則和具有商業(yè)道德,你要做的就是,盡量在前期收到足夠多的錢(qián),且不要盲目相信他們。
敬以此文紀(jì)念飛漫軟件過(guò)去的十年。 |
|