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