世界很大我們要多看看
快40了,還在一線編程伴嗡,也享受這個(gè)編程从铲。自己走過很多彎路,有時(shí)候也覺得可惜阱扬∩毂伲可能也是必須要付出的代價(jià),或者是客觀限制用踩。1997年忙迁,那時(shí)候上網(wǎng)是個(gè)奢侈品,信息很不充分惠奸,抓到啥就學(xué)啥恰梢。大學(xué)期間,大把的時(shí)候都放在win32平臺上了嗅回,被搞得七竅生煙摧茴,算是被微軟給糟蹋了。人不是學(xué)習(xí)機(jī)器娃豹,再強(qiáng)的人也不可能精通所以平臺购裙、所有編程語言、所有框架躯畴。
但每個(gè)平臺和框架有它天然的限制,世界很大摹察,我們要多看看倡鲸。同時(shí)峭状,還要邊看邊想。如在計(jì)算機(jī)入門的時(shí)候劝赔,最好先理解一下一個(gè)概念背后的what, why胆敞,如:什么是網(wǎng)絡(luò)編程,為什么要搞socket仍翰?圖形化系統(tǒng)為什么是消息推動(dòng),為什么是異步的予借?OOP到底有什么用處频蛔?為什么總是虛擬的、間接的瀑粥、cache的三圆?雖然這些東西嫌术,很多時(shí)候很難一時(shí)半會被參透牌借,但如果不去品、不去想磷籍。可以很肯定的說弛矛,是不會有創(chuàng)造力丈氓,也不能保證有更強(qiáng)的學(xué)習(xí)能力强法。
不要有鶴立雞群的優(yōu)越感
另外一方面,也不要因?yàn)槎鄬W(xué)了幾個(gè)語言和框架闰歪,就有莫有其妙的優(yōu)越感蓖墅。中國傳統(tǒng)教育非常不好的一點(diǎn)是,通過激發(fā)小朋友的好勝心與虛榮心论矾,來讓他們?nèi)W(xué)習(xí)。這樣下來拇囊,有一點(diǎn)小天賦的人在一小點(diǎn)成績下就會比較膨脹迂曲,從而失去了對下一個(gè)更深層目標(biāo)的探索。通俗一點(diǎn)就是小聰明寥袭,總有鶴立雞群的優(yōu)越感传黄。在編程開發(fā)領(lǐng)域里,新技術(shù)章姓、新框架出來一個(gè)學(xué)一個(gè)凡伊,很多是學(xué)了個(gè)皮毛系忙,更多是把知識記住银还,沒有轉(zhuǎn)化為思維能力,沒有深層的想戒财,為什么需要這些東東饮寞。所以骂际,也是很難真正應(yīng)用到工程中冈欢、產(chǎn)品中凑耻,創(chuàng)造價(jià)值香浩。
必須要在生產(chǎn)環(huán)境中鍛煉
軟件編程和智力型的游戲(象棋邻吭、圍棋)一樣,都是入門簡單膏蚓,精通難驮瞧。同樣的论笔,用一個(gè)技術(shù)作一個(gè)demo很容易狂魔,但要工程化最楷,成為一個(gè)真正有價(jià)值的產(chǎn)品很難管嬉。反過來蚯撩,一種技術(shù)和框架都是大公司或者創(chuàng)業(yè)團(tuán)隊(duì)從生產(chǎn)中得到了沉痛的教訓(xùn)烛占,從失敗中找到了向前的出路忆家,然后在將自己的技術(shù)突破共享出來的時(shí)候引發(fā)了一系列的變革芽卿。
2004年Google發(fā)布了MapReduce論文卸例,由此誕生了Hadoop并開始風(fēng)靡世界筷转;2007年Amazon發(fā)布了Dynamo存儲系統(tǒng)呜舒,讓我們知曉了如何通過線性擴(kuò)展的方式讓數(shù)據(jù)庫和應(yīng)用程序一起工作袭蝗,并導(dǎo)致了Cassandra到腥、Riak等數(shù)據(jù)庫的產(chǎn)生左电;2010年Twitter教會了我們?nèi)绾瓮ㄟ^客戶端模板讓服務(wù)器端變成一些簡單的API篓足,并引發(fā)了Web應(yīng)用的又一次大轉(zhuǎn)變栈拖。
從個(gè)人的經(jīng)歷上也有體會涩哟。在我第一份工作時(shí),面對一個(gè)上百萬行C++的產(chǎn)品時(shí)埃儿,我才真正去思考軟件架構(gòu)童番。如果不去改變剃斧,我后面的工作就會無比痛苦和乏味幼东。當(dāng)我出來創(chuàng)業(yè),做百草軟件娜亿,發(fā)現(xiàn)前端UI開發(fā)無比復(fù)雜买决,產(chǎn)品早已慢性中毒督赤,如果不去改變躲舌,那我們的理想永遠(yuǎn)不可能達(dá)成没卸,創(chuàng)業(yè)也只是個(gè)笑話约计。
所以煤蚌,一個(gè)程序員要有長進(jìn)筒占,要有突破翰苫。必需要在產(chǎn)品壓力下农尖,如有限的資源盛卡,可控的風(fēng)險(xiǎn)滑沧;面對異常復(fù)雜度滓技、困難度下去挑戰(zhàn)膝昆,去突破荚孵。不是風(fēng)輕云淡、無比愜意判没,也不是牛仔一般的亂打亂砍。你最終做的事摊阀,是要有價(jià)值的胞此,要對自己或別人負(fù)責(zé)夺蛇。做框架要對程序員負(fù)責(zé)刁赦,做產(chǎn)品要對客戶負(fù)責(zé)。
跟著精英牺氨,虛心學(xué)習(xí),學(xué)會思考
人類到了這個(gè)時(shí)代郊霎,都是復(fù)雜問題,很難有天才可以無師自通庄撮。16世紀(jì)可能有自學(xué)成長的數(shù)學(xué)家,但了20世紀(jì)已經(jīng)不可能了烙如,一個(gè)數(shù)家家一定是另一個(gè)數(shù)學(xué)家?guī)С鰜淼摹M瑯拥呐且纾绻阆胍谲浖幊汤镱I(lǐng)域里成長站粟,只有一個(gè)條路:跟著精英,虛心學(xué)習(xí)切诀,學(xué)會思考。最后一定在要復(fù)雜生產(chǎn)環(huán)境下磨練翘单。
以成敗論英雄
在軟件開發(fā)領(lǐng)域里貌亭,以產(chǎn)品成敗論英雄最好锄奢。懂再多,是餃子在水壺里,倒不出來都是白搭栏账。大凡牛人甚垦,如Linus涣雕,有l(wèi)inux男杈,git為證旺垒。如Ray Ozzie以Notes為證肤无。張小龍先蒋,以foxmail, 微信為證。所以宛渐,虛心一點(diǎn)竞漾,直到我們拿出象樣的產(chǎn)品。