|
英文原文:How I Became a Programmer
我的故事
在海軍陸戰(zhàn)隊(duì)服役超過(guò)10年后,我于去年7月份退役了。隨后在8月份找到了一份賭場(chǎng)的工作做公關(guān),到今年2月中旬的時(shí)候又被辭退了。到5月中旬的時(shí)候我在 DE 協(xié)會(huì)找到了一份臨時(shí)的“初級(jí)用戶體驗(yàn)工程師”工作,而到了8月底我則成了正式的“用戶體驗(yàn)工程師”。
當(dāng)我丟掉賭場(chǎng)的那份工作時(shí),我就在想公關(guān)這行可能真的不適合我。我想做一名程序員。于是我開(kāi)始節(jié)衣縮食學(xué)習(xí)編程。家人對(duì)我的情況非常擔(dān)心。從2月份到5月份的那段時(shí)間,我?guī)缀踔灰菦](méi)睡著就是在學(xué)習(xí)編程,學(xué)習(xí) Linux 以及計(jì)算機(jī)科學(xué)。我自學(xué) Python,自學(xué) Django。我學(xué)了一些函數(shù)式編程和命令式編程。對(duì) Linux 命令行有了一個(gè)不錯(cuò)的了解。
我沒(méi)有做的
有人問(wèn)我:“你如何在11周內(nèi)學(xué)會(huì)了 Django?”
事實(shí)上,我并沒(méi)有針對(duì) Django 本身去學(xué)。而是在為了使得用 Python 編寫(xiě)應(yīng)用更加容易的情況下學(xué)到的。也就是說(shuō)完全出于偶然。因此我不想被稱作一名“Django 開(kāi)發(fā)者”。換句話說(shuō),如果我過(guò)去是在花大量的時(shí)間去專門(mén)學(xué) Django 本身,而不是去學(xué)如何使用 Django 工作,我可能遠(yuǎn)沒(méi)有現(xiàn)在的編程能力。
以下是好奇的朋友們給我的一些問(wèn)題以及我的回答
你是以網(wǎng)絡(luò)資源開(kāi)始的還是以書(shū)本資源開(kāi)始的?
我都有用。這包括 Djangoproject,StackOverflow 和 MIT 關(guān)于計(jì)算機(jī)科學(xué)的開(kāi)放課。
你的每天或者是每周時(shí)間是怎么安排的?
有時(shí)每天8個(gè)小時(shí),有時(shí)12個(gè)小時(shí),有時(shí)16個(gè)小時(shí),總之每天都要花很多時(shí)間。因?yàn)闆](méi)工作,又是單身父親,所以會(huì)特別有意志特別有激情。這樣的一個(gè)境況使得我能十倍努力的工作,不玩游戲,不看電視,甚至整天不睡覺(jué),完全沉浸在代碼、編程里。
你有指導(dǎo)老師嗎?
是的,我有。他是一個(gè)非常聰明而且成功的人,幾乎在我成為程序員路上的每一個(gè)方面都給了我指導(dǎo)。這其中包括很多非常具體的編程知識(shí)(比如 Python&Django),還有職業(yè)建議等。
之前有過(guò)什么特別的經(jīng)歷對(duì)于你現(xiàn)在自學(xué)成為程序員有什么幫助的嗎?
沒(méi)有很多特殊的經(jīng)歷。我很早之前對(duì)電腦有過(guò)狂熱的愛(ài)好,學(xué)過(guò)一點(diǎn) QBasic&VisualBasic,后來(lái)又?jǐn)鄶嗬m(xù)續(xù)的弄過(guò)一點(diǎn) Python,但大部分時(shí)間都沒(méi)怎么弄。除此之外沒(méi)有其他的了。
你怎樣選擇學(xué)習(xí) Django 的?
這個(gè)很簡(jiǎn)單。因?yàn)槲蚁胍7碌囊粋€(gè)人就是通過(guò) Django 取得了很大的成功。
可以分享一下你的學(xué)習(xí)過(guò)程嗎?
我想重申一下我并不是一個(gè)自學(xué)天才也沒(méi)有什么很特殊的天分。我只是很努力的學(xué)習(xí)罷了,因?yàn)槲腋F困潦倒而且沒(méi)有其他選擇。我?guī)缀跸牧怂钥梢詭椭疫_(dá)到現(xiàn)在這個(gè)地步的資源——一個(gè)既可以讓我賺錢(qián)又喜歡的工作。這就是我的學(xué)習(xí)過(guò)程。
想了解一下你具體學(xué)習(xí) Django 的過(guò)程,或者給我一些建議或推薦一些學(xué)習(xí)資源(HTML/CSS,JavaScript)?
事實(shí)上,我唯一的建議就是動(dòng)手去做。我真的花了很多時(shí)間學(xué)習(xí),而且我也享受學(xué)習(xí)的過(guò)程。
正如我在上面已經(jīng)說(shuō)過(guò),我沒(méi)有刻意去學(xué) Django,Ruby on Rails 或者 Noir。我想幫助我成功的一個(gè)重要因素是學(xué)習(xí)語(yǔ)言以及其背后的工作思想,然后再通過(guò)一個(gè)網(wǎng)絡(luò)框架去更好的學(xué)習(xí)那門(mén)語(yǔ)言。因此對(duì)網(wǎng)絡(luò)框架的學(xué)習(xí)都是我在學(xué)習(xí)編程語(yǔ)言中偶然所得的。
我建議想學(xué)的朋友去看看 irc.freenode.NET,去讀讀 Django 文檔并不懂就問(wèn)。我就是這樣做的,而且效果也很不錯(cuò)。不過(guò)我并不是完全坐著讀文檔,大部分的時(shí)間我都會(huì)自己做一些東西以更好的理解背后的工作思想。我個(gè)人是一個(gè)動(dòng)手學(xué)習(xí)者,有些人可能不是,但是動(dòng)手幫助我獲得了成功。而你可以選擇更適合你自己的方式。
你是如何向公司展示你自己的技能的?是給他們看你的項(xiàng)目了嗎?
Github,Github 還是 Github。我覺(jué)得強(qiáng)調(diào)的再多有不過(guò)分,做一些東西,放到 Github 上去,讓人們知道你很富有激情也很聰明好學(xué)。
另外還有網(wǎng)絡(luò)。參加一些行業(yè)活動(dòng),發(fā)微博,寫(xiě)博客,和你周圍的圈子進(jìn)行互動(dòng)。在我看到我現(xiàn)在這份工作的前一周,我就曾在一個(gè)論壇上發(fā)布過(guò)一個(gè)簡(jiǎn)短的演講,這也使得有些人注意到了我。
結(jié)論
如果要我概括我的整個(gè)學(xué)習(xí)過(guò)程的話,我想以下幾點(diǎn)值得一說(shuō):
1. 問(wèn)問(wèn)題,有好奇心,富有熱情
2. 學(xué)習(xí)一門(mén)語(yǔ)言,而不是一個(gè)網(wǎng)絡(luò)開(kāi)發(fā)框架
3. 努力學(xué)習(xí)
4. 構(gòu)建一個(gè)網(wǎng)絡(luò),參加行業(yè)活動(dòng),寫(xiě)博客等,告訴人們你是一個(gè)值得共事的人
5. (選擇性的)將你自己放到一個(gè)沒(méi)有退路的地方,破釜沉舟
最后我想說(shuō)的就是我覺(jué)得自己非常幸運(yùn)。我現(xiàn)在還算不上一個(gè)很棒的開(kāi)發(fā)者,而且我的職業(yè)也才剛剛開(kāi)始。但是我很高興通過(guò)自己的努力改變了我的生活軌跡。我也希望我的經(jīng)歷可以幫到你們。
后記:有人可能會(huì)對(duì)文中提到的神秘老師感興趣,作者 Matt 并未在文中說(shuō)明他是如何遇到這位老師的,不過(guò)在讀者評(píng)論下面他給出了回復(fù)。Matt 是通過(guò)經(jīng)常逛這位前輩的網(wǎng)絡(luò)論壇認(rèn)識(shí)他的。后來(lái)隨著逐漸的熟悉便開(kāi)始尋求他的幫助指導(dǎo),最后也才有了 Matt 今天的程序員之路。
Via MattDeboard
it知識(shí)庫(kù):我是如何在12周內(nèi)由零基礎(chǔ)成為一名程序員的,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。