訪談方立勛:開發者應該保持好奇和熱情
方立勛,現任黑馬程序員CEO,傳智播客副總裁,著有《Java郵件開發詳解》和《深入體驗JavaWeb開發內幕—高級特性》,專注于IT教育,學員遍布全國各地,幫助近萬人走進軟件開發行業。
以下為小編對黑馬程序員CEO方立勛的訪談內容:
小編:請介紹下您的學習、工作經歷和技術背景
方立勛:
進入IT行業,我算是起了個大早趕了個晚集。
97年大學畢業,在自來水行業呆過幾年,
2003年才進入IT行業,
2005年出版了《Java郵件開發詳解》和《深入體驗JavaWeb開發內幕—高級特性》,
2006年和已故的張孝祥老師一起創辦了傳智播客,
2010年和中關村軟件園、CSDN一起創辦了黑馬程序員訓練營。
現任黑馬程序員訓練營CEO。
小編:回顧您的經歷,能和大家分享一些深刻有趣的事情么?
方立勛:
我覺得有意思的是,這個行業每10年就有一次革命,90年代的桌面程序、00年代的web興起、10年代的移動互聯網、大數據,下一個10年會是什么呢?所有IT人都在不停的學習,在這個行業最不用擔心失業,這是一個年青人的行業,我接觸到的企業談論得最多的也是人才問題,這個行業好像永遠處于人才饑渴的狀態,而這個行業也是撬動其它行業變革的行業。這是一件很有意思的事情。
小編:您在什么時候開始學習編程語言?接觸的第一門語言是什么?覺得編程學習的重點是什么?
方立勛:
我記得第一次接觸編程語言好像是basic,第一次深入學習的編程語言是FORTRAN,大學學的是工程方面的專業,FORTRAN適合處理大量的數值運算,這門語言現在了解的人可能比較少。
要說編程學習的重點,程序語言最精華的地方在于語言的原理,其實一門語言最基礎基本原理并不多,但它們卻可以被用來構造出許許多多紛繁復雜的概念。但是人們往往忽視了 簡單原理的重要性,喜歡追求最新的,復雜的概念。卻沒有注意到,絕大部分最新的概念其實都可以用最簡單的那些概念組合而成。而對基本概念的一知半解,導致了大部分程序員看不清編程的實質。如果你看不透這些東西,就會被它們蒙蔽住。
很多開發人員并不真的懂得程序語言設計的原理, 我個人體會軟件開發是一門實踐性很強的學科, 學習過程中,知識點不能人云亦云,要多寫demo驗證,多想想為什么?不這樣做行不行?能不能做得更好?其實很多知識都是觸類旁通的,學習過程中你經常會發現,一點通了一個面也就通了。再一個就是保持足夠的好奇心和熱情。有這些就可以成為一名優秀的工程師。
小編:據知,您精通C/C++/VC++、VB、JAVA等編程語言,Oracle、MySql和SQL Server等各種主流數據庫系統,對J2EE也有深入理解,尤其是對Java安全和以Java語言為基礎的各種框架有深入研究,在學習這些語言時,有沒有出現混亂的情況?應該注意哪些問題?學好這些語言有什么好的方法么?
方立勛:
各個語言側重點有所不同,語言之間并不沖突。開源框架同樣如此,關注它們的側重點和深入研究他們之間的原理,就不會感覺混亂了。
專注于“精華”和“原理”。
人們往往忽視了簡單原理的重要性, 沒有注意到,絕大部分最新最高深的技術其實都可以用最簡單的那些原理技術組合而成。而對基本概念的一知半解,導致了他們看不清那些復雜概念的實質。
至于學習語言最好的方法,就我的觀點,首先可以從C入門,然后學習java,畢竟大部分的公司用的是面向對象語言。如果你真的學會了C語言,就會發現面向對象語言已經易如反掌。你會深刻的看到面向對象的本質以及它存在的問題,所以你會很容易的搞清楚怎么寫面向對象的程序,并且會發現一些竅門來避開它們的局限。你并不需要學習它們的所有細枝末節,而只需要學習最精華的部分。所有剩余的細節,會在實際使用中很容易的被填補上。再就是應該是去閱讀一些優秀的源代碼,比如一些開源框架的源代碼。我感覺這是提升自己能力,深入了解一門語言最快捷的方式。
小編:作為一名優秀的開發者,您覺得需要哪些品性素養?
方立勛:
人基本的品性素養就是一個優秀開發者必須具備的的品性素養,如果一定要說這個行業需要什么特別的品性素養的話,我覺得就是足夠多的好奇心。最近和一位朋友聊關于知識管理方面的話題時,有一句話也很有意義“知識只有分享才會創造價值”,我覺得這句話對開發者尤為重要。
小編:移動互聯網時代,需要不同的平臺,您覺得,Android的未來是什么樣子呢?
方立勛:
固步自封遲早會走向沒落,開源分享才是王道。歷史已經證明了這點,可以預計android將來會越來越深入到人們各個生活細節,包括智能家電、現在討論得很火的穿戴式設備等等,我可以說是android的擁鱉,android的未來我非常有信心。
小編:現在Android開發門檻越來越低,市場上對Android 開發的需求也很大。但是,開發者覺得工作崗位少,找到一份合適的工作比較困難,您怎么看待?
方立勛:
其實不是android如此,任何技術都是這樣。一門技術會的人越多,你就會發現學習門檻也就越低,根本原因是因為分享的人也越多。
至于您所說的:“開發者覺得找一份合適工作還是困難的”這個問題我曾經調查過,這其實是一個相對認識的問題。前幾年android人才奇缺,一部分想轉型的java開發人員自學幾天android就可以找到了一份android工作,這形成了android工作好找,android容易學的認識。
隨著android技術的發展,企業已不再是需要入門級的程序員,而是要求對android原理、認識比較深入的開發人員。因此兩相對比,從極易找到工作到要求提高,容易引起android工作難找的印象。其實android開發崗位近幾年一直在增長。這點黑馬程序員畢業學員身上體現尤為突出,現在畢業班的就業速度比11年、10年那會還要快,畢業一個月基本上80%的同學就上班了。所以不存在android工作難找的問題,還是對android技術掌握程度的問題。
小編:您在技術開發這條路上已經行走很多年了,這一路過來,最大的感悟是什么?
方立勛:
其實三年前我就已經脫離開發,主要從事管理工作了,但現在只要有空余時間,還是很喜歡去一些開源社區看看。要說感悟,最大的收獲是要在這個行業取得長足發展,你必須真正去喜歡編程,嗯,就是喜歡。
至于轉型的原因:
第一:國內軟件業的發展至今,對于開發者來說工作性質簡直類似于IT民工,編程已經成了體力勞動而不是腦力勞動。工作重復性很高,可以說幾乎沒有什么技術含量。既然沒有什么技術含量,新程序員工資又比較低,這樣,老程序員不得不轉型。
第二:真正的想做有良心的技術培訓事業, 這是我們多年來的一個軟件培訓強國的夢想和希望,幫助那些"有潛力,但沒有機會和環境去改變自己,一直在苦悶彷徨中走彎路、最后只能自甘墮落、浪費青春"的年輕人,因為我就是從這種人生經歷中走過來的,在人生最寶貴的青春年華階段,我有著一腔熱情想做點事,但能力總是不夠,又得不到給人打下手學藝的機會,無法找到事業發展的起點和支點,最后只能足足瘋狂地打了4年麻將,當時周圍的人大多也是如此在消磨青春,這是人才資源的一種極度浪費,我對自己揮霍青春的痛有著刻骨銘心的后悔,所以想去幫助那些與他年輕時有相似想法和苦悶的年輕人。
小編:您現在是如何分配自己的時間,典型的一天怎么過?
方立勛:
典型朝9晚5的生活,現在大部分時間用在公司管理、團隊建設上。偶爾打打球、爬爬山。