|
想要搞開發(fā)?開發(fā)可不像你想得那樣簡單。 有一種對軟件開發(fā)者的偏見是:他們都是無趣的極客,是學校里的數(shù)學天才,每天都要在計算機屏幕前花費多個小時去寫代碼。 沒錯,開發(fā)者確實會在計算機屏幕前花費多個小時去寫代碼。但是,每天的工作中還有很多比寫代碼更重要的事情。就我個人而言,開發(fā)者意味著有機會自己做出很酷的東西。 我在大二那年開始自學前端開發(fā)。剛開始時我遇到了各種障礙,并一度懷疑自己,但這條路上也到處都是快樂和興奮。我從沒想過我在學習過程中能經(jīng)歷什么事情。但有時候,即使是現(xiàn)在,我依然在考慮我是否選擇了正確的路。但我會對自己說,沒有什么是比從事自己熱愛的事業(yè)更快樂的了。 從我寫下第一行代碼到現(xiàn)在已經(jīng)過去大約兩年了。經(jīng)過這許多小時的練習,曾一度想過放棄,也曾經(jīng)歷過中斷,現(xiàn)在我想跟你們分享一些我的經(jīng)驗。 別把編碼當成業(yè)余愛好 首先,也是最重要的一點:如果你真的想把寫代碼當成事業(yè),那這毫無疑問是正確的。我完全同意,人們不會把時間花在自己不喜歡的東西上。 但是,作為業(yè)余愛好來寫代碼——也就是說,只是寫代碼而沒有任何目標或計劃——不太可能帶你走向你希望的職業(yè)編程道路。 此外,在遇到障礙和困難時,你會有足夠的耐心來保持編碼的興趣嗎?還是說可能會放棄,或者在中途停下腳步? 因此,你必須要專注于自己的熱情。我很肯定所有開發(fā)者都會編碼和對技術(shù)有著極大的熱忱。 但是,沒有實際的執(zhí)行,熱情就毫無用處。制定具體的目標,再加上合適的計劃,才能給編程之路設置里程碑。在某個時間范圍內(nèi)設定一個宏偉的目標,設定每個階段要學習的技術(shù)和技能。這樣,學習編程才能成為你生活中的重要部分。 確定希望專注的技術(shù) 一旦開始認真寫代碼,下一步就是要對自己誠實。你想成為哪種開發(fā)者? 首先從自己最感興趣的部分開始。你想要做用戶界面,控制產(chǎn)品與用戶交互的方式?那么你應該著重于前端技術(shù)。或者你天生不適合做設計,而更喜歡服務器上的工作?那么應該專注于后臺技術(shù)。 要根據(jù)自己的興趣確定自己想學什么,這一點非常關鍵。如果不能確定,可以在Google上搜索,并簡單嘗試一下。我們都有自己的偏好和技能,那些就是我們最擅長的東西。所以,這個問題其實沒你想象的那么難。 從最簡單的東西開始 剛開始時,你可能會對每個任務都感到困惑,無論任務有多難或多簡單。即使是給項目選一個合適的文本編輯器,并設置好環(huán)境,都會給你帶來許多意料之外的問題。 因此,如果你完全是個新手,想嘗試第一種語言,我強烈推薦從最簡單的開始??梢赃x擇那些提供交互式編程環(huán)境的平臺入手,如Codecademy。 我也是用這種方式開始的。這些平臺能幫你專注于熟悉編程語言本身,而不用考慮環(huán)境設置等。當然稍后你會學習這些東西,但我一直認為,開始寫代碼不僅能讓人興奮,還可以避免讓你過于疲勞。 有什么學習資源? 成為軟件開發(fā)者有多種途徑??梢韵刃抟粋€計算機科學的學位,參加編程訓練營,甚至可以自學。不論哪種方式,你都需要不斷更新學習資料。由于我選擇了最后一種途徑,我可以分享些我找到的學習資源。 從交互式編程環(huán)境開始 作為第一步,可以從最容易理解、最容易學習的平臺入手,如Codecademy。這些平臺提供的環(huán)境可以讓你閱讀學習資料,然后利用網(wǎng)頁上自帶的編輯器直接練習所學的知識。結(jié)果也會在屏幕上立即顯示。只需要免費注冊,選擇你想要學習的技術(shù),輸入學習計劃,就可以開始學習了。 另一個對新手十分有用的資源就是freeCodeCamp。它不像Codecademy那樣必須為高級課程付費(盡管這些付費課程非常有用),freeCodeCamp提供完全免費的課程和學習計劃。他們甚至會在完成每個主要課程后給你發(fā)證書。 他們的教程也包括詳細的學習指南、內(nèi)置的文本編輯器和清晰的解釋。此外,還有些項目可以讓你使用學到的知識解決各種問題。 選擇正確的學習資源 這個過程其實很困難,并不是因為可信的、詳盡的資源太少。實際上,好的入門資源太多,很可能會讓你應接不暇。選擇方向很困難,因為你不太可能在每條路上都花一段時間。因此,不好的教程不僅會讓你浪費時間,而且會讓你喪失繼續(xù)前進的熱情。 關于“我該學什么”這個問題,在詢問別人或者詢問Google之前,一定要先問自己!為什么?因為網(wǎng)上有各種各樣的教程——視頻、電子書、教科書,還有在線或面對面的訓練營。只有你自己才能判斷出哪種資源能更有效地幫你學習。 就我個人而言,我喜歡看視頻教程,一邊看一邊跟著寫代碼。因此我選擇了視頻教程作為主要的學習方式。但也許你更喜歡閱讀,以便自己控制學習速度。那樣你最好選擇比較著名的書。 不幸的是,你也許需要結(jié)合不同的學習方法。但是,不論哪種方法你都會在Medium上花費很多時間,在這里你會發(fā)現(xiàn)許多最適合你的資源。 這樣,就像你確定學習哪種技術(shù)一樣,后退一步,仔細考慮,選擇最適合自己的學習資源。一旦找到合適的資源,就可以開始學習了! 下面是我找到的一些學習資源: 視頻
MOOC(付費在線課程)
書籍
進入技術(shù)圈 如上所述,不論你選擇哪種資源,你很可能都要依賴medium上的博客。這就是成為開發(fā)者的最有趣的地方。進入技術(shù)圈,就可以“在放松中學習”。 想象一下……
這個故事是否對你有一點打動?如果是的話,那你還等什么?趕快跳進技術(shù)圈,進入這個所有人都在開發(fā)技術(shù)應用,讓世界變得更美好吧。 練習,練習,再練習 好,現(xiàn)在你大概知道從哪里開始了,那么最好是現(xiàn)在就開始。但是,熟悉一項技術(shù)需要很多時間。想要精通,則需要大量的工作。不付出汗水和淚水,就不可能填補新手和有經(jīng)驗的開發(fā)者之間的空白。 換句話說,要想熟練掌握一門編程語言,就要付出許多個小時甚至多年的練習。那么該怎樣做呢?
如果你感到累了,就休息下到處轉(zhuǎn)轉(zhuǎn),看看論壇和各個平臺上的技術(shù)領袖們和經(jīng)驗豐富的開發(fā)者們分享的技術(shù)新聞?;旧弦屪约荷硖幖夹g(shù)圈中。 記住,這是朝著成功階梯邁出的重要的一步。你付出的努力越多,你的自信和熱情就會越高。只需要記住,這件事沒有結(jié)晶。沒有任何語言或庫能夠幫你一夜成功。不斷嘗試,從失敗中學習,積極努力,遵循計劃,相信自己。 也許美夢成真的時刻就在前面!
作者:Vinh Le,前端開發(fā) |
|
|
來自: 張大大哥 > 《數(shù)學計算機》