知識是需要沉澱的;思想也是在不斷的學習、磨練中走向成熟的;而技術也是在不斷的創造中開拓的。
在《引出篇》中,我簡單的舉了一個身邊的例子,以及誇張的描述了一個浮躁學習的狀態。這些只簡單的點出了浮躁心態的表象,那麼現在讓我們來分析一些根源。
在《引出篇》的議論中,有朋友提到“軟件業的浮躁”一詞,也建議在“分析篇”中從這方面分析一下。有關“軟件業”之類的議論,在各大論壇或網站上比比皆是,有抱有積極心態的,有唉聲歎氣的,有發牢騷的,也有打抱不平的——但這些遠遠超越了本篇的主題,也超越了我作為一名開發者的眼光。
正如題目所說的那樣——“小議”。從自己說起,從自己的角度說起,從自己身邊更多的Java開發者說起。
其實,現實中,絕大多數開發者,都有或多或少的浮躁心態,真正能夠保持“穩重、矜持”的還是很少。因為在剛開始學習Java的時候,難免會走些彎路,走些錯路;在經驗越來越豐富的時候,也難免會因為一兩次的成功而驕傲。
接下來主要從三個方面闡述:
(一) 轉行中的浮躁心態
(二) 初學Java的浮躁心態
(三) 經驗越來越多,而引出的浮躁心態
(一)轉行中的浮躁心態
在Java開發者中,不乏有從其他領域轉行過來的。不論是因為自主轉行,還是因為公司轉型而造成的轉行。
1、從自主轉行說起
先從自主轉行說起吧,這主要包括兩類開發者:
一類是以學生為主的,特別是以學計算機軟件專業的為主。轉行時期大多在大三下或大四上,因為那時候要找工作了。這兩年,從java的就業形勢來說,還是比較好的。很多原先學vb,vc的就開始轉java了。 一類是剛剛工作的為主。轉行期,大多在畢業一兩年左右。具體表現在,工作一兩年後,發現所從事的行業越來越不景氣,所從事的語言越來越不好找工作,而這時候,java正在逐漸火爆起來。於是開始學習Java,為轉行或跳槽作准備。
從這些“自主轉行”的java開發者中,我們可以看出,轉行很大一方面是有“利益”驅動的。不論是為獲得一個好就業機會,還是為了獲取一份好的薪水。這個無可厚非,俺自己曾經學習Java就是因為為了就業。
但是正因為這樣,學習java很可能就帶有很大的“行業流行性”。比如現在很流行struts,就會有很多人剛接觸java,就開始一窩蜂的學struts,不論當時是否明白servlet,是否明白Java/io。
這種浮躁心態,很容易受外界環境影響。也很容易在後來的學習矯正,當然也很容易犯下面(三)提到的因為經驗越來越多而浮躁的錯誤。
有一句很哲理性的話,叫“我們生存在這個環境,為了生存,我們首先就必須適應這個環境”。面對這種浮躁心態,我們也許暫時只能說——“如果你有時間,請回過頭去,花些時間,看看Java基礎。哪怕只是業余的時間,抽空看看”
2、從公司轉型說起
然後讓我們來看看因為公司轉型而造成的轉行吧。
公司為了發展,轉型是一種較為正常的商業性行為,不論是從java轉到vc,還是從vc轉到Java。反正結局一樣,轉行了。下面讓我們來看看會存在什麼樣的浮躁心態。
最主要的表現在,經過簡單的培訓後,能用java開發,滿足公司應用了。這時候,開發者會認為java不過如此簡單:反正vc和Java都是面向對象,反正JSP和ASP都是編程,久而之久,這就心態就會蔓延,再結果就是不思進取。再加上很流行一種說法“重要的是思想,用什麼語言無所謂”。
面對這種情況,還有些不好處理的就是,受先前經驗的影響,一般人很難去勸解這類轉行者:舉個例子吧,比如你學習了java一年,你的一位轉行的同事先前做了幾年其他語言的開發工作,現在開始轉行java。這個時候,如果你如告訴他,該這麼學習Java,該注意這個那個。那麼你會獲得什麼呢?除了獲得別人的翻白眼,估計很難獲取其他的了(當然,如果運氣好,如果那位同事是個謙遜的人,說不定是另一番情景)
當然。對於一些很有扎實基本功,思想也很活躍的開發者來說。轉行java不過是用另一種語言而已。雖然Java的體系很龐雜,不過對於他們來說,了解或應用,只是時間問題而已。
(二)初學Java的浮躁心態
初學習Java的愛好者或開發者,大多數是比較虛心學習的。但是在學習過程中,很容易受到其他開發者誤導,或行業風向的影響,當然也會受到自己一些“急功心切”心理的影響。
1、 因為要學的太多,而浮躁的
Java現在的體系結構越來越龐大(與之相關的XML,web service也在飛速的發展),光J2SE就有十幾種core api,更不用說J2EE的應用了。一下子面對這麼多的api,很多初學者會面臨“如何起步,如何入手”的問題。而又有很多初學者,在學了一兩個api後,就開始“囫囵吞棗”的學習了。
很多人,在rmi都還模糊不清的時候,就去大談什麼ejb。在web app還不知道是什麼,就到處問“如何配置weblogic”。在論壇上,不乏這樣的人。
現在的Java的分支越來越多,有些api又可能有多種實現包。作為開發者,不論是初學者還是經驗豐富者,我們都不可能在短時間內,掌握所有(甚至大部分)。但是,現實中的應用,大多情況下,需要多種組件或api的組合,這又需要多方面的學習,而且需要在較短時間能夠將api熟練的應用。這時候就是扎實基本功和學習能力的體現了。
2、因為一兩次的成功,而浮躁的
在論壇上,經常會碰到這樣的問帖——“我學完了JSP,下面該學什麼”。其實,很多初學者,問這樣問題也是無心之失,也是對新知識的渴望。就像一個漂流在四顧茫茫的海中央,如果這時候沒有人指引,確實很難自己弄清楚該向什麼方向游了。但是,對於任何一個開發者來說,應該永遠不要說“學完了”。
可惜,現實中,存在很多的開發者,總在一兩次的成功後,變得越來越浮躁。
正如我在《引出篇》中所舉的那個例子,在用JSp寫了幾個頁面,就認為掌握了JSP;用jdbc會操作了數據庫,就認為差不多可以了;依葫蘆畫瓢寫個ejb,就自诩掌握了ejb的,大有人在。
(三)經驗越來越多,而引出的浮躁心態
如果這時候,還有些浮躁。真的有些遺憾了。
對於經驗越來越豐富的Java開發者來說,經歷了初學的動蕩期,應該都比較成熟穩重了。這時候還會造成浮躁的心態,我想最大的可能性就是一種驕傲心態的直接表現。
有關驕傲的話題,俺就不要說了吧。
面對這種情況,只能一句話了——“山外青山樓外樓”。
本來還想接著寫些有關“(四)學術氛圍誤導的浮躁心態”這一節的。可是想一想,有些自己也是含含糊糊,畢竟眼光還沒有那麼高的層次,也就打住了。
現實中,我想遠比我提到的情況要多,這些也僅僅個人的一些感想,難免有些思想不夠全面。如有言詞不妥之處,望斧正。
寫到這裡,想起了小學時候,前黑板的牆上總是貼著八個大字——“好好學習,天天向上”。
順便說一句,說這麼多“假驕戒躁”的話,不是讓大家太過於小心翼翼,也不是一定要按部就班的學習。現實中,未嘗不可以看看Java就學JSp。但是在學習新東西的時候,應該注意提醒自己“不斷的彌補基礎的缺陷”。這一段話,原本准備放在後續《勸導篇》中的。只因為在《引出篇》的議論中,有網友提到過這麼一句——“至今還沒有學習J2EE的部分,總覺得J2SE學得不好”。我想這樣的心態,也大可不必。縱然J2EE很多是需要構架在j2se的基礎上,但是未必需要將J2SE十幾個core api都搞通後才去學什麼J2EE api(比如JSP,servlet甚至ejb)。