2017 年,出現了許多不同的開發職位。
如果你剛接觸編程,要決定編程方向會很困難。
你是應該專門從事前端開發呢?
還是后端開發?
是構建桌面 App 呢?
還是移動端 App 呢?
是選擇 VR 還是自動駕駛呢?
編程路上太多選擇...你該如何在一開始就選擇正確的一個?
如果你有過同樣的擔心,現在我可以告訴你,解決辦法來了。你不用在編程早期就為自己要走的方向下定義。
讓我通過籃球作為比喻來解釋。
在籃球比賽中,有著許多不同的位置......例如控球后衛,得分后衛,前鋒,中鋒。每個位置根據個人的技術能力都有著許多不同的玩法。
如果你對籃球感興趣也想開始的話,你不會從始至終地選擇同一個位置。如果那樣的話會嚴重限制你的籃球能力發展。相反地,你盡管開始玩,隨著你經驗的增長,你會自然地朝著你所擅長的和你喜歡的位置走去。
編程也是同樣的道理。你不能夠期盼著知道哪種編程語言是你將會擅長的和最吸引你的。相反地,你只需要開始......隨著時間的推移你會明白什么是你擅長的和哪些是你不太熟悉的。
如果你正在經歷著對于這個領域里開發者的類型數量感到迷茫甚至困惑,那么這篇博文正適合你認真閱讀。
我們寫這篇文章就是要幫助你突破思維麻痹,開始編程,然后就會逐漸明白你所喜歡的東西。
這里有18個建議來幫助你做好它。
建議 #1: 隨 HTML 和 CSS 建立項目
使用 HTML 和 CSS 建立并開始一個簡單的網站是相當容易的。這些技術架構的基礎是一種通過瀏覽器給用戶以信息的方式。
與 HTML 和 CSS 一起工作將會引導你編寫代碼,使用文本編輯器并激發你對開發工作的感覺。除此之外,無論您最終遵循了什么樣的編碼路徑,都非常實際地獲得了對構建網絡基礎模塊的基本了解。
建議 #2: 開始一個副項目
為了一個項目開始計劃,并實現這個想法。即使你不知道怎么去編碼,你也可以開始頭腦風暴來畫出圖形,展示如何將其融入到生活中。把它放在紙上會激勵你開始取得進展,并使其成為現實。
需要更多地指導?請查看我們的23步啟動你的副項目框架。
建議 #3: 嘗試前端開發
前端開發就是編寫在用戶 Web 瀏覽器中運行的代碼。
編寫前端代碼的時候,會與 Web 應用的可視化元素緊密聯系。
除此之外,前端開發者還要負責編寫使用頁面流暢并能適應瀏覽器大小的頁面代碼。前端開發者有時候也會寫一些非??岬膭赢媮韺崿F應用程序像素狀態之間的轉換。
建議 #4: 參加聚會
編程相關的聚會可以讓你在真實世界遇見其它開發者,相互進行交流。當你親自和其他開發者交談的時候,它可能會給你一些不錯的觀點。
試著參加一些聚會并向其他開發者學習從不同的角度去考慮問題。注意你遇到的程序員是什么樣的類型,會決定他們的視角和觀點。
建議 #5: 在 YouTube 上觀看研討會
世界上一些最好的程序員會在會議上發言。這些談話可以讓你接觸到不同的專業思維模式,這些思維模式能啟發你去思考什么是你想做的。
建議 #6: 回答 Quora 上關于學習編碼的問題
把你喜歡的編程相關的知識寫起來,這會有助于你進一步發現自己的興趣所在。你也可以收獲別人熱情的、非常棒的反饋。
與全世界分享自己的知識并不難,而Quora就是個不錯的地方。
建議 #7: 給 Ruby 編程語言一個鏡頭
Ruby 是我個人熱愛的一種編程語言。我建議你去嘗試一下,并在最初的嘗試中判斷是否適合你,一個程序員的口味。
Ruby 是一種具有流暢語法的編程語言,這使它成為一種很好的入門級語言。當你深入學習,進入到語言的高級階段(比如元編程),你會意識到它是一個令人驚訝的編程語言,強大而又靈活。
建議 8: 體驗各種不同的技術
愛上一門技術的唯一方法就是去實際體驗一番。在你的業余時間,去體驗一下各種不同的編程語言、框架、工具以及程序包吧。體驗一些你不怎么熟悉的事務可以幫助你了解自己喜好什么以及不喜好什么, 這樣就能夠幫助你專注于向前。
建議 9: 找個人和你一起學習寫代碼
這樣做總能使你更加的負責且高效。你的學習搭檔或許也會幫助你發現一些之前沒有想到的方面,將你引導向一個最終會愛上的特殊領域。
建議 10:別忘了打好基礎
也許成為一名專業的程序員有許多的方法可循,但即使是有這么多方法可循,基礎都有著相同的重要性。
沒有基礎,在遇到像下面這樣的一些麻煩事兒的時候,你就很容易陷進去:
寫代碼的時候事倍功半。
代碼的解決方案總是不盡如人意。
如果不了解如何使用像算法以及數據結構這樣的 CS 概念,解決起真實世界中的編程問題,其感覺就像是只用 9 號球桿打高爾夫一樣。這樣你就能搞定一切嗎? 也許吧。不過比起那些對球桿型號如數家珍的選手而言,你的生涯之路更加痛苦且遙遙無期啊。
建議 11: 搞一搞數據庫
數據庫在幾乎所有的網頁應用程序上都有被用到。通過了解數據庫是如何運作的,你就能明白如何做如下一些事情:
插入數據
移除數據
更新數據
獲取數據
學習了這些玩意兒,你就能構建更加強大的數據庫驅動型應用程序了。這幾個同數據庫進行交互的不同方面優勢被簡單地叫做?CRUD: 創建(Create)/讀?。≧ead)/更新(Update)/刪除(Delete)。
建議 12: 搞一搞 JavaScript
JavaScript 是一種相當怪異的編程語言。但使它變得奇怪的許多方面都是其真正強大和有趣之處。
JavaScript 是那些在使用之前根本沒有時間來精確地了解它的腳本玩家來寫的。
如何你正在 2017 年學習編程,你就需要去學習一定量的 JavaScript 技術。不管你喜歡還是討厭 JavaScript,都要明白?JavaScript 在許多的編程領域都能派上用場。學習它的一些知識在一定程度上對你的編程生涯是有實際意義的。
建議 #13:開始寫技術博客
通過寫復雜的編程想法,你將會在大腦里更好理解這些概念,同時向其他人展示你的獨特視角。除此之外,寫博客可以引導你直達真正關心的閃光點。
畢竟,你不會花幾個小時寫一篇你不感興趣的技術文章。
建議 #14:嘗試在 StackOverflow 解決問題
對 StackOverflow 的貢獻是一個強有力的評價指標,說明您真正擅長什么方面的編程。
如果你解決了一個在 StackOverflow 上沒有很好的答案的問題,那就花幾分鐘時間在這個問題上發布你的答案。
這不僅能幫助引導你,這種付出還能帶來回報。比如你在 StackOverflow 上問了一個問題,就有很大希望被應答。上個星期我就遇到這種事。
建議 #15: 學習如何研究
不論你想做自動駕駛汽車、web 應用、還是虛擬顯示設備......你都需要弄清楚如何研究。這是成為一個開發者重要的一部分。你需要學會如何將互聯網作為研究工具。
您將要學習如何將問題轉化為 Google 關鍵字進行搜索并得到答案。無論您想要達到什么樣的專業程度,這種技能都非常有價值。
建議 #16: 嘗試構建響應式 Web 應用程序
響應式 Web 應用程序是適用于用戶與您的應用程序在指定設備進行交互的程序。 例如:臺式電腦,手機和 iPad 。
人們將與您建立的應用程序以許多不同于您設想的方式進行交互。 學習如何在所有設備上構建驚人的用戶體驗對于所有類型的開發人員來說都是非常有價值的。
建議 #17: 花時間學無障礙相關技術
網站是要被所有人訪問的。這部分人中有一些人需要的交互方式可能會與你有所不同。
典型的一個案例就是考慮盲人如何使用屏幕閱讀器設備與 Web 應用交互。 屏幕閱讀器無法知道圖像的外觀。 這也就是為什么像替代文本(與圖像一起顯示的圖像的純文本描述)對于需要和使用這種設備構建的應用進行交互的人來說,是非常有用的。
建議 #18: 不要做無用功
所有好的程序員都有一些特定的特征,這些特性真正具有專業性。
所以不用擔心在成長過程中提前選擇一個發展的路徑方向。 專注于這些技巧,并積累成你跨越各行各業的基本技能。
如果你剛剛涉獵或者已經編碼有一段時間了,而且你沒想好你準備編程到什么時候,這就夠了!
最好的籃球運動員在剛開始時也不知道他們想打什么位置。 直到他們弄清楚自己擅長什么,最終專注于挖掘自己的優勢。
編碼之旅也是如此。 在開始之前,您不必知道一切。 只需開始編碼,并朝你有熱情的方向前行!
編譯自:18 Essential Tips For The Aspiring Developer Who Has No Idea Where To Start