10個月前,我還是一名英語老師,對編程一竅不通。
編者按:也許你已經(jīng)清楚了自己的興趣之所在,但是卻沒有勇氣開始它,或者為自己找了種種借口,按下心中的渴望。但任何時候開始自己感興趣的東西都不算晚,本文作者過去只是一名老師,對編程懷有好奇和熱愛,年過40依然毅然決然堅持不懈地學(xué)習(xí),最終成為了一名程序員,找到了自己熱愛的工作。從作者的經(jīng)驗中,我們應(yīng)該能學(xué)到很多東西。本文作者Syk Houdeib,原文標題How I switched careers and got a developer job in 10 months: a true story。
年過四十、零基礎(chǔ)學(xué)編程,我是如何從教師轉(zhuǎn)行程序員的?
我打算談?wù)勛约?0歲的時候是怎么從零基礎(chǔ)開始學(xué)習(xí)然后轉(zhuǎn)入前端網(wǎng)頁開發(fā)領(lǐng)域的。我全靠工作之余的自學(xué),基本沒花錢。
我坐在馬德里市中心的一家咖啡館里,外面下著雨,我一邊喝著咖啡,一邊敲著筆記本電腦。過一會兒,我將開始自己作為前端網(wǎng)頁開發(fā)人員的第一天。10個月前,我還是一名英語老師,對編程一竅不通。想知道是怎么發(fā)生的嗎?
幾個月前,我寫下了這些激動人心的話,來吧,一起看看我是怎么做到的。
年過四十、零基礎(chǔ)學(xué)編程,我是如何從教師轉(zhuǎn)行程序員的?
需要什么潛質(zhì)嗎?
如果我只是剛開始考慮做一名開發(fā)人員,那么我會帶著一點懷疑的態(tài)度來閱讀這篇文章。因為我會從作者的背景中尋找他們有沒有成為開發(fā)人員的潛質(zhì)。
然后后來我明白了,成為一名開發(fā)人員不需要什么潛質(zhì)。當(dāng)然我也不會說這條路很好走,因為它確實不好走。但好消息是,只要你愿意努力工作,學(xué)習(xí)很多東西,并且持之以恒,就完全可以實現(xiàn)當(dāng)一名開發(fā)人員的夢想。當(dāng)你覺得自己不適合做這件事的時候,你需要說服自己振作起來。這就是你需要做到的事情,僅此而已。
我是零基礎(chǔ)學(xué)起的,沒有花錢報什么課程,因為我已經(jīng)夠忙的了。雖然每個人的情況都不一樣,但我知道,如果你用心去做就能做到。
零基礎(chǔ)學(xué)起
我說了我是零基礎(chǔ),在此之前我從來沒有接觸過編程。我早年從事餐飲業(yè),后來我獲得了音樂學(xué)位,之后又在西班牙當(dāng)了十年的ESL老師。我對電腦甚至不是特別熟練,但我確實對最新的科技創(chuàng)意十分著迷,而且認為程序員就像是超級英雄一般的存在。
不過,我從來沒有想過自己有朝一日也從事這個行業(yè)。部分原因是我認為編程是個高大上的活兒,是那些從頂級(而且昂貴)大學(xué)畢業(yè)的天才們才能從事的。雖然這樣的人確實存在,但大多數(shù)開發(fā)者并不是電影里看到的那樣,所以,做一名程序員比我想象的要容易得多。
緣起
這一切都始于我和妻子的一次對話。她正在研究為什么在STEM和科技行業(yè)的女性人數(shù)那么少。然后她決定成為一名程序員,然后很快就投入了學(xué)習(xí)。
這讓我也興奮了起來,因為我們意識到有很多可用的資源。這不是什么魔法,而是一種我們可以學(xué)習(xí)和掌握的技能。
有一天,我們在科學(xué)博物館里發(fā)現(xiàn)了一本關(guān)于編程的兒童讀物。我們回到家打開電腦,按照上面的指示,通過簡單的操作使文字改變顏色,然后激動得尖叫起來,因為我們覺得實在是太神奇了。
我完全被迷住了,這促使我下定決心學(xué)習(xí)編程。
我原來的工作
那時我已經(jīng)當(dāng)了8年的老師了,但我依然非常熱愛教學(xué)工作,喜歡和孩子們在一起。一言以蔽之,這份工作非常令人滿意。
但有時候,即使你有所不舍,也要知道是時候繼續(xù)前進了。這是我生命中的新階段,我有了新的愿望。最重要的是,這也是個能讓我走出舒適區(qū)的新挑戰(zhàn)。
年過四十、零基礎(chǔ)學(xué)編程,我是如何從教師轉(zhuǎn)行程序員的?
通往成功之路是什么樣的?
沒有一條放諸四海而皆準的成功之路。每個人的學(xué)習(xí)方法都不一樣,都要找到對自己有用的方法。如果非要找到什么共同點的話,那就是咬緊牙關(guān),堅持不懈。
因此,我告訴你們的辦法不是唯一的方法,也不是最好的方法,只是對我有用的辦法而已。
開始學(xué)習(xí)
首先,我開始觀看編程的教學(xué)視頻,弄清楚了該怎么開始。然后我開始學(xué)著怎么用HTML和CSS。我按照教程的要求編寫代碼,建立起一些基本的頁面。在這個過程中,我意識到這是我真正感興趣的事情。
制定目標很重要
我向兩個程序員朋友尋求建議和幫助。他們那些鼓勵和引導(dǎo)我的話語對于后來的成功和找到明確的目標至關(guān)重要。
我花了一些時間研究情況,設(shè)定了對我來說可能實現(xiàn)的目標。除了教學(xué)之外我沒有其他的收入來源,這意味著我在換工作之前不能失業(yè)。
我認為前端網(wǎng)頁開發(fā)工作是最容易學(xué)習(xí)和最受歡迎的工作。我進一步縮小了范圍,把重點放在了創(chuàng)業(yè)所需的技能上,而不是走自由職業(yè)路線。
然后我設(shè)定了最后期限。我可不想到頭來一事無成,得過且過。當(dāng)時是2017年的春天,所以我向自己保證,到2018年9月,一年多以后,我必須換工作。
但是如果假裝在這個階段一切都在我的控制之下,那我未免太天真了。說實話,我在當(dāng)時和后來的整個過程中都有各種各樣的懷疑,但關(guān)鍵就是堅持。一旦我做出了什么決定,我就會沿著這條路走下去。
年過四十、零基礎(chǔ)學(xué)編程,我是如何從教師轉(zhuǎn)行程序員的?
學(xué)習(xí)過程
我知道,想要進步,唯一的辦法就是學(xué)習(xí)。我有一份全職工作,所以等到“有時間”了再做決定是不可能的。我很幸運,因為我和妻子的學(xué)習(xí)時間是一致的。這有助于我們安排好每天的學(xué)習(xí)時間。起初,我們會把整個周末都花在編程上。我們比較典型的學(xué)習(xí)計劃如下:
8:00 am:起床
8:30 am:開始編程
12:30 pm:活動
1:30 pm:吃午飯,休息
3:00/4:00 pm:繼續(xù)編程
8:00/11:00 pm:結(jié)束一天的工作
然后就到了暑假,我充分利用了這段時間,盡管我很想好好享受這個夏天,放松一下,但我還是堅持了下來,每天都認真學(xué)習(xí)。
然后一眨眼就到了九月,我又開始了學(xué)校的工作。我有意識地減少工作時間,選擇用更少的收入來換取更多的學(xué)習(xí)時間,這樣一來,我就更加認真地學(xué)習(xí)了。
你可能很難想象我與代碼有多么難舍難分。我最想做的事就是坐在我的電腦前學(xué)呀學(xué)呀學(xué)呀。但生活還是得繼續(xù)。每年9月份都是新學(xué)年的開始,這就意味著你投入需要大量的時間來準備,往往還要從私人時間中抽出一部分來。
當(dāng)時我真的非常焦慮。盡管盡了最大的努力,但我花在編程上的時間卻越來越少。我開始失去動力。我想盡辦法試著堅持下去,但有時根本沒有時間。即使有最好的意圖和動機,生活也會使事情變得復(fù)雜。
年過四十、零基礎(chǔ)學(xué)編程,我是如何從教師轉(zhuǎn)行程序員的?
你看,我十月份編程計劃的完成狀況相當(dāng)令人失望
但是,也正如上圖顯示的,我一直在嘗試,在努力。我不斷地想要擠出時間,哪怕是一個小時也好。我做了所有能做的事情,希望自己不要失去動力,希望自己咬牙堅持。我希望這對你有啟示作用:因為一旦你離開某樣?xùn)|西的時間足夠長,要想再撿起來的難度就相當(dāng)大了。
然后,事件逐漸推移,12月慢慢近了。眼看著新的一年就要來臨了,我的最后期限也臨近了,我又振作了起來,整個生活也開始有了計劃。我開始努力工作,不管我有多累,也不管我的時間有多少。我把所有的空閑時間都投入到了編程的學(xué)習(xí)中,有時候我會早起,有時候我會熬夜,但都是想盡辦法多擠出一些時間。
這就意味著我的生活幾乎淪落到只有工作和學(xué)習(xí)——而且工作也只是到薪酬能付房租就行,剩下的時間全給了編程。我基本上一直保持著這種節(jié)奏,直到我開始收拾行裝去馬德里的那一天。那是在2018年春天,離我當(dāng)時定下的最后期限還有幾個月。
年過四十、零基礎(chǔ)學(xué)編程,我是如何從教師轉(zhuǎn)行程序員的?
工具和資源
說實話,現(xiàn)在回過頭看去,我當(dāng)時真的是全身心投入到與編程相關(guān)的一切事情中。我在Twitter上最常被問到的問題是我當(dāng)時學(xué)習(xí)用的是什么資源。雖然這個就又得開一篇文章仔細講講了,但是我覺得有必要列出一些最重要的工具和資源給大家。
課程
freeCodeCamp.org
Cassidy Williams 和 Colt Steele 的 Udemy 課程
Wes Bos’ JavaScript 30 以及其他課程
YouTube:Traversy Media,LevelUpTuts
Christina Truong’s Lynda.com的課程
Udacity Front-End Nanodegree(付費課程,但說出來你可能不信,我再谷歌上還獲得了一個學(xué)位)
但這些課程還不夠,所以我又補充了一些課程,這些課程不僅能拓展你的學(xué)習(xí)深度和廣度,還能在你找工作的時候助你一臂之力。
Twitter:這是奠定了我學(xué)習(xí)基礎(chǔ)的地方。我從這里獲得了令人難以置信的支持,強烈推薦#100DaysOfCode社區(qū),非常暖人。
GitHub:這是個非常重要的學(xué)習(xí)之處,而且雇主通常首先在這兒看到你的作品。
Portfolio:我在這里通過各種自主項目學(xué)會了最重要的開發(fā)技能。
找到工作
令人驚訝的是,這個過程比我想象中要簡單很多。我沒有四處投簡歷,每天把大量的時間花在篩選上。相反,我選擇了專注于幾家公司。
最后我收到了五家公司的面試通知。很不幸,我被其中的兩家拒絕了。但另外三家都被我拿下了。三家公司的offer中,我覺得有一個完全不合適我,而且也沒有什么吸引力。另外兩個offer的工作崗位都挺有意思。后來,我在這兩個中選擇了一個。
但我并不是說當(dāng)時找工作的時候我真的心如止水?,F(xiàn)在想來,當(dāng)時確實是段很緊張的時光。我其實并不清楚自己的技能是否達到了市場的要求。我甚至不確定自己是否會因為經(jīng)驗不足而被各方嘲笑。雖然當(dāng)時挺傷腦筋的,但我不得不說,整個找工作的過程其實還是很激動人心而且充滿希望的。當(dāng)我終于發(fā)現(xiàn)自己有兩份真正適合的offer擺在桌上時,我欣喜若狂,差點以為自己在做夢。
我會永遠感激那些給我機會決定錄取我的人。
這兩家公司的面試流程完全不同。其中一家是通過視頻電話與公司里各種各樣的人進行交談。這家公司是一家規(guī)模雖小但信譽卓著的公司,希望建立一個全新的前端網(wǎng)頁開發(fā)團隊。幾個星期來來回回下來,他們給了我第一次真正實現(xiàn)夢想的機會。
另一家公司是一家處于高速增長中的年輕創(chuàng)業(yè)企業(yè)。在一次電話面試后,我收到了一份技能考核(需要在幾天內(nèi)完成),這份考核涉及到組件構(gòu)建、進行API調(diào)用和顯示正確的信息。然后又是視頻面試,內(nèi)容是關(guān)于我的編程結(jié)果。然后我被邀請和技術(shù)團隊見個面,喝杯下午茶。在那之后,我被告知,可以作為前端網(wǎng)頁開發(fā)初級人員加入公司。
最后我不得不做出選擇,我知道自己想要什么,所以我接受了這家創(chuàng)業(yè)公司的邀請。為什么呢,因為我在這家公司能夠獲得成長和學(xué)習(xí)的機會,這是關(guān)鍵所在。我堅信這絕對是正確的選擇。
就這樣,在馬德里的那個雨天,喝完咖啡后,我走進一間辦公室,向大家介紹自己是新來的的前端網(wǎng)頁開發(fā)人員,然后開始了自己新的職業(yè)生涯。
本文翻譯自 medium.freecodecamp.org
XuYiedu.cn聲明:此消息系轉(zhuǎn)載網(wǎng)絡(luò),XuYiedu.cn(盱眙教育網(wǎng))登載此文出于傳遞更多信息之目的,并不意味著贊同其觀點或證實其描述,不代表XuYiedu.cn立場。