原文:chinese.freecodecamp.org/forum/t/top…html
本文做者 Beau Carnes,曾經是一名 K-12 老師,目前是 freeCodeCamp.org 的一名全職開發者,主要負責製做或管理 freeCodeCamp Youtube 頻道的大量編程視頻教程。這篇文章記錄了他在做爲 K-12 老師全職工做而且做爲兩個孩子的父親的狀態下,如何在一年時間內得到第二學位以及 5 個開發者證書。前端
「標準的節奏是爲愚者設計的——系統這麼設計是爲了讓任何人都跟得上。若是你比「任何人」更有動力——那麼你的成就會大大超出任何人的預期。不只僅在學校裏是如此,生活的方方面面都是如此。」 ——Derek Sivers, CD Baby 創始人編程
學習編程是一件具備挑戰性的事情——特別是當你已經成家,有了小孩兒,還有一份工做的時候。儘管如此,我仍是認爲個人人生不該該是標準的節奏。學習
我寫這篇文章的目的不是爲了吹噓——儘管我對這些成就感到很是自豪。我只是但願讓讀這篇文章的人也相信本身的人生能夠有所不一樣。人工智能
在過去的一年中,我作了不少事情。我得到了兩個 Oracle Java 證書,兩個 CompTia 證書和freeCodeCamp 前端證書。大多數人得到其中一個證書都得準備好幾個月,可是我每花三個星期就拿到一個證書。設計
此外,我在不到六個月的時間內學習了軟件開發課程,從一所正規大學得到第二學位。3d
我在完成這些事情的同時依然保持全職工做,常常與個人妻子和兩個小孩相處,而且在個人社區作志願者。code
有一位了不得的另外一半在身邊支持我,是我達成這些成績的關鍵因素之一。 😍cdn
固然還有些其餘因素。視頻
是什麼驅使着我?
我曾是一名 K-12 老師,在學校待了五年以後,我意識到我不想之後也都待在學校上課。
我喜歡上課,但我不喜歡強迫孩子們去作他們不喜歡的事情——而這,不可避免也是我工做的一部分。
我所在的城區學校的課堂管理很是緊張,我對整個教學體系也感到失望。咱們彷佛正在培養學生將來被人工智能取代。
我一直對編程感興趣,甚至有時用 Scratch 和 Code.org 教個人學生們基本的編程知識。我以爲是時候全面學習編程,而且以此做爲個人全職工做了。
想換工做就是個人驅動力。在學校上課的每一天都激發我不斷向本身的目標前進。
反覆調研
必定不要急於開始學習。學校或學習資源數量繁多,質量也良莠不齊。一旦選擇失誤,你會在達成目標的過程當中走很多彎路。
我試着肯定哪一種學習方法最適合我和個人家人。雖然我知道有不少方法能夠進入科技行業,但我決定採用一種傳統的方式:讀一個學士學位。我知道我已經學過一些課程,能夠轉入新課程。我調研了許多學校,最終選擇西部州長大學,緣由以下:
能夠在線讀學位,因此我不須要在交通上花時間。
能夠自主安排學習節奏,因此我知道我能夠很快完成全部課程。只要完成一門課的全部做業和考試,就能夠當即進入下一堂課。
學費很低——六個月的課程大概花 3000 美圓。
這是一所廣受承認的大學,奧巴馬總統和比爾蓋茨都推薦過它。
讀完這個學位能夠得到行業承認的證書,會爲個人教育背景加分。
設定遠大目標
起初,個人目標是在一年內讀完這個學位。通過一個月的學習,我決定把時間週期改成六個月。
我快速學完這些課程的方法是:規劃完成每節課程的具體日期,確保在六個月內完成。
我根據課程要求爲每節課程安排一到三週的學習時間。我當時還制定瞭如何很快完成每節課的計劃。在整個學習過程當中,設定不少子目標能夠幫助我始終保持好的節奏,這是很是棒的。
上圖是個人部分學習計劃。設定遠大目標很是重要,幫助我自我驅動。 《消費者研究期刊》的一項研究代表,遠大目標讓人們更快樂。我最終都達到了我爲本身設定的最後期限或者提早完成,這讓我很是開心!
詳細時間表
我建立了詳細的每週時間表,以保證在花大量時間學習的同時可以兼顧個人家庭和其餘事情。我安排了家庭聚會時間,志願服務時間,朋友聚會時間,以及每週約會之夜!
上圖是我剛開始學習時列的日程表,如今的日程表更加詳細了。詳細時間表幫助我保持生活的平衡。可是,有一件事我沒有安排進個人日程: 看電視 。
在讀學位期間,我只看了三集電視劇。爲了實現目標,個人時間表排得很是緊,因此我沒有時間看電視。另外,花時間看電視就意味着陪伴家人的時間減小了。自從畢業以後,我一直都限制本身看電視的時間,所以我能夠專一編程。
爲了實現個人目標,我必須放棄一些事情。
忽略那些反對者
西部州長大學爲每一個學生都安排一名導師。導師每週都會和學生通話,以幫助他們保持正常學習進度。每次我和導師分享個人目標,她都鼓動我把目標調整得更合理一些。而我卻決定把目標設定得更」荒謬「。我知道她是出於好心,但我決定再也不理會她的警告而且再也不與她分享個人目標。
有時候,咱們不須要和某些不會鼓勵反而阻礙咱們的人分享目標。
最大化利用時間
除了我預約的學習軟件開發的時間外,我還找到了一些方法進行更多學習。例如,我用了大部分的午休時間來學習。另外,我常常在口袋裏放着筆記本,每當我有空閒時,我均可以查看。
此外,我也曾(目前仍會)休假幾天來學習課程或者是跟進編程項目。在我修學位期間,由於有的課程的考試比較難經過,因此我會休假幾天來保證學習進度。
我老是不斷從新評估個人日程安排,以及如何花時間讓我有更大的效率。
我經常在孩子們睡覺以後編程。然而,我發現熬夜太晚,個人大腦有些遲鈍,我就調整了個人睡眠時間表。因此我如今晚上9點左右睡覺,凌晨4點醒來編程(以及製做視頻教程)。這樣的方式可能聽起來有點瘋狂,但大大提升了個人工做效率。
學習別人的經驗
我花了不少時間瀏覽我大學的 Reddit 頁面和各類論壇,閱讀其餘人分享的對他們的學習有益的方法。有不少資源能夠用於輔助修一個行業證書。這些都幫助我更好地計劃最快的路徑。
總會有些人比你先踏上這條路,因此找到這些人並向他們學習是很重要的。
在學習 freeCodeCamp 的課程時,向他人學習也很是有幫助。社區中經驗豐富的人們常常在論壇和社區聊天室中爲你們提供幫助或建議。
儘管交付!
交付的意思是把一個完整的產品發出去。
我經常會考慮我是否須要花更多的時間在項目上或學習上。而後我就發現若是我想趕在本身設定的最後期限以前交付的話,我並無那麼多時間。
每每是我以爲本身有十足把握以前,就到了最後期限,那我也不得不交付。這固然是有好處的。
我發現把項目交付出去比力求使其完美更加劇要。若是你想作到盡善盡美,那你可能永遠都完成不了。即使你還有些猶豫,也儘管交付吧!
二八原則
二八原則的意思是,對不少事件來講,80% 的產出來自 20% 最關鍵的行動。在學習軟件開發時,這意味着以後實際使用的大約 80% 都是 20% 的學習內容。若是你專一於這 20%,你能夠節省不少時間。對於個人學位來講,我只閱讀了所要求內容的 20-30%。根據二八規則,這足以理解這門學科超過 80% 的內容。
訣竅在於須要肯定關注哪 20%。我常常這麼會問本身,「若是我正在設計試卷,我會採用這些材料嗎?」
真的,在學習任何東西時,你應該問問本身,它是不是 20% 的學習內容,能夠帶給你 80% 的價值。
這就涉及即時信息的概念。學習一些你不打算在近期使用的東西一般是沒有好處的,特別是若是你也跟我同樣記憶力差勁的話。我只會學習我當下所作項目所須要的知識。
你的老闆一般更關心你所作項目的結果,而不是你學習編程的過程。牢記這一點有利於你決定如何最好地利用你的時間。
不斷往前推動
在完成學位以後,我也沒有懈怠,而是繼續學習。我意識到作項目的重要性,因此我直接開始在 freeCodeCamp 建立我的項目來製做個人做品集。而且我在修學位時所使用的全部方法都能繼續派上用場。
當我決定開始製做 JavaScript 視頻教程的時候,這些方法也能用得上。如今我幾乎天天都會在freeCodeCamp YouTube 頻道上發佈 JavaScript 視頻教程。
若是你感興趣瞭解我具體是怎麼學習西部州長大學學位的每門課程的,你能夠看這篇博客。
我但願我使用的一些方法對你也有幫助,即便你跟我同樣生活忙碌。
請記住:標準的節奏是爲愚者設計的,而你能夠作得更好!