你覺得學習程式設計是一個有壓力的事情嗎?很多人不這麼認爲,在一些人眼裏,程式設計師只需要坐在電腦前打字,與醫藥、銀行或會計行業相比,程式設計既不面臨生死攸關的難題,也無需承擔重大責任。
但事實證明編碼焦慮是真實存在的。我發現許多學生在學習或者工作一個多小時後便無法集中注意力,在學習和工作的壓力讓他們筋疲力竭。或許真的有些天賦異稟的人把敲程式碼當成打遊戲,但這種看法其實更多來自不明就裏的外行人。你真的有必要學習一些技巧,在必要的時候對抗編碼焦慮。
首先,我們需要深入瞭解一下造成技術學習者壓力的主要原因。我將造成程式設計師們焦慮的原因概括爲三點:
● 騙子綜合徵。程式設計師的平均年薪相當高(據調查,平均年薪爲8.6萬美元),很多開發人員認爲他們的能力與薪資不匹配。團隊工作同樣讓人倍感壓力,你總會接觸到更聰明、更精通技術的同事,他們有遠見,注重細節。上述種種讓軟件開發人員妄自菲薄,擔心會被人認爲是冒牌貨,倍感壓力。
● 並非「真實的程式設計師」。如果你對技術的興趣由來已久,那麼對「真實的程式設計師」原型一定不陌生。你經常可以在各個程式設計師社交平臺上看到這些程式設計師講述自己有多勤勉工作,幾乎不在意週末或業餘時間。
外界普遍認爲程式設計師就像工作機器,以至於初學程式設計者開始懷疑自己:「我無法連續編碼8小時,或許軟件開發這一職業並不適合我?」斯坦福的一項研究顯示,過度工作只會適得其反,每週工作40小時的員工,其工作效率是每週工作60小時的員工的三倍。
● 入行太晚。儘管在我看來只要渴望學習,渴求汲取新技術,程式設計就無年齡限制,但我的一些學生並不這麼認爲。任何人在聽到14歲天才AI工程師的故事都會感到威脅且受到打擊。30歲左右的程式設計學習者在感受到年輕程式設計天才的威脅後就開始低估自己的能力,不敢要求更高的薪水。
如果你也在和這些問題做鬥爭,不要讓自己陷入這些情緒裡,你得積極主動地面對編碼焦慮,提高學習效率。
如何讓學習編碼變得妙趣橫生,讓人不斷學習?如何讓自己不因同齡人的成功與失敗而心生嫉妒,因此泄氣?以下是我的一些經驗見解。
是精通一門程式語言更好,還是成爲衆多中級程式設計師中的一員更好,這是軟件開發中常見的爭論。我個人不介意使用多種語言,但我認爲每個程式設計師都應熟練掌握一種技術。
想想我們說的語言,掌握兩三種甚至五種語言的都大有人在。但是,大部分人只精通一種(最多兩種)語言,即你思考所用的語言,同朋友聊天所用的語言。在這一點上,程式設計和語言是相似的,你可以學習多種語言,但得確保自己作爲程式設計師只用一種語言「思考」。
作爲一名程式設計學生,起步階段應該學習哪種語言呢?從學習資源的數量、就業市場和技術的通用性考慮,我建議程式設計學員從C/C++入手。
♨ 工作機會遙遙領先。根據全球最大的招聘網站Indeed,Java、C/C++和 Javascript是首選的程式語言,有着大量職位空缺。
♨ 教學資源豐富。初學者常常會因爲找不到可信任的學習資源而手足無措,爲了確保自己學習的程式語言達到最高行業標準,看看頂尖的大學和學習實踐是很有幫助的。
♨ 開發者薪酬不菲。確保與你所學的程式語言相關的工作報酬豐厚至關重要,薪酬與壓力直接掛鉤。C/C++是電腦科學研究中收入最高的領域之一,根據調查顯示,C/C++開發人員的平均年薪爲84000美元。
剛開始學程式設計的程式設計師,往往不在其基本概念上下足功夫,就開始學習程式語言。他們太過依賴在網上查詢的所有學習內容,這樣會直接一塌糊塗。大多數初學者過早開始接觸高階概念,很快就因語言太過複雜和自身缺乏進步而受挫。
如果你想在最短時間內成爲一名成功的程式設計師,規劃好學習曲線至關重要。那麼怎樣建立你能真正堅持的高效課程?
首先按照複雜度遞增的順序,寫下你想學的語言的概念。C/C++列表如下:
♨ 基本C/C++語法
♨ 主要物件導向概念
♨ 集合類以及數據結構
♨ 數據庫
♨ 多執行緒、多進程
將這些概念分解爲更小的模組,把它作爲每日學習的主題。下面 下麪是C/C++語法概唸的舉例情況:
♨ 變數
♨ 數據型別
♨ 回圈
♨ 語句
爲每個模組設立清晰的截止日期,這樣便能對完成部分課程所需時間有切實的瞭解。切忌低估——程式語言概念比你想象的更爲複雜。最好設定上限,不要進行一連數小時的壓力練習。
對於程式開發學生來說,必須應用在現實中學習所獲得的知識是一個主要的崩潰原因。某論壇使用者完美總結出這一焦慮:「每次程式設計的時候,我就擔心有一天我會被其他專業程式設計師面試。」
如果你也害怕自己不具有在工作面試中脫穎而出的特質,那麼罪魁禍首可能是你學習的資源。雖然書籍和視訊課程對於學習語言本質很重要,但實踐同樣甚至更重要。
書籍和教學佔總資源的20%,主要用於參考。
據統計,大多數程式設計師不看書。我能理解原因,大部分書都很無聊且過時,書中所言在腦海中停留不了太久。然而,如果我在專案中遇到困難,我想很多人都想知道在找到問題的解決方案時可以參考哪些書籍、文件資源和教學。
這時,你更需要一個有經驗的大佬來教你,這是你碰到問題最快的解決辦法!
如果你是程式設計專業的學生且正在對抗編碼焦慮,請記住,你並不孤單。爲自己制定明確的目標和計劃,以平靜的心態對待每一天的學習,找到朋友相互支撐,你會度過這段艱難時期。
學計算機不易,此路應攜手前行。
如果你也想學計算機程式設計的話!
還有免費(零基礎教學,專案實戰教學視訊)!
涉及:遊戲開發、課程設計、常用軟件開發、程式設計基礎知識、駭客等等...
和志同道合的小夥伴們一起學程式設計吧!