6個(gè)月:從小白到程序員 也許沒你想的那么難
嘿,來點(diǎn)信心
編者按:這是一篇小白成功轉(zhuǎn)型程序員的勵志文。當(dāng)然,我們無意充當(dāng)心靈雞湯的烹飪大師,不過想給對技術(shù)、代碼之類蠢蠢欲動又敬而遠(yuǎn)之的人們一些信心:編程雖然除了勤奮沒什么訣竅,但也沒你想的那么難。
6月份過去了,7月份也過去了。發(fā)生了很多事,我也還沒有實(shí)現(xiàn)自己的目標(biāo)。不過,我的編程能力提高了很多,并獲得了Medivo的初級程序員職位。在這篇文章中,我將介紹如何在只有不到6個(gè)月編程經(jīng)驗(yàn)的情況下,獲得夢寐以求的編程工作。
這篇文章并不是介紹如何靠弄虛作假,而是嘗試如何在短時(shí)間內(nèi)真正取得成績。6個(gè)月前,我沒有工作,只學(xué)過一門編程課,并愛上了編程。因此,為了加強(qiáng)編程能力,我一周6天,每天花費(fèi)至少10小時(shí)去編程。
閱讀教材
《The Pragmatic Programmers》一書將成為你的好朋友。如果你在學(xué)習(xí)Ruby,那么去看看Ruby 1.9手冊和《Learn to Program》一書,并參加Pragmatic工作室的Ruby課程。盡管課程需要200美元,但物有所值。從Pragmatic工作室的視頻課程開始。在學(xué)習(xí)5節(jié)課之后,你就可以進(jìn)入第二步,同時(shí)繼續(xù)學(xué)習(xí)視頻課程。
加入當(dāng)?shù)氐腞uby小組
這是必須的。如果你想要忽略我所說的其他環(huán)節(jié),但請確保加入當(dāng)?shù)氐木幊绦〗M。這樣做有3個(gè)原因:首先,你見到的人可能成為你的雇主,或?qū)涯憬榻B給未來的雇主。其次,這些人從事的工作可能就是你期望的工作。傾聽他們的想法,記錄他們所說的話。如果你不能理解,那么嘗試去搜索。最后,如果你有熱情,那么你將見到同樣具有熱情的一些人。
大量撰寫代碼
申請一個(gè)GitHub帳號,每天向帳號中上傳代碼。一定要堅(jiān)持。學(xué)習(xí)編程沒有捷徑,必須得寫代碼,而且要寫很多。代碼并不一定需要高質(zhì)量,只要盡量練習(xí)即可。如果你覺得代碼寫的很爛,那么記錄下這些代碼和你自己的想法。
將代碼公之于眾
這是撰寫代碼過程的另一重要方面。如果你只是閉門研究,那么代碼質(zhì)量可能永遠(yuǎn)得不到提高。我發(fā)現(xiàn),如果愿意公開,那么代碼的每一行都將有防御機(jī)制,即使你的想法存在缺陷。如果能明確每行代碼撰寫的原因,你將更容易調(diào)整工作方式。
在博客中記錄你遭遇的挑戰(zhàn)
你將會像其他所有人一樣遭遇挑戰(zhàn)。在博客中將這些記錄下來。除非你主動尋求幫助,否則將很難變得更好。此外,記錄下你的成績將有助于你未來找工作。請確保也在博客中記錄下你的成功。當(dāng)你取得一定成績時(shí),你會很有成就感。告訴所有人你的感受,以及你是如何做到的。
找到工作
現(xiàn)在,你已經(jīng)略懂編程,因此可以大膽嘗試找工作,這將花費(fèi)一段時(shí)間。市場對程序員的需求很大,而你有可能給自己的未來和開發(fā)者社區(qū)幫倒忙。通過找工作,你將有更專注的目標(biāo)。
以下還有一些建議,能幫助你更順利的找到工作:
學(xué)會程序員的說話方式
你可以從與他人的接觸中學(xué)會這一點(diǎn),當(dāng)然也有其他方式。首先,收聽相關(guān)播客(視頻分享),我建議收聽每一期的Ruby Rogues,隨后去收聽Rails Casts和Destroy all Software。播客中的一些內(nèi)容將會被記住。這樣做是為了學(xué)習(xí)程序員的說話方式,當(dāng)你參加面試時(shí),這將會是有用的技能。
廣泛撒網(wǎng)
我向紐約的Ruby開發(fā)社區(qū)發(fā)送了以下這封郵件,從而得到了現(xiàn)在的工作。
Hey,紐約的Ruby社區(qū):
我是一名自學(xué)程序員,去年7月從佛羅里達(dá)州Tampa來到紐約。Tampa的Ruby社區(qū)激勵我將Ruby作為第一門語言去學(xué)習(xí),我很高興加入紐約的Ruby社區(qū)。
幾周后,我將從南佛羅里達(dá)大學(xué)商業(yè)和企業(yè)專業(yè)畢業(yè),但我在受雇于一家企業(yè)期間發(fā)現(xiàn)自己的興趣是編程。
我正在尋找這一地區(qū)的實(shí)習(xí)生/學(xué)徒/初級程序員職位。如果有人知道這樣的職位,那么我很樂意在6月份見面,屆時(shí)我將在GoRuCo。
我精通Ruby,并了解Javascript、HTML和CSS的基本知識,目前正在Rails工作。我將快速學(xué)習(xí)并努力工作。
你可以通過GitHub了解我的技能,我也在learnwithjeff.com上記錄了我的學(xué)習(xí)過程。很歡迎任何反饋或建議。
我期待與你們中的一些人見面,并參與紐約的Ruby社區(qū)。
Jeff
在18個(gè)小時(shí)內(nèi),我收到了超過40封回信。我還了解到了紐約每一家從事Ruby開發(fā)的公司。隨后,我列出了10家首選公司,并前往其中一些公司面試。我還與團(tuán)隊(duì)中的一些人進(jìn)行公開討論。
不要低估你的價(jià)值
當(dāng)我開始找工作時(shí),我想我可以承擔(dān)掃廁所的工作,并在晚上看代碼。盡管有這樣的決心是好事,但市場目前有利于程序員。不要低估自己的價(jià)值。
總之
努力工作、大量撰寫代碼,保持開放的心態(tài)和熱情。
2012年2月時(shí),我沒有寫過任何一行代碼。但到7月11日時(shí),我成為一名全職的Ruby程序員。你也可以做到。
本文編譯自博客Learn With Jeff