最近看了《浪潮之巔》第二版,對(duì)我這個(gè)IT從業(yè)者觸動(dòng)很大,同時(shí)也有一些感悟,就想寫(xiě)出來(lái),給自己一個(gè)提醒,同時(shí)也給一些新入行的朋友一些參考。
這本書(shū)通過(guò)分析世界上非常著名的一些大公司他們的商業(yè)發(fā)展歷史,透過(guò)現(xiàn)象看本質(zhì),吳軍博士他向我們著重闡述了IT領(lǐng)域非常重要的幾個(gè)定律:
摩爾定律:集成電路的集成度每18個(gè)月翻一番,或者說(shuō)相同性能的計(jì)算機(jī)等IT產(chǎn)品,每18個(gè)月價(jià)錢(qián)會(huì)降一半。
安迪-比爾定律:指以微軟的比爾·蓋茨為首的軟件商通過(guò)不斷增加軟件占用硬件的資源,消耗掉了安迪·格魯夫的英特爾以摩爾定律創(chuàng)造的硬件性能,使硬件的提升同時(shí)被軟件的升級(jí)給中和了。
反摩爾定律:可以理解為,如果達(dá)不到摩爾定律中的發(fā)展速度,就離死不遠(yuǎn)了。
諾威格定律:一家公司的市場(chǎng)占有率超過(guò)50%后,就無(wú)法再使市場(chǎng)占有率翻番了。
70-20-10定律:一個(gè)成熟的領(lǐng)域,一般在全球最多只會(huì)有三個(gè)主要競(jìng)爭(zhēng)對(duì)手,而他們所占的市場(chǎng)份額的比例差不多就是70:20:10這樣子。
基因定律:每家公司都有自己的企業(yè)文化、做事方式、商業(yè)模式、市場(chǎng)定位等因素,這些東西會(huì)深深植入這家公司,會(huì)形成一種模式,一種本能。
上面這些定律也可以說(shuō)是決定一個(gè)公司成敗的關(guān)鍵因素之一,當(dāng)然其它方面還有歷史機(jī)遇、商業(yè)模式、領(lǐng)導(dǎo)才能等等因素。大象是做Java的,主要是想根據(jù)這些定律結(jié)合我從事的職業(yè)去分析,它如何與我們IT從業(yè)者相關(guān)。
我們投身在IT行業(yè),公司的興衰與我們息息相關(guān),我們努力工作為公司創(chuàng)造價(jià)值,公司也會(huì)回報(bào)我們相應(yīng)的價(jià)值。但是,如果公司的決策與發(fā)展違背了客觀規(guī)律,違背了上述的這些定律,那么它的情況就會(huì)不妙了,而我們也同樣會(huì)陷入失業(yè)的危機(jī)中,特別是剛剛進(jìn)入這個(gè)行業(yè)的童鞋,他們還沒(méi)有很多經(jīng)驗(yàn),會(huì)對(duì)他們的生活造成不小的麻煩。因此我們有必要在進(jìn)入一家公司前擦亮自己的眼睛,或者在公司向錯(cuò)誤方向前進(jìn)后,能夠及時(shí)的看清形勢(shì),選擇更好的發(fā)展平臺(tái)。
其實(shí)不光在硬件領(lǐng)域有摩爾定律,我認(rèn)為在軟件領(lǐng)域也有摩爾定律,尤其是對(duì)開(kāi)源的Java更是如此。雖然Sun公司不在了,但它創(chuàng)造的Java確是真正的影響了全世界的編程開(kāi)發(fā)與互聯(lián)網(wǎng)的發(fā)展。而基于Java的開(kāi)源軟件更是得到了蓬勃發(fā)展,Java從1995年到現(xiàn)在一共經(jīng)歷了8個(gè)重大版本的發(fā)布(1996-2011),比摩爾定律的速度慢了兩個(gè)數(shù)量級(jí),而從時(shí)間上看前面幾個(gè)版本基本上都滿(mǎn)足了摩爾定律的發(fā)展速度,轉(zhuǎn)折點(diǎn)是在2006年,這一年Sun公司發(fā)布了Java 6,而直到2011年Oracle收購(gòu)Sun一年后才發(fā)布Java 7,這中間差不多間隔了5年之久!當(dāng)然Sun的沒(méi)落和Java語(yǔ)言本身的發(fā)展沒(méi)關(guān)系,大象只是想說(shuō)明軟件的發(fā)展也在遵循著摩爾定律。如果不能達(dá)到這個(gè)速度,必然會(huì)出現(xiàn)新的軟件來(lái)取代舊的軟件。在開(kāi)源項(xiàng)目方面表現(xiàn)得更明顯,這里面一個(gè)典型例子就是Struts1,這個(gè)Web框架,曾經(jīng)占據(jù)Java Web開(kāi)發(fā)的半壁江山,而且時(shí)間長(zhǎng)達(dá)數(shù)年之久,但后來(lái)由于越來(lái)越慢的更新速度,讓大量開(kāi)發(fā)者非常不滿(mǎn),到了2008年12月徹底關(guān)閉了這個(gè)項(xiàng)目。而Struts2就成了替代Struts1的第二代產(chǎn)品,但由于這兩個(gè)框架根本就是兩個(gè)不同的東西,不能平滑遷移,并且Struts2的更新速度還是慢得令人發(fā)瘋,而Spring在2009年12月發(fā)布了非常具有里程碑的Spring MVC 3.0版本,讓Web開(kāi)發(fā)變得非常方便,這些都使得很多項(xiàng)目的技術(shù)選型發(fā)生了變化。這也從側(cè)面體現(xiàn)了摩爾定律與反摩爾定律在影響著軟件行業(yè)。
再來(lái)看看安迪-比爾定律,我在這里只談Intel的多核處理器,因?yàn)樽钤绲碾p核處理器可以追溯到2003年蘋(píng)果發(fā)布的Power Mac G5電腦上面搭載的IBM
PowerPC 970雙核處理器,大家都知道蘋(píng)果的東西是出了名的貴,用的多的還是Intel和AMD這兩家的,之所以不談AMD,是因?yàn)樗cIntel相比實(shí)在不是一個(gè)級(jí)別的對(duì)手,另外Intel也是為了避免美國(guó)的反壟斷法才一直讓AMD存在著。Intel在2006年推出了基于酷睿(Core)架構(gòu)的雙核CPU后,正式開(kāi)啟了電腦多核時(shí)代。而早在2004年9月30日,Java發(fā)布了代號(hào)為Tiger的JDK 5.0版本,新增的java.util.concurrent并發(fā)包為多線程編程提供了非常大的幫助,在服務(wù)器相繼用上多核CPU后,如何在多線程并發(fā)上面充分利用多核優(yōu)勢(shì),提高性能,提高資源利用率,是開(kāi)發(fā)者最關(guān)注的問(wèn)題。所以看似電腦有了多核CPU,性能提升非常爽,但是軟件也會(huì)想方設(shè)法的利用這些提升帶來(lái)的好處,顯然不全是微軟的操作系統(tǒng)在消耗。
在Java開(kāi)源項(xiàng)目里面,和70-20-10定律也很像,每塊領(lǐng)域都由幾個(gè)著名的軟件引導(dǎo)著,然后還有很多其它的小項(xiàng)目,不能說(shuō)這些項(xiàng)目不好,只是使用人數(shù)不多,比較小眾。我列出一些僅供參考:
開(kāi)發(fā)工具:Eclipse、NetBeans、IntelliJ IDEA(它分免費(fèi)和收費(fèi)兩個(gè)版本)
Eclipse版本控制插件:Subclipse、EGit
Web框架:Spring MVC、Struts2
ORM框架:Hibernate、MyBatis(iBATIS3.0之后改名)
Web服務(wù)器:Tomcat、Jetty、Resin、JBoss、GlassFish
構(gòu)建/集成:Maven、Ant、Hudson、Continuum、Jenkins(前身為Hudson)
消息中間件:ActiveMQ、HornetQ
模板引擎:FreeMarker、Velocity
工作流:Activiti、jBPM
任務(wù)調(diào)度:Quartz
網(wǎng)絡(luò)應(yīng)用框架:Netty、MINA
WebService:Hessian、CXF、XFire、Axis
NoSQL:Memcached、Redis、MongoDB、Cassandra、HBase
搜索引擎:Lucene、Solr、Nutch
…………
當(dāng)你剛剛進(jìn)入軟件行業(yè),你需要考慮一下技術(shù)選型,我應(yīng)該朝哪個(gè)方向發(fā)展。每次TIOBE公布編程語(yǔ)言排行版的時(shí)候,總是大打口水戰(zhàn),每個(gè)從事不同開(kāi)發(fā)領(lǐng)域的人都覺(jué)得自己這行是最好的,所以爭(zhēng)論這個(gè)沒(méi)有必要,還是應(yīng)該根據(jù)自己的想法來(lái)做出選擇。另外在選擇公司的時(shí)候,特別要注意這家公司是做什么業(yè)務(wù)的,這個(gè)業(yè)務(wù)的市場(chǎng)規(guī)模,采取的是什么商業(yè)模式(商業(yè)模式非常重要,吳軍博士曾在書(shū)中反復(fù)強(qiáng)調(diào)過(guò)),有哪些主要的競(jìng)爭(zhēng)對(duì)手,當(dāng)前有沒(méi)有已經(jīng)比較成功可以領(lǐng)導(dǎo)行業(yè)的統(tǒng)治者(70-20-10),還有公司的企業(yè)文化,晉升機(jī)制等等等等。
對(duì)于已經(jīng)有工作經(jīng)驗(yàn)想換工作的童鞋,我覺(jué)得應(yīng)該首先考慮的是發(fā)展發(fā)向,其次才是公司。現(xiàn)在大的方向主要分為企業(yè)應(yīng)用開(kāi)發(fā)和互聯(lián)網(wǎng)開(kāi)發(fā)。是繼續(xù)當(dāng)前行業(yè)還是換個(gè)行業(yè)做?這都是需要考慮的。
還有一些比較求穩(wěn)的童鞋,在公司做的不錯(cuò),公司的發(fā)展也比較平穩(wěn),也不打算跳槽,這時(shí)應(yīng)該關(guān)注下公司的戰(zhàn)略,這些東西雖然是公司高層決定,但一旦決定后肯定會(huì)召開(kāi)員工大會(huì),傳達(dá)這些內(nèi)容。在了解這些后仔細(xì)分析它會(huì)對(duì)公司帶來(lái)什么,未雨綢繆永遠(yuǎn)不是壞事。
我們既然處在這個(gè)時(shí)代,又在IT行業(yè)工作,真的是一刻都不能讓自己放松下來(lái)。必須要擦亮自己的眼睛,緊盯行業(yè)的變化。大象深深的感受到,IT真他媽不是一般人能干的,而且經(jīng)常看到過(guò)勞死的消息。雖說(shuō)很累,但我真的很喜歡寫(xiě)代碼,研究技術(shù),我還是會(huì)繼續(xù)在這個(gè)行業(yè)里走下去。為了生活,為了家庭,為了孩子,還有為了自己熱愛(ài)的事業(yè)。
文章開(kāi)頭說(shuō)是自己的一些感悟,現(xiàn)在完全變成了嘮叨,不爽的童鞋請(qǐng)不要噴我,寫(xiě)的不對(duì)的地方還請(qǐng)幫我指出來(lái),大象鞠躬感謝。
本文為菠蘿大象原創(chuàng),如要轉(zhuǎn)載請(qǐng)注明出處。http://m.tkk7.com/bolo
posted on 2013-10-31 21:12
菠蘿大象 閱讀(1071)
評(píng)論(3) 編輯 收藏 所屬分類(lèi):
隨筆