來源:赫爾米娜的小宇宙 作者:赫爾米娜 2018-06-14 10:50:57
背景介紹:
Paul在牛津大學獲得了哲學、政治學及經(jīng)濟學學士學位后,曾在微軟,sybase,Hyder和QA培訓等公司做軟件以及技術(shù)培訓工作。目前他是專業(yè)技術(shù)培訓公司Mallon Associates的董事,并總管一家跨國金融服務(wù)公司的全球技術(shù)培訓生項目。
你從當初自學編程到現(xiàn)在運作和掌管貴公司的專業(yè)技術(shù)培訓業(yè)務(wù),并總管一家跨國金融服務(wù)公司的全球技術(shù)培訓生項目,這其間經(jīng)歷了多少年?
初中時學Basic的經(jīng)歷不算在內(nèi),我第一次正式學習編程是在1992年到1993年吧。
2013年的時候我成為我們公司的首席培訓師。
2015年起我開始負責我們最大的客戶的全球技術(shù)培訓生項目。
這樣算下來20多年吧!
我知道C++之父Bjarne Stroustrup請你喝過酒。
有很多人好奇你和Bjarne是怎么認識的。
我從是2003年開始為我們最大的客戶提供技術(shù)培訓服務(wù)的。
在我的職業(yè)生涯中讓我特別驚喜的一個事件就是2013年的時候Bjarne Stroustrup加入了該公司。
那之后我有過幾次和他面對面交談的機會。
能和我心目中的偶像聊生活和技術(shù)實在是太興奮了!
你本科所學的專業(yè)是PPE(Philosophy, Politics and Economics哲學、政治學及經(jīng)濟學),它和計算機編程并沒有多少關(guān)系。
你是怎么想起來要自學編程的?
你的第一份編程工作是怎么得來的?
1992年到1993年我在牛津讀書的時候突然生了一場重病。
當時為了方便治療我不得不離開牛津回到家鄉(xiāng)。
回到老家看病的那一年里我要養(yǎng)活自己所以不能無所事事(本文作者注: 在英國大部分年滿18歲的人都自己工作掙錢不再依賴父母。除少數(shù)情況外,住在父母家的成年子女要給父母交房租和分擔水電等生活費用。)。
看病之余,我需要找一份全職工作。
我的一個朋友當時在一家公司的技術(shù)部門工作,他的推薦幫我贏得了一次面試機會。
那次面試很順利,那之后我就開始邊工作邊學習。
我記得最開始學的是兩門語言,Visual Basic for Application和C++。
我當時的工作內(nèi)容之一是在excel里面用VBA編程。
可是如果你之前并沒有學習過編程的話,你是如何通過那次面試的呢?
我當時用了一個周末做了一些準備。
一個周末?
是的。
你已經(jīng)做了很多年的專業(yè)技術(shù)培訓,到現(xiàn)在你總共掌握了多少種編程語言?
我數(shù)一下。
Java,Scala,Perl,Python,JavaScript,C,C++,C#,SQL MDX,SQL的各種版本,Q,VB,F(xiàn)#,F(xiàn)orte,swift和ObjectiveC。
十六種?
差不多吧。
下面我想是程序員們最關(guān)心的一個問題了。
當客戶要求你提供某種你原本不熟悉的編程語言的培訓時,你是如何做到在非常短的時間內(nèi)掌握,甚至能夠給有過實際使用該語言工作的學員授課,讓他們從中有所收獲的并得到他們的好評的?
你有什么特別的學習方法嗎?
我覺得學習編程語言和學習任何一門人類語言一樣,你不能只是被動學習,你必須主動使用。
僅靠一本入門書學習語法并能寫出一句可以編譯通過的語句是不夠的。
我會給自己布置題目,選擇一些有趣的小項目,然后用這門新語言實現(xiàn)。
在項目的選擇上你有什么考量嗎?
我只選擇自己已經(jīng)用其他熟悉的語言做過的項目,這樣可以把未知因素降到最低。這是其一。
其次我會根據(jù)要學的這門語言的特點去選擇最合適發(fā)揮該語言優(yōu)勢的項目。
比如說Scala是一門函數(shù)語言,我會選擇一些和數(shù)字處理相關(guān)的項目,而不會用Scala去做一個用戶界面。
通過實際做項目來學習是個非常好的主意!
除此之外,你還有其他的學習途徑嗎?
學習編程語言和學習一門外語是類似的,在你著手寫代碼同時你也要學習如何閱讀別人的代碼。
就像你不會僅僅學了某門外語的基礎(chǔ)單詞和語法就立即去寫作文一樣。
你要花大量的時間去精讀和泛讀經(jīng)典的作品,有了足夠的輸入才能自己有所輸出。
你這樣一橫向比較就很清楚了。
學英文的時候,我們是從第一天就開始閱讀簡單的課文,然后在學習的初期,中期和所有的學習過程中要始終堅持閱讀。
是的。
像要學好英文必須持之以恒地閱讀原汁原味的英文作品一樣,程序員必須堅持閱讀他人的優(yōu)秀代碼。
我一直奇怪為什么人們學習編程的時候就把這一點給忽略了。
是不是有些程序員水平提高得慢也和平時工作中光寫不讀有一定的關(guān)系?
要做到不停地進步就必須堅持閱讀優(yōu)秀的代碼對不對?
那你一般是從哪里去找合適的代碼來讀的呢?
假如你所在的公司需要你學習一門新語言好做一個新的項目,或至少你有相應(yīng)的權(quán)限,那你就可以直接閱讀公司內(nèi)部已經(jīng)上線的工作代碼。
工作代碼的質(zhì)量雖然良莠不齊,但通過閱讀你會慢慢體會到它們之間的差異,并從中學習。
相關(guān)推薦:
小升初試題、期中期末題、小學奧數(shù)題
盡在奧數(shù)網(wǎng)公眾號
歡迎使用手機、平板等移動設(shè)備訪問幼教網(wǎng),幼兒教育我們一路陪伴同行!>>點擊查看