如何才能快速的學(xué)習(xí)編程技術(shù)
現(xiàn)今技術(shù)型新興產(chǎn)業(yè)和機(jī)會正值繁榮時期,很多人想要學(xué)習(xí)編程,那么如何才能快速的學(xué)習(xí)編程技術(shù)?以下是學(xué)習(xí)啦小編分享給大家的快速的學(xué)習(xí)編程技術(shù)的方法,希望可以幫到你!
快速的學(xué)習(xí)編程技術(shù)的方法
參加一個四年的課程
雖然這并非絕對需要,但在學(xué)院或大學(xué)的四年學(xué)習(xí)可以讓你見識到各種不同的語言,你可以在網(wǎng)絡(luò)上和專業(yè)人士或者其他學(xué)生交流。這種方法不一定適合所有人,并且很多成功的程序員都沒有在一個耗時4年的機(jī)構(gòu)學(xué)習(xí)。
創(chuàng)建自己的代碼庫
當(dāng)你在創(chuàng)建程序并且不斷擴(kuò)充你的知識時,確保你所有最好的程序都保存自己的代碼庫中。你可以把這個展示給招牌和面試官看你所做的工作。確保這包含了你所有時間的工作,并且確保你可以用這些程序給給另一家公司做任何工作。
做一些外包兼職工作
對于程序員來說有非常大的自由職業(yè)市場,尤其是移動App開發(fā)。帶上幾個小的外包兼職去感受一番商業(yè)編程是如何運(yùn)作的。通常境況下你可以用外包兼職的工作來幫助你建立代碼庫,并且這將有益于新的作品。
開發(fā)你自己的免費(fèi)程序或商業(yè)軟件
你不必為一家工作來換取金錢。如果你有能力,完全可以獨(dú)立開發(fā)軟件并且讓其免費(fèi),通過你自己的網(wǎng)站或者其他的市場。準(zhǔn)備好提供為你的商業(yè)軟件做技術(shù)支持,因為你的客戶希望它們能完好的工作。
免費(fèi)軟件是一種發(fā)布小程序和應(yīng)用程序的流行方式。開發(fā)者不會收到任何款項,但會幫助你建立知名度以及讓自己在社區(qū)中有一定聲望。
快速的學(xué)習(xí)編程技術(shù)的建議
認(rèn)識到深入鉆研和搬運(yùn)工之間的區(qū)別
有兩種類型的程序員:完美主義者和搬運(yùn)工。
有些人希望一切都是正確的,他們希望完美,他們希望遵循所有的最佳實踐,并寫出漂亮的優(yōu)雅代碼。他們想要理解每一行代碼。有別于那些不管三七二十一,只要自己的代碼能工作即可,即使對代碼庫有損害的人。平衡這兩種技能是非常重要的。有時你應(yīng)該深入鉆研一個問題或項目,看看發(fā)生了什么。有時你應(yīng)該讓它工作即可,即使你不知道發(fā)生了什么。
每當(dāng)你花費(fèi)太多時間在某個東西上時,那就問問自己:我應(yīng)該采取哪種方法?在大多數(shù)情況下,你會想取中間值。你想提供一個好的、堅實的解決方案,同時你可以自信地理解和修改,但沒有耗費(fèi)荒謬的時間。隨著你作為開發(fā)人員的成長,你會更好地明白什么時候就此離開就可以,以及什么時候需要以某些方式完成。
就個人而言,我喜歡我的項目80%完美。如果你的項目是絕對100%完美,沒有一行代碼讓你覺得尷尬,那么很有可能你已經(jīng)花了太多的時間。
與其他程序員交談
學(xué)習(xí)編程的一個很好的方法就是和其他的程序員交談。
不必談?wù)撊魏翁囟ǖ膬?nèi)容??梢允悄阏趯W(xué)習(xí)的東西,可以是你認(rèn)為很酷的東西,可以是你正在工作的東西,皆可。
你會發(fā)現(xiàn)很多程序員并不喜歡只是聊編程。這樣做可能會讓你學(xué)到很多關(guān)于庫,服務(wù),編程語言和模式方面的知識。但是,最重要的是,你將了解到其他人是如何看待編程的。你會發(fā)現(xiàn),你認(rèn)為理所當(dāng)然或從來沒有考慮的事情在人與人之間是非常不同的。
如果你沒有什么可談的,那就回到編輯器戰(zhàn)爭或tab vs space的話題。
尋找成就感
最后,我要說的是,一直以來在我身上發(fā)生著這樣的事,我嘗試過很多東西,但我就是不理解。
在用30分鐘嘗試新的東西后,我會停下來。我想這在起步時是很正常的。但是,我記得很多次,在6個月后(或3個月或9個月),我會回到同樣的問題或技術(shù)上,弄清楚如何使用它。這是因為我又掌握了一些我以前不具備的知識,或者因為它只是另一種方式的框架。等待一段時間,然后回去,總是一種最有用的方法。
這方面的一個例子是學(xué)習(xí)如何使用終端。我記得很長一段時間我都害怕碰到終端,因為我不知道如何使用。我花了一段時間并按照步驟定期地使用它和理解它。當(dāng)然,如果我認(rèn)識可以向我解答的人,或者找到一個好的資源來學(xué)習(xí),這樣的事情就不會發(fā)生!
快速的學(xué)習(xí)編程技術(shù)的技巧
作為工程師的樂趣
就像很多技術(shù)人員一樣,我既著迷于硅谷又崇拜那些那些技術(shù)大腕。
這里有一個非常有意思的變化——在不久以前,我還在一所大學(xué)念書時,由于工程師給人的印象是缺乏時尚感和社交技巧,所以別人要是說我看上去像一個工程師——我會覺得非常尷尬。
當(dāng)然現(xiàn)在聽上去很蠢,但是當(dāng)我還在大學(xué)的時候,“硅谷”對我而言也只是一個地理名稱而已。
還有一件你可能不知道的事情——我曾經(jīng)是一所中學(xué)的IT俱樂部的會長。我會使用HTML和Flash,在我的空余時間喜歡玩Sim City 3000,并且創(chuàng)建了一個關(guān)于這個游戲的網(wǎng)站。
在我大學(xué)的最后一年,社交網(wǎng)絡(luò)開始展現(xiàn)頭角。我剛一畢業(yè)就作為高科技記者參加了新加坡的新興行業(yè)創(chuàng)業(yè)場景賽。
我所接觸的每一個人都表示了對代碼的酷愛。不想成為高手的程序員,就不是好程序員。
學(xué)習(xí)代碼的門檻也變得非常低。各種資源和文檔,只要一個谷歌搜索就全有了。
現(xiàn)在的代碼學(xué)習(xí)儼然已經(jīng)成為了一個產(chǎn)業(yè),這也說明了一個事實,即好的工程師一直存在著缺口。
現(xiàn)在已經(jīng)是2015年了。如果你也想為自己做一個新一年的編程技術(shù)提高計劃,那么歡迎閱讀這篇文章。我從我個人的學(xué)習(xí)歷史總結(jié)出了以下這些真理:
你的過去決定了你如何學(xué)習(xí)編碼的方法
我是在2012年底才學(xué)的編程——在我開始了我的第一份工作的一年多以后。這讓我處于嚴(yán)重的劣勢,如果我的目標(biāo)是成為一個職業(yè)開發(fā)人員的話。
因為我可能需要和那些12歲就開始編程,剛剛新鮮出爐的畢業(yè)生同臺競技。他們的期望薪水會比較低,他們的關(guān)系承諾會比較少。我將不得不改變我的人生軌跡,并作出一定的犧牲來追逐這種職業(yè)生涯。
但是現(xiàn)在的情況是這樣的:我已經(jīng)在媒體行業(yè)淫浸了很多年。甚至,我還蠻喜歡我當(dāng)時的工作,工作中并沒有碰到什么過不去的難關(guān)??傊疫€沒有足夠的財力和動力能讓我轉(zhuǎn)而去投資一個全新的方向。
因此,我只能在我空閑的時間里學(xué)習(xí)編碼,同時還要保證不能干擾到我的日常工作。犧牲掉我的空閑時間是很艱難的一個決定,但是我別無選擇。
在承諾之前,先理解你的最終目標(biāo)
學(xué)習(xí)代碼可能對你的目標(biāo)完全無用,也可能是不可缺少的。
如果你是一個學(xué)生,編碼可能會為你開辟更多的未來規(guī)劃,比如說,在你25歲的時候或許就能賺到一百萬美元。
如果你是一個對當(dāng)前工作感到厭倦想要有所改變的年輕“專家”,在你已經(jīng)累計了初期財富之后想要來點(diǎn)冒險的話,或許可以考慮一下編程,這將是一種更富有成效的職業(yè)生涯。
當(dāng)然,編程可能并不適合那些已經(jīng)在大公司就職需要養(yǎng)家糊口的CEO。不過如果你是一名年輕的高管并且希望能在一年內(nèi)開辦自己的高科技企業(yè),那么學(xué)習(xí)編程就很有價值了,因為它能有助于你與開發(fā)人員親密協(xié)作或者自己創(chuàng)建產(chǎn)品。
你或許會說,學(xué)習(xí)編碼很難或者完全沒有必要。這當(dāng)然是可以的,沒有人能強(qiáng)迫你。不過也有可能你學(xué)習(xí)的原因就只是想讓別人以為你也是很厲害的(很多新入行的喜劇演員往往是因為這種原因而去演喜劇),又或者你直截了當(dāng)?shù)乇硎灸憔褪窍刖幊?。?dāng)然如果你的目標(biāo)是想提高薪資收入,也成。
對我來說,上面這些原因或多或少都有:
目標(biāo)結(jié)果我想讓人覺得我很厲害。(別噴我。)通過使用Ruby on Rails創(chuàng)建app,并通過利用各種API可以讓我的日常工作像作家和編輯一樣,這讓我覺得我很厲害很酷。很多人紛紛了離開這一行,但我堅持下來了,付出了不小的代價。不過,我也承認(rèn)我現(xiàn)在的水平還不算高。挑戰(zhàn)自我。哇哦,我只想說,這真心是個大大的挑戰(zhàn)。我想知道web開發(fā)工作能否成為備選的職業(yè)發(fā)展新道路??赡懿粫?。像其他職業(yè)一樣,編程涉及到很多類似于服務(wù)器遷移、處理入侵者等等不愉快的任務(wù)。結(jié)合我對技術(shù)和媒體的愛好。圓滿完成。我想使用編程技術(shù)使得自己的效率更高??赡軙崿F(xiàn)吧。如果你認(rèn)為我干得好,請繼續(xù)閱讀:
一個接一個地開始項目
說實話,編碼一點(diǎn)都不好玩。當(dāng)然,編寫優(yōu)雅的代碼和修復(fù)bug是有收獲的,但是如果沒有最終產(chǎn)品,那這一切的努力就只能是付諸東流。
將你的編程之旅當(dāng)作需要攀登的一系列高峰。登上一峰之后就攀爬下一峰。每一個項目都能讓我們學(xué)習(xí)到新的東西、修整舊的知識,一步一步地朝著我們的目標(biāo)前進(jìn)。下面是我解決的項目,按時間先后順序排列:
文本游戲。
一個用于計數(shù)科技博客標(biāo)簽的Ruby腳本,看看當(dāng)前什么話題比較流行。
一個能抓取網(wǎng)站信息并拷貝到另一個數(shù)據(jù)庫的Ruby腳本。
排序表格和柱狀圖。我將Ruby on Rails應(yīng)用程序與D3.js——基于JavaScript的可視化庫連接起來。
一個Rails應(yīng)用程序,將Wordpress掛鉤到谷歌分析API上以編程的方式生成內(nèi)容。
一個Rails應(yīng)用程序,構(gòu)建在緩沖API基礎(chǔ)上可以讓我重新在社交媒體上發(fā)布內(nèi)容。
一個Rails應(yīng)用程序,可在數(shù)據(jù)庫中填充鏈接。
Statsy,一個Rails應(yīng)用程序,兼作檢索數(shù)據(jù)庫和以谷歌圖表為基礎(chǔ)的圖片制造商。
猜你喜歡:
5.程序員的心得體會