程序員的生活輕松。工作機會眾多,而且薪資也不錯。
即使你不想從事程序員這個職業,學點編程仍然是沒錯的。尤其是對於那些網頁設計、數字營銷、企業和IT行業的工作崗位來說。
但是你應該學習哪門語言呢?
Udacity網站制作了一張很棒的信息圖(見下文),有助於你選擇。但是我還想講得更深入一點。
在它們那張信息圖的基礎上,我會根據你的願望,分門別類地給出我的建議。比如,我會針對於旅行愛好者、設計師、IT人員或者其他職業的人員給出建議。
過去一年中,我面試了很多人,面試的崗位也不一樣。我經常和其他也在招聘的技術公司交流,對比各自的筆記。這使得我比較了解技術的長遠發展方向(跟大家透露一下,我在IBM工作)。
你熱愛旅行嗎?如果是的話,你應該選擇像Python這樣的網絡開發語言,在C語言上投入的時間要少一點。
推薦一些幫助學習的雲平台:要去高水平的網站,比如Heroku,BlueMix和Azure。如果了解亞馬遜的AWS也不錯,但是與其他選擇相比,學習曲線比較陡。作為初學者,你應該關注的是編程概念,而不是如何配置。
你可以在Stack Overflow Careers和Angel.co兩個網站上找到遠程工作機會。
如果你計劃打造實實在在的東西,推薦給你兩個很棒的原型開發用板:樹莓派和Arduino。可以看這篇二者的對比文章詳細了解。
在我看來,樹莓派是一個更好的選擇,因為Python語言比C語言更容易學。但是如果你想要打造硬件,最終你是不得不學習C語言(和C++)。
但是,如果是做個人“物聯網”項目的話,有時候購買一台便宜、碎屏的iPhone或Android手機會更簡單些。
通過IBM的BlueMix IoT演示項目,不需要編程,你就可以立即追蹤智能手機的3D位置和震動情況。之後,你可以修改用於演示的Python代碼,做些自己認為酷的事情。(比如說,把iPhone藏在你前任的床墊下面,看看能不能找出些規律。)
BlueMix IoT2 演示
除了學習一門新語言外,還有一個策略就是學習、掌握更多的利基企業系統。例如,你可以學習像Hadoop和Spark這樣的大數據系統。(網上有很多免費學習這些技術的地方,比如IBM的大數據大學或Edx.org)
對於IT和網頁設計,我有如下建議。但是其他行業呢?有一些編程知識會不會有幫助?首先,如果你不知道sumif()
是什麼,那你應該花點時間學習一門Excel課程。Excel表格比大家想象的要強大的多。大多數程序員在進行編碼之前,都會嘗試使用Excel進行計算(如果能算出來的話)。舉個例子,Excel中利用數據制作一張精美的圖表,只要幾分鐘,但是純編程的話,可能需要很多個小時(甚至幾天的時間)。
之後,你應該學習下面這些知識:
如果你是Windows管理員,那麼就學HTML和PowerShell。如果你是Linux管理員,就學HTML和bash腳本。
在IT行業,你不需要學習編程就可以賺大錢:擁有企業級技術證書或資質的話,和程序員的薪資是差不多的,有時甚至更好。但是懂得如何編寫bash腳本就是一個優勢。
學習SASS這種基於CSS的語言是個很好的起點。之後,重點學習JavaScript。最後學習Node.js,也就是不依賴於浏覽器運行的JavaScript。Node.js市場現在很火熱,之後長期都會如此。不要偏離JavaScript領域。相反,要專攻Node.js,深入學習。(注意,以後io.js可能會取代Node.js。所以你要與JavaScript社區保持技術上同步更新。)(譯者注:最近io.js與Node.js已經合並了代碼庫,不過作者說的保持技術更新是沒錯的。)
Udacity在描述JavaScript的發展趨勢時,我想他們應該沒有把這點考慮進去,即Node.js只是不依賴浏覽器運行的JavaScript。2005年,對Node.js工程師的需求異常的高。如果開不出6位數的薪資(截至2015年十月),很難招到一名擁有豐富Node.js經驗的工程師。隨著越來越多的人學習Node.js,市場也許會慢慢平靜一些。最後一點忠告:Node.js比原生JavaScript要難掌握的多。所以,如果你是初學者,請先學習原生JavaScript,然後再轉到Node.js。
最後,奉上Udacity制作([email protected]編譯)的信息圖。
如何選擇你的第一門編程語言