當前位置:
首頁 > 最新 > 程序員為什麼終究逃不過學英語

程序員為什麼終究逃不過學英語

說到英語,一向都是幾家歡喜幾家愁的事情。有的人從小到大考試就卡在英語,也有的人靠著英語賺了大錢。在中國,英語的重要性已經不用過多描述了,看看遍地開花的大大小小的英語培訓機構就知道。這裡我想描述的是,在 IT 領域,為什麼程序員一定要學好英語。

技術書籍

技術內容含量。可能國內大部分同學在一開始學習 C 語言的時候,都是那本譚浩強寫的綠皮書《C 程序設計》,學習 C++ 的時候也是譚浩強寫的那本紅皮書《C++ 程序設計》。雖然關於 C 和 C++ 的大部分知識點,裡面都涉及到了,而且如果認真學的話,用 C 語言進行工作也沒太大問題,但是直到我讀了 K&R 所著的英文原版《The C Programming Language》,才知道這兩本書多麼沒有可比性,語言組織、內容講解、與實際的結合,K&R 的書都遠遠領先,講解知識點的時候都是像講故事一樣娓娓道來,都會將現實生活的一些實際問題搬到相應場景進行融合,讓人看完之後有一種大徹大悟的感覺,更不會出現類似 i+++++i、a*b++–c 這種很讓人不解、在實際工作中從來不會用到的算式。這裡舉這個例子,不是說譚老爺子的書有多麼不好,畢竟筆者當年也是看著他的書入門 C 語言的,但是由此可以看出國內和國外 IT 教材存在著明顯的差距,畢竟國外的 IT 業發展領先我們很多年,別人的 IT 出版業自然也很是發達。

版本更新。現在很多標準都是國外製定的,比如 C99、C++ 11、OpenGL 等等,因此這些技術書籍就必須圍繞著這些標準來寫,所以我們可以經常看到國外的技術書籍一般都會更新很多版,因為標準每更新一次,都會將一些老舊的東西丟棄,然後一些更先進的技術又出來,因此相關的技術書籍也要圍繞著標準來進行內容的更新換代。但是國內的很多書籍一直只是基於老的標準編著,比如一些講解 OpenGL 的書籍甚至還是基於固定管線來講解。

翻譯質量。國外很多經典教材國內都有翻譯版,但恕我直言,這些翻譯版的大部分都是垃圾,語言組織生搬硬套,有的根本就讀不通順,甚至會有不少錯誤。當年筆者大一的時候借閱了一本中文版的《C++ 編程思想》,一個暑假就硬是沒讀懂,直到後來買了英文原版的《Thinking in C++》,才知道那本中文翻譯版真的是誤人子弟。再者很多國外經典的技術書籍,國內根本就沒有引進,或者引進的也是國外已經發行很多年的老版。

所以筆者建議對於經典的國外書籍,不要閱讀國內翻譯的,一定要讀英文原版,如果國內沒有引進,那就在網上去下載這些書籍的原版 PDF 文檔,一般都會有的。大家不要對閱讀英文版的技術書籍有恐懼心理,其實只要你去嘗試一下,你就會發現這些書籍對英語的要求並不高,比四級閱讀題簡單多了,而且生詞量不大,無非就是一些技術辭彙,但是這些辭彙見得多了,你也就忘不掉了。

文檔

開發文檔。從事 iOS 編程的同學都知道,Apple Developer 是每天必上的網站,關於 iOS 的各種功能開發文檔都在這裡。但是裡面的文檔全都是英文。雖然國內也有一些翻譯版的,但是就像技術書籍一樣,翻譯的質量可能並不是很高,而且 Apple 的文檔經常在更新,隨著 iOS 系統的每一次更新,一些老的函數介面會被丟棄,一些新的介面又會出來,所以那些老的翻譯文檔就沒有用了,這時還是得看英文的原版文檔。不光 iOS,只要是 IT 行業最新的技術,一般都是只有英文文檔,翻譯的文檔一般都是在官方文檔出來很長時間後才出現,但是這時官方文檔可能又有重大更新。比如最近一兩年很熱的 VR/AR 領域,開發工具一般都是 Unity 或者 Unreal 引擎,但是 Unity 的官方文檔只有英文,Unreal 之前也是只有英文,最近才更新了中文。還比如著名的 AR 開發庫 Vuforia,也是只有英文文檔,如果看不懂他們的文檔,根本無法用 Vuforia 的工具開發 AR 程序。再比如一些前沿的更有科技含量的技術,比如人工智慧、計算機視覺之類,一些技術都是最近時間新出來的,甚至都沒有相關書籍,那怎麼進行開發呢?看論文。論文也是進行開發的一個很重要的途徑,一些前沿科技論文都是老外大牛寫的,甚至國內很多優秀人才也都只會投國外期刊,如果想要進行高深前沿技術的開發,那必須先得看懂他們的英文論文。

協議標準。搞過通信設備協議開發的同學都知道,每個協議都有一個叫做 RFC 的東西。這個 RFC 是什麼呢?RFC 的全稱叫 Request For Comments,每一個通信協議的報文定義、流程組織、狀態機等等都是由 RFC 來定義的,對於每一個協議來說,全世界都是統一的,這樣兩台處在不同國家的計算機才能進行正常的通信。因此在進行協議開發時,必須要參考 RFC 文檔。那 RFC 使用什麼語言寫的?英語。雖然 RFC 2026 規定允許 RFC 翻譯成其他不同語言,但是不能保證其翻譯的準確性,因此 RFC 編輯者並不對非英語的版本負責。而且很多路由協議,一個功能可能就是一兩百頁的 RFC 文檔,比如 MPLS、OSPF 等等,如果英文不好,那看著這幾百頁的 RFC 估計會吐血。所以,在通信的協議開發領域,英語是非常重要的。

Datasheet。做過單片機或者晶元驅動的人一定對 datasheet 不陌生,每種單片機和晶元都有自己的 reference manual 或者 datasheet,定義了這些單片機和晶元裡面每種管腳的定義、每種匯流排的用法、每種時鐘的控制、每個功能的脈衝等等。這些單片機和晶元大都是由國外的晶元公司研發製造,所以自然他們的文檔也只有英文。如果英文不好導致看文檔時理解錯誤,說小了可能只是功能出不來,說大了可能價值幾千幾萬的開發板和晶元會毀於一旦。

大家也不要對看技術文檔和論文抱有恐懼心裡,這不是看英文小說和新聞,不需要掌握大量辭彙,你可能感覺到生僻的只是一些技術辭彙,但是看多了也就記得住了。

搜索引擎

當你遇到了一個不懂怎麼解決的 bug 需要去諮詢,你可能第一時間找的是搜索引擎。什麼,你用的是百度?這已經暴露了你是個不太合格的程序員。「百度一下,你就知道」,這在 IT 界就是個笑話。用百度查技術方面的東西,查的很是讓人心累,不是搜不到,就是搜到的東西解決不了自己的問題,甚至有時候前半頁全是廣告。那用什麼?Google。之前看到過一句話:「Google + 程序員 = 超級程序員」。這句話當然言過其實了,但是也反應出了 Google 解決問題的效率。用 Google 搜索一些出現 bug 的字元串,第一頁基本就能解決問題,而且很多情況前幾項一般都是 Stack Overflow 網站上的相關信息。Stack Overflow 是國外的一個專門用於程序員問答的網站,用於解決程序員碰到的問題,你在開發過程中碰到的 bug 別人一般都碰到過,而且一般在 Stack Overflow 上都有詳細的解答。Stack Overflow 有中文版么?對不起,沒有。全都是英文。所以你想快速的解決你在開發過程中碰到的問題,用 Google 去搜索 Stack Overflow 吧。不僅如此,在一些社區論壇上也能碰到很有知識含量的內容,老外對於社區貢獻是很活躍的,而且不少社區有貢獻度,這簡直就可以當自己簡歷的濃墨異彩,比如 github。還有一些專門的技術博客網站,對各個方面會有很詳細的教程,比如 raywenderlich 這個網站,就有很多高質量的關於 iOS、Mac 和 Unity 方面的文章。但是眾所周知,Google 在國內是登不上的,Stack Overflow 有時也是如此。那怎麼辦?

外企

可能大家都覺得進入外企是一個很光鮮的選擇。有時候確實如此,特別是對於 IT 行業的外企。國內的 IT 公司大多都要加班,而且隨著某些大廠的狼性文化,IT 企業的加班變得理所當然了,貌似不加班就不叫搞 IT 的了。但是歐美外企裡面很少有加班的,即使碰到緊急任務需要加班,也是調休,或者 1.5~3 倍的工資。不僅如此,國內外企的薪資待遇也是很可觀的。雖說外企也有其局限性,比如工資漲得慢、傳統節日不放假、不穩定等等,不過相比於其優勢,能進入 IT 外企還是很不錯的。那進入外企的一般步驟是什麼呢?筆者之前接觸過兩個 IT 外企,大致過程如下:

首先是獵頭給你打電話,問完基本情況後會要求你在電話里做一個簡單的英文自我介紹,之後獵頭覺得合適後,就會將你推薦到相應外企;如果是自己找崗位投簡歷,那麼在招聘網站上外企的相關崗位介紹也是全英文的,看不懂怎麼投啊。

進入到面試環節後,首先是技術面試,這時一般都是國人自己面,因為在國內的外企裡面工作的大多都還是中國人,只有少數管理崗位是老外。

技術面試通過後,外企的 HR 會單獨和你進行全英文的交流,一般這個交流在 20~30 分鐘左右,主要是詢問你自己的一些個人發展和做事態度,因為是全程英文,所以如果口語好的話,會給你加不少分。但是如果口語沒那麼標準,沒關係,只要表達得順暢、別人能聽懂就行了,印度人的英語口音也不地道,但是照樣用英語日常交流。

HR 面完之後,就會有相關的管理崗位的人員與你進行面試或者電話面試,這時一般是老外與你對話,所以英語也是必須的了。如果這一面通過之後,恭喜你,已經成為 IT 外企的一員了。在外企工作的時候,與裡面的同事交流大都還是中文,國人自己之間用英文交流多沒必要啊。但是所有的文檔、郵件、包括姓名,都是全英文的。

由此可見,想要進入 IT 外企,英語這一道關必須要過。口語不好沒有關係,但是意思一定要表達完整、清楚、能讓人明白,包括入職之後的書面交流。當然口語好是個很好的加分項。

YouTube

在這個信息爆炸的時代里,流媒體是一種很重要的獲取知識的工具,有時候觀看視頻講解是入門一個領域比較快速的方法。通過別人的視頻講解,能展現一些書上無法展現的東西,比如代碼運行的結果等等,還能通過別人的總結,能讓你快速的搭建起某個領域的知識體系,甚至有些知識根本就沒有相關書籍,但是別人通過視頻可以講解得很透徹。所以有時候視頻講解很有用。那什麼網站看視頻比較方便呢?YouTube。別跟我提那些國內的諸如優酷土豆之類的視頻網站,這些國內的視頻網站貌似都有一個趨勢—泛娛樂化,只有那些火爆的綜藝、電視劇才能吸引眼球,關於一些編程之類的教學視頻少之又少。而且別提那噁心的廣告了,看 10 分鐘的視頻要先看 2 分鐘的廣告,而且看到一半還要強制進入廣告時間。但是 YouTube 不一樣,雖然也有開頭廣告,但是一般 4、5 秒之後允許你選擇跳過,更關鍵的是上面有海量的關於 IT 知識的教學視頻。筆者的 OpenGL、Python 搭建網站、Unity 相關知識就是在 YouTube 上學習的。YouTube 上的視頻講解一般都是全英文,所以很考驗聽力水平,但是還好,這些視頻不是電影,所用的辭彙都很常見,聽力好的話一般都能聽懂。如果實在不好也沒關係,YouTube 上有字幕按鈕,點擊後視頻下方會出現自動翻譯的字幕,字幕語言最好選擇英文,因為一般都是根據語音即時翻譯的,所以如果選擇中文的話可能會很不通順。而且很多開發工具都選擇 YouTube 作為官方視頻講解平台,比如 Unity、Vuforia、Unreal 等。

出國

讀書。歐美國家 IT 界的發展速度以及開發環境讓很多學計算機之類專業的學生都夢想著出國。想要去歐美這些地方留學的話英語必須是要過關的,美國大學的話一般是看托福成績,但現在一些美國大學也接受雅思成績,想要讀美國 Top100 大學的研究生的話托福成績最低要過 79 分的線,雅思成績最低要過 6.5 分的線,英國 Top50 大學的研究生雅思最低一般也是 6.5 分的線。好多學生為了適應語言環境,還要在正式上學之前,先讀一年預科。由此可見,想要出國讀書,不管是哪個專業,英語這一關是必須要通過的。筆者也見過工作了好多年的人為了轉變工作環境,也要出國念書,這時還在頂著上有老下有小的壓力在苦學英語為了過托福或雅思的及格線。

工作。再來談談工作,可能很多程序員都很羨慕歐美的 IT 企業,很少加班,注重流程,尊重人權,彈性工作制,無限期帶薪休假,待遇超級好,所以能到國外的 IT 公司,比如進入諸如 Google 或者 Microsoft 這樣的巨頭公司工作,對你未來而言,那每個月的薪水基本上就不算什麼了。那怎樣能進入國外的 IT 公司工作?幾種方法,留學,技術移民,公司外派。但無論是哪種方法,首先還是得過英語關,留學要托福雅思,移民要考核英語,公司外派更是如此。所以想要出國從事 IT 方面的工作,英語是必須要學好的。

程序員學習英語的方式

那說了這麼多,既然英語對於 IT 行業的人來說如此重要,那怎麼才能提高英語水平呢?這方面的文章網上太多太多了,大家可以去知乎或者論壇上去搜索一下這方面的文章,相信大家都會從中獲得不少啟示。這裡筆者想描述的,是怎麼從 IT 行業的學習工作環境之中來提高自己的英語水平。

選擇英文原版教材

對於一些很經典的 IT 書籍,請選擇國外的經典教材,而且請務必選擇英文原版,如果國內沒有英文影印版之類銷售的話,到網上去下載相應書籍的英文版 PDF,一般都會有的。選擇英文教材的原因之前已經說過了,有以下幾點:

翻譯質量。國內翻譯的教材,很多由於翻譯人員水平的限制,會造成很多地方語法不通,甚至有不少錯誤,有的翻譯教材甚至為了趕進度會刪減一部分內容,這樣會給閱讀者對內容的理解造成很大影響;

內容更新。IT 界的知識更新換代很快,有的常常是一年出一個標準,這時就會造成一些教材在經常更新內容。但是國內的翻譯速度往往是跟不上的,因此會造成國內翻譯版的教材與國外的原版教材內容上的脫節;

有很多很好的教材國內根本就沒有引進,也不會有翻譯版,因此遇到一些實際工作中的問題手頭沒有一本好的工具書,只能去搜索一些博客信息;但是只要去上網搜一下,就會有相關方面的英文 PDF 文檔可以參考;

閱讀這些英文原版教材,也可以增進你的英語能力嘛,多學一些專業辭彙總也是個好事情。

不要對這種全英文教材有一種懼怕心理,生怕自己讀不懂之類的。不要緊,你先去嘗試一下,嘗試過讀幾頁之後你就會發現這些原版書籍對英語的要求還遠沒有達到四級閱讀的水平,生詞不是很多,出現比較頻繁的可能就是一些專業術語,而這些專業術語也是你以後要經常遇到的,這時見得多了以後就不會忘了。

下面列出常用的經典技術書籍,關注我主頁的公眾號後回復 「郵件地址 + 書名」,我會在第一時間將相應書籍的 PDF 文檔發到你指定的郵箱。或者你還需要其他書籍也可以給我留言。

C:《The C Programming Language》

C++:《C++ Primer》,《Thinking in C++》

Python:《Core Python Programming》

C#:《Illustrated C#》

計算機網路:《Computer Network: A Top Down Approach》

數據結構:《Data Structure and Algorithm》

計算機圖像:《Interactive Computer Graphics:A Top-Down Approach with Shader-Based OpenGL》

計算機視覺:《Computer Vision A Modern Approach》

OpenGL:《OpenGL SuperBible》, 《Opengl Programming Guide》

OpenCV:《Learning OpenCV》,《Programming Computer Vision With Python》

用英文版的操作系統和開發工具

由於身邊沒有一個好的語言環境,天天面對的除了代碼,都是漢字,那麼給自己刻意製造一個語言環境就很重要了。那怎麼製造英文語言環境呢?就從自己天天使用的工具入手,操作系統換成英文的,編程工具換成英文的,文本編輯工具也換成英文的,總之,你每天使用頻率最高的軟體,能換成英文的盡量換。這樣會給你帶來不少好處,首先,操作系統和軟體不是英語文章,所用的辭彙量就是那麼多,很固定,天天看天天用,以後想忘記都難;然後,熟悉這些環境了,以後如果需要閱讀英文的技術文檔或者文章,你會感到很熟悉,因為很多專業辭彙自己都認識,而且天天在英文環境中進行開發,會給你帶來心理安慰,讓你碰到大段的英語文檔時不再恐懼。所以,今天就把操作系統語言換過來,以後下載軟體不再去搜索 「中文破解版」,要下也要下 「英文破解版」 嘛,當然,還是支持正版軟體的~!

上英文論壇

國外的技術論壇有很多,上面潛伏著很多大牛,每天在無償的替別人解決實際問題,比如專門的程序員問答網站 Stack Overflow,專業的知識問答網站 Quora,技術博客 raywenderlich,著名的代碼社區 Github,熱門問答社區 Reddit。如果你每天花點時間去這些網站瀏覽一下別人的經驗或者回答,相信你會從中得到不少啟示。不僅如此,這也是提高你英文閱讀水平的一個很好的方式,特別是 Quora,很多英語學者都推薦每天上 Quora 閱讀相關回答,不僅可以獲得很多專業性的指點,提高知識水平,也能鍛煉英文能力,一舉兩得。而且針對每種開發工具,國外都有很專業的社區,來專門解決工具使用者的實際問題,比如 Unity、Unreal、Vuforia、Xcode 等等,在上面提出你的問題,馬上就有專業的人來答覆你怎樣解決。所以在以後的開發過程中,碰到問題了請上 Stack Overflow 和相關社區論壇。

持續學習

這是一個已經被嚼爛的方法了,一講到英語,都會講到每天都要學。但是確實如此,不僅是英語,任何一種新的語言,想要掌握的話沒有捷徑,唯有每天使用。語言學習就是如此,如果將英語當成母語一樣去學,沒有理由學不好。而且一定要相信積累的力量,每天堅持讀一篇英語技術文章,每天記 10 個英語單詞,每天到社區提幾個用英語寫作的問題,慢慢的,不用很長時間,3 個月你就能看到自己很大的成長。別人都說 100 天可以養成一個習慣,那麼從今天開始,就養成每天使用英語的習慣吧。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 英語發燒狂 的精彩文章:

每天學個職場商務英語辭彙:advertise
商務英語:談論合同
商務英語口語:怎樣表達同意或不同意
商務英語:如何寫好英語商務電郵
英語口語中的這些狠話,你敢說么?

TAG:英語發燒狂 |