喬布斯的成功說明了什麼

前言

好久沒有寫過日記和博客了。換了新工作,每天累死累活,不過過的還算充實,這個季度終於稍微輕鬆點了,忙碌慣了突然閒下來總有一種無所適從的感覺。
前兩天朋友圈有人分享了一片文章講的是微信創始人——張小龍的故事,文章讓我印象最深的是結尾部分,只用了兩句話:

在知乎上,有人問:喬布斯的成功說明了什麼?
張小龍答:說明純粹也能成功。

作爲一個純粹的屌絲,我並沒有夢想有一天能和喬布斯、張小龍這類大神比肩,因爲我沒有他們純粹,沒有他們執着,沒有他們那種執着到近乎病態的精神!
這類安迪似的大神貌似只要按照一定的規律走下去就必定可以成功。時間會磨滅人的夢想,如果一開始就沒有夢想,時光會磨滅掉什麼呢?自從離開上家公司後,我就一直想着總結下自己“上一階段”,階段性的總結是幾步的前提。

利弊

作爲一個已經離職的員工對老東家“評頭論足”總是不太好的,我對上家公司唯一的評價就是“成也蕭何敗蕭何”,它依賴於國企夥伴成功崛起,但是最終也會敗在與體制化夥伴的合作道路上。我在上家公司並沒有學到太多高深的東西,並不是說它的技術不行,而是限於水平原因,大公司的小職員總是會被成熟的框架和工作流程給限制住思維的發展空間。大樹底下好乘涼,但是大樹底下也難長出新樹。

收穫

任何事情只要做了都會有收穫,老東家教會了我基礎以及如何做“大”的軟件。千里之行始於足下,所有技術大神們都有兩個共同點:1.紮實的技術基礎;2.對“新”技術的孜孜不倦的鑽研精神。在老東家工作的時候,我的主要工作方向是兩方面:1.Java Server開發;2.輕量客戶端研發。後端Server的研發用的已有的框架,前端的技術是我們一批菜鳥去搞的,研發過程經歷了 :框架 -> 去框架 -> 使用新框架的過程。不管哪個階段,具備紮實的基礎開發都能快速上手,萬變不離其宗,有了紮實的基礎也就具備了練就萬劍歸一的前提。

基礎:成爲大神的前提

如果說我的老東家已經步入了黃昏,那新東家完全是一個新生兒,它朝氣蓬勃,各路大神雲集。當然大家的水平也是參差不齊,新公司的發展很快,技術迭代週期很短,基礎紮實的能很快適應,基礎薄弱的總會深陷泥潭。我們不斷的說基礎,那什麼叫基礎?知道Java裏面Int、Long各佔多少字節?還是知道什麼叫面向對象?Java的集合類有多少接口多少實現?什麼樣的才叫基礎紮實?

解釋這個問題前,我們不妨反思下,我們會如何評定一個程序猿的Level呢?很多時候,我們發現同樣一個功能,交給兩個人來做會得到兩種完全不同的實現。對於兩個水平相當的人來說,我們可以認爲這是兩個不同的編程哲學。但是對於兩個不同Level的來說,我認爲這就是基本功的區別了。

舉個簡單的例子,做Java的沒有不知道Java泛型的,但是有很大一部分人並沒有真正理解Java泛型。如下面的代碼,只是知其然但是並不知其所以然,完全沒有理解Java爲我們提供泛型的意義和實質。

public Map<?,?> getResult(){}
User u = (User)userMap.get("user");

從基礎到進階

基礎是一個很廣義的定義,馬克思教導我們:量變會產生質變。基礎好了自然也就上升到了專家水平。仍以上面的例子舉例,當我們真正理解了Java泛型,我們就會去思考爲什麼Java是僞泛型,C++的真泛型是怎麼做到的?泛型只是個語法糖,那麼Java編譯爲Class文件後會是什麼樣子?JVM是怎麼在運行時幫我們定位到我們到底要調用哪個類的?(運行時綁定的實現),漸漸的我們就學習會了思考。學會了思考,基礎也就慢慢紮實了,甚至,我們會從語言的設計者(神也是人)的角度考慮爲什麼要提供這麼一個特性,這個特性我們應該怎麼運用(逐步的昇華爲程序設計者而不再是Coder)。明白了這些,我們回頭再去看那些框架就明白框架設計者爲什麼要那麼用了,他是爲了提供程序性能還是爲了讓框架更易擴展?甚至我們就可以去設計框架了。

結束

一個菜鳥的反思就到這裏了,每當你掌握了一門技術後,不妨問問自己是否真的對那門技術的實質了。現在的水軍就是寫過兩個Hadoop程序就宣佈自己精通“大數據”編程;用過了Redis就號稱熟悉Redis,實現了Web 登陸就號稱精通Java Web開發。

做爲一個菜鳥程序猿,爲自己規劃一條路,一步一個腳印,磨刀不誤砍柴工,看一本《Java編程思想》可能會花費你一個月的時間,但是收穫會是你看十本《Spring框架實戰》《SSH整合開發》。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章