無意中看到這篇文章,有些觸動,作為博客開篇,用來激勵自己。
原文地址:點擊打開
在撰寫此文前首先必須申明的是本人不鄙視任何一種框架,也無意於挑起PHP框架間的戰爭,更沒有貶低某個框架使用者的用意,本文純粹個人的看法。你可以認為我無知也好,或者裝逼也好,請不要試著在任何情況下,隨便發起言語的攻擊,這只是我個人的一些經驗而已,你可以選擇贊成或不贊成,也可以選擇看與不看。
還有本人基本對這些框架中的大部分都用的時間比較長,絕對不是隨便出個Hello World!就在這裡評論,曾任某某底層本土公司的技術總監,某某所謂巨頭公司的IOS架構師和PHP高級程序員,XX外資創業企業的項目經理,基本上在這些職位工作期間基本上對大部分這裡提到的PHP框架使用的都比較深入,也曾參與或主辦過這些公司的招聘,現在雖然在創業,但是人才需求也是按照本文來的。寫這篇文章的目的不在於跟閱讀者挑起任何語言戰爭,只是希望給正在路上的PHPER提供一條適合自己的道路,如果你要罵SB,請到其他處,OK?對你沒幫助你可以不看的。 好了開始我的分析吧。。。
這是一個PHP語言的入門時期,也許也是你編程生涯的開始,可能你在讀大學或者在培訓部培訓的初期,這個時候你正在吭HTML5,CSS3,JS,Jquery還有對於你現在來說最重要的,應該學的東西PHP+Mysql。這個是你建立好的雛形的良好時機,也是最容易放棄的最難時期,並且決定你後面所有的編程職業生涯,前提是你真的想從事編程職業。
常說的語言及做的事情:這個好難,太難搞了;我要考這個認證,對將來工作有幫助;找個單位實習下;接個項目練練手
對各種付費虛擬產品的態度(如付費課程,付費服務器等):買不起啊。。。學費都花了這麼多,我還是找免費的吧或者能不能便宜點啊
這個時候你已經從學校或培訓部畢業隨之而來的劣性發展成就了這個境界,這個境界的程序員占據了PHPER人數 40%以上。為什麼說是屌絲主義?經過前期的培訓部速成培訓(這個境界大部分是XXX100,XXX兄弟連等出來的),你基本掌握了一些國內的CMS的使用與二次開發,以及一些類似Thinkphp,Codeigniter,Brophp等低層次框架的開發,並且去一些不怎麼樣的所謂創業公司或者大部分去了一些企業網站制作公司做一些企業網站,小模塊,小系統的開發,然後你會說我好強大,認為PHP也就全會了,做了井底之蛙。。。崇尚quick and dirty。也就是這部分在國外不存在的人導致了PHP在國內長期被Rails,Nodejs等使用者鄙視。
語言行為及特征狀態:
看不懂任何英語技術,英語文檔,凡事沒有培訓部在搞的,只有英文文檔的東西國內一律沒大公司在用,都非主流,排斥英文文檔和新技術,以及各種超出他學習能力范圍的技術。
不知道的技術一律會說,這些技術沒有公司或者很少公司在用,誰要學。。。,大公司都是自己開發框架的。。。。
比如 Angularjs,Emberjs,Hadoop,Mongodb,Nodejs,Rails,Requirejs等有點極客的都沒聽說過,然後會認為Java,.NET這種是企業級,C語言算法才是王道,用的公司多,真正的高手用C擴展PHP的,我想說別他媽這麼屌絲好嗎,你個XXX,我想說請你睜眼看看世界,好嗎?別動不動別人說些你不懂的就說JAVA,C算法,數據結構這些,你懂嗎,你個屌絲一枚的。。。你的垃圾公司沒在用,不證明其它好的公司沒在用,不是大家都用TP和CI的,OK?就知道php+mysql了?
這部分人一般都是大學本科以上畢業,非培訓部速成。但是由於前期也是很薄弱,學校裡老師教的可能還不如速成培訓部的,所以除了觀念的不同,大部分實用技術不如速成培訓部出來的。但是觀念基本決定了後面走的路不一樣。這部分人當中大部分轉了IOS,Rails等技術甚至一大半都轉行了,甚於一小部分進入了PHPER行列。因為在學校英文都是過了一定等級的,看基本的英文文檔還是比較可以,再加上可能由於學歷限制去了一些比較還可以的公司,從基礎程序員甚至實習生做起,還可以的公司一般都會使用大量只有英文文檔的技術,比如我以前一個同事剛畢業的時候去應聘一個新美合資PHP工程師的職位,要求就是懂Agavi框架,還要懂前端的restful框架-backbone,其實那時候backbone剛出來還不錯的。然後就在試用期死啃這兩個框架,因為有大量比較散的中文文檔,所以終於吭懂了,以後看其它部分中英文都有點的文檔等基本也可以嘗試看看了,但是畢竟也能通過半英語學習了,然後進步都是很快。但是一個悲催的轉折點又來了,這時候就看你的選擇了。
是什麼轉折點呢?就是對某一個框架(這裡框架只是某種技術的狹義說法)出現了比較大的喜歡程度,而且這個框架也基本中文文檔不全,但是用的中小型有新意的創業型公司,外資企業,合資企業都蠻多的,薪資待遇也還不錯,尤其那些不能看英文文檔的人讓他獲得了優越感,再加上這些框架本身都是基於composer包,php-fig最新標准等發布的,並且學習使用也不是很復雜,深深的讓他喜歡上了此款框架,在這個時候基本上出於已經產生的西方主義的好奇心,他已經掌握了一些類似bootstrap,backbone等簡單的前端UI技術以及輕量MV*框架,這個時候也許真的是做什麼項目,只要是web,他都可以做了,並且出於中小型高端企業的要求,他需要會的還有Linux服務器的各種架設比如web服務器,郵件服務器等,這個時候基本上他如果有客戶資源自己都可以做產品創業了。所以轉則點就是他這個時候選擇不思進取(當然創業不算,因為創業者是最牛逼的),一直用他掌握的框架迅速的開發各種東西,還是學新的框架?如果是前者,將導致他永久的崇拜一個比較簡單的全棧框架,然後永久的等待這個框架的新版本發布,而不會轉移視線,更別說學新的東西了,這樣基本上升就很困難了,比如說用larvel框架,那麼別人跟你說zf2,sf2,你會說太復雜的東西不好,太復雜的東西不適合我。。。請改進一步吧,會有更尖端的東西等著你
一般這個境界的PHP程序員基本處於一種完美狀態了,基本上一個人能完成一個項目所有的東西,包括前端(前端可以設計的非常潮或者說fashion),後端,已經服務器的架設優化,包括雲計算底層的開發,各種虛擬化的東西,比如KVM等,基本已經掌握各種開發,但是開發經驗不一定就多,年齡不會超過30,基本會各種技術,移動,底層,前端,後端,mac,linux什麼的都可以拿起就玩,會用最屌的開發工具—emacs進行自己的編碼,崇尚完美主義,喜歡把用戶體驗和架構都做的一點瑕疵都沒有,比如一個顏色的調度課程都要花去他一整天的功夫,但是在團隊開發面前,更能發揮出這個境界的威力,因為還沒達到第五種神的境界,所以過於最求強大,不僅會帶來項目時間上的硬傷,也會給項目帶來超級大的成本花費,包括學員的學習成本,強大的框架需要的維護成本等等。適合在一些比較大的巨頭企業或者大公司或者外資創業企業做項目領導或者首席架構等職位,單論技術,已經在PHP方面可以算是很強大了。你需要會的是學習期至少一年多到兩年的symfony2框架,而不是幾天就會的laravel,所以花費的學習成本是極其大的,承擔的風險也大,一般在這個境界的PHP程序員,國內並不多,但是也不是很少,這個階段的程序員一般都是從其它編程語言轉過來的,比如rails或者nodejs或者Python等,但是java和.net由於本身就不符合極客的歷史潮流,轉換到PHP已經無法到這裡了,一般直接轉屌絲碼農境界去了。rails或node等轉過來的程序員一般都理解依賴注入,監聽器,過濾器等等技術面,並且node裡的npm和rails裡的gem與php的composer是一樣的,sf2和zf2的bundle機制也是與rails相同的,所以導致了rails程序員一轉3,4個月就會sf2的情況,再加上zf2和sf2本身沒中文文檔,所以必須是英文比較好的才能學會,尤其sf2,有book,cookbook,refenrencebook,componentbook,bundlesbook等等,而且必須用幾十個第三方bundle才能完成一個真正意義上的應用,復雜度是難以想象的,但是復雜的東西有其強大之處,比如
hwioauthbundle,fosuserbundle,fosrestbundle等,都是非常不錯的,fosrestbundle中根據group加載關聯推到rest,而不必全部加載關聯數據就是個很不錯的例子,而asseticbundle直接可以合並壓縮js和css,並且基於node的組件,更是把sf2的強大發揮的淋漓盡致,但是每個bundle的學習成本基本比學整個laravel4框架難度還大,而且全是github的wiki沒有任何中文,這就不但加大了技術學習成本也加大了語言學習成本,所以到達這個境界需要無比的毅力和探索的好奇心,兩者缺一不可。
請注意:這種境界必須經過前面的第四種境界才能到達
這個境界不必多說,相信仁者見仁,智者見智了。第二種境界的碼農會說這個連他們都不如,但是第四種境界的高手會對他們膜拜,只就是極客的魅力,只讓高手膜拜。微型框架之所以有這個效應是因為你學框架本身,一晚上就會,你要用的像個極客,也許難度早已超出你的想象,是第四種境界的好幾倍,比如你要restful,隨隨便便調用一下,symfony2的組件再通過組件調用fosrestbundle,直接就可以寫rest服務器了,如果你是菜鳥,就會直接返回json,這就是微型框架高明之處,神與菜鳥就一念之隔。不多說自己體會。只有一個比喻,還記得神雕俠侶嗎?第三種境界就是獨孤求敗30歲前用的鋒利無比的劍,第四種境界就是他中年用的也是楊過後來用的重80斤卻不開鋒的劍,第五種境界就是他晚年用的木劍,其實是回歸原始無劍勝有劍了,此時不需要什麼強大的了,微型框架各種引入(別跟我最後來一句牛人自己開發框架,OK?那是傻逼產生垃圾做的東西),都是神的。。。。。。。
只能說你的薪資不低於20k了,如果是這個境界,也可以自己選擇創業哦。