2017 年乱灵,出現(xiàn)了許多不同的開發(fā)職位塑崖。
如果你剛接觸編程,要決定編程方向會(huì)很困難痛倚。
你是應(yīng)該專門從事前端開發(fā)呢规婆?
還是后端開發(fā)?
是構(gòu)建桌面 App 呢蝉稳?
還是移動(dòng)端 App 呢抒蚜?
是選擇 VR 還是自動(dòng)駕駛呢?
編程路上太多選擇...你該如何在一開始就選擇正確的一個(gè)耘戚?
讓我通過籃球作為比喻來解釋嗡髓。
在籃球比賽中,有著許多不同的位置......例如控球后衛(wèi)毕莱,得分后衛(wèi)器贩,前鋒,中鋒朋截。每個(gè)位置根據(jù)個(gè)人的技術(shù)能力都有著許多不同的玩法蛹稍。
如果你對(duì)籃球感興趣也想開始的話,你不會(huì)從始至終地選擇同一個(gè)位置部服。如果那樣的話會(huì)嚴(yán)重限制你的籃球能力發(fā)展唆姐。相反地,你盡管開始玩廓八,隨著你經(jīng)驗(yàn)的增長奉芦,你會(huì)自然地朝著你所擅長的和你喜歡的位置走去。
編程也是同樣的道理剧蹂。你不能夠期盼著知道哪種編程語言是你將會(huì)擅長的和最吸引你的声功。相反地,你只需要開始......隨著時(shí)間的推移你會(huì)明白什么是你擅長的和哪些是你不太熟悉的宠叼。
如果你正在經(jīng)歷著對(duì)于這個(gè)領(lǐng)域里開發(fā)者的類型數(shù)量感到迷茫甚至困惑先巴,那么這篇博文正適合你認(rèn)真閱讀。
我們寫這篇文章就是要幫助你突破思維麻痹冒冬,開始編程伸蚯,然后就會(huì)逐漸明白你所喜歡的東西。
這里有18個(gè)建議來幫助你做好它简烤。
建議 #1: 隨 HTML 和 CSS 建立項(xiàng)目
使用 HTML 和 CSS 建立并開始一個(gè)簡單的網(wǎng)站是相當(dāng)容易的剂邮。這些技術(shù)架構(gòu)的基礎(chǔ)是一種通過瀏覽器給用戶以信息的方式。
與 HTML 和 CSS 一起工作將會(huì)引導(dǎo)你編寫代碼横侦,使用文本編輯器并激發(fā)你對(duì)開發(fā)工作的感覺挥萌。除此之外绰姻,無論您最終遵循了什么樣的編碼路徑,都非常實(shí)際地獲得了對(duì)構(gòu)建網(wǎng)絡(luò)基礎(chǔ)模塊的基本了解瑞眼。
建議 #2: 開始一個(gè)副項(xiàng)目
為了一個(gè)項(xiàng)目開始計(jì)劃龙宏,并實(shí)現(xiàn)這個(gè)想法棵逊。即使你不知道怎么去編碼伤疙,你也可以開始頭腦風(fēng)暴來畫出圖形,展示如何將其融入到生活中辆影。把它放在紙上會(huì)激勵(lì)你開始取得進(jìn)展徒像,并使其成為現(xiàn)實(shí)。
需要更多地指導(dǎo)蛙讥?請(qǐng)查看我們的23步啟動(dòng)你的副項(xiàng)目框架锯蛀。
建議 #3: 嘗試前端開發(fā)
前端開發(fā)就是編寫在用戶 Web 瀏覽器中運(yùn)行的代碼。
編寫前端代碼的時(shí)候次慢,會(huì)與 Web 應(yīng)用的可視化元素緊密聯(lián)系旁涤。
除此之外,前端開發(fā)者還要負(fù)責(zé)編寫使用頁面流暢并能適應(yīng)瀏覽器大小的頁面代碼迫像。前端開發(fā)者有時(shí)候也會(huì)寫一些非撑蓿酷的動(dòng)畫來實(shí)現(xiàn)應(yīng)用程序像素狀態(tài)之間的轉(zhuǎn)換。
建議 #4: 參加聚會(huì)
編程相關(guān)的聚會(huì)可以讓你在真實(shí)世界遇見其它開發(fā)者闻妓,相互進(jìn)行交流菌羽。當(dāng)你親自和其他開發(fā)者交談的時(shí)候,它可能會(huì)給你一些不錯(cuò)的觀點(diǎn)由缆。
試著參加一些聚會(huì)并向其他開發(fā)者學(xué)習(xí)從不同的角度去考慮問題注祖。注意你遇到的程序員是什么樣的類型,會(huì)決定他們的視角和觀點(diǎn)均唉。
建議 #5: 在 YouTube 上觀看研討會(huì)
世界上一些最好的程序員會(huì)在會(huì)議上發(fā)言是晨。這些談話可以讓你接觸到不同的專業(yè)思維模式,這些思維模式能啟發(fā)你去思考什么是你想做的舔箭。
建議 #6: 回答 Quora 上關(guān)于學(xué)習(xí)編碼的問題
把你喜歡的編程相關(guān)的知識(shí)寫起來罩缴,這會(huì)有助于你進(jìn)一步發(fā)現(xiàn)自己的興趣所在。你也可以收獲別人熱情的限嫌、非常棒的反饋靴庆。
與全世界分享自己的知識(shí)并不難,而Quora就是個(gè)不錯(cuò)的地方怒医。
建議 #7: 給 Ruby 編程語言一個(gè)鏡頭
Ruby 是我個(gè)人熱愛的一種編程語言炉抒。我建議你去嘗試一下,并在最初的嘗試中判斷是否適合你稚叹,一個(gè)程序員的口味焰薄。
Ruby 是一種具有流暢語法的編程語言拿诸,這使它成為一種很好的入門級(jí)語言。當(dāng)你深入學(xué)習(xí)塞茅,進(jìn)入到語言的高級(jí)階段(比如元編程)亩码,你會(huì)意識(shí)到它是一個(gè)令人驚訝的編程語言,強(qiáng)大而又靈活野瘦。
建議 8: 體驗(yàn)各種不同的技術(shù)
愛上一門技術(shù)的唯一方法就是去實(shí)際體驗(yàn)一番描沟。在你的業(yè)余時(shí)間,去體驗(yàn)一下各種不同的編程語言鞭光、框架吏廉、工具以及程序包吧。體驗(yàn)一些你不怎么熟悉的事務(wù)可以幫助你了解自己喜好什么以及不喜好什么, 這樣就能夠幫助你專注于向前惰许。
建議 9: 找個(gè)人和你一起學(xué)習(xí)寫代碼
這樣做總能使你更加的負(fù)責(zé)且高效席覆。你的學(xué)習(xí)搭檔或許也會(huì)幫助你發(fā)現(xiàn)一些之前沒有想到的方面,將你引導(dǎo)向一個(gè)最終會(huì)愛上的特殊領(lǐng)域汹买。
建議 10:別忘了打好基礎(chǔ)
也許成為一名專業(yè)的程序員有許多的方法可循佩伤,但即使是有這么多方法可循,基礎(chǔ)都有著相同的重要性晦毙。
沒有基礎(chǔ)生巡,在遇到像下面這樣的一些麻煩事兒的時(shí)候,你就很容易陷進(jìn)去:
寫代碼的時(shí)候事倍功半结序。
代碼的解決方案總是不盡如人意障斋。
如果不了解如何使用像算法以及數(shù)據(jù)結(jié)構(gòu)這樣的 CS 概念,解決起真實(shí)世界中的編程問題徐鹤,其感覺就像是只用 9 號(hào)球桿打高爾夫一樣垃环。這樣你就能搞定一切嗎? 也許吧。不過比起那些對(duì)球桿型號(hào)如數(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ū)動(dòng)型應(yīng)用程序了。這幾個(gè)同數(shù)據(jù)庫進(jìn)行交互的不同方面優(yōu)勢被簡單地叫做?CRUD: 創(chuàng)建(Create)/讀攘菖臁(Read)/更新(Update)/刪除(Delete)霹肝。
建議 12: 搞一搞 JavaScript
JavaScript 是一種相當(dāng)怪異的編程語言。但使它變得奇怪的許多方面都是其真正強(qiáng)大和有趣之處塑煎。
JavaScript 是那些在使用之前根本沒有時(shí)間來精確地了解它的腳本玩家來寫的沫换。
如何你正在 2017 年學(xué)習(xí)編程,你就需要去學(xué)習(xí)一定量的 JavaScript 技術(shù)最铁。不管你喜歡還是討厭 JavaScript讯赏,都要明白 JavaScript 在許多的編程領(lǐng)域都能派上用場垮兑。學(xué)習(xí)它的一些知識(shí)在一定程度上對(duì)你的編程生涯是有實(shí)際意義的。
建議 #13:開始寫技術(shù)博客
通過寫復(fù)雜的編程想法漱挎,你將會(huì)在大腦里更好理解這些概念系枪,同時(shí)向其他人展示你的獨(dú)特視角。除此之外磕谅,寫博客可以引導(dǎo)你直達(dá)真正關(guān)心的閃光點(diǎn)私爷。
畢竟,你不會(huì)花幾個(gè)小時(shí)寫一篇你不感興趣的技術(shù)文章怜庸。
建議 #14:嘗試在 StackOverflow 解決問題
對(duì) StackOverflow 的貢獻(xiàn)是一個(gè)強(qiáng)有力的評(píng)價(jià)指標(biāo)当犯,說明您真正擅長什么方面的編程。
如果你解決了一個(gè)在 StackOverflow 上沒有很好的答案的問題割疾,那就花幾分鐘時(shí)間在這個(gè)問題上發(fā)布你的答案。
這不僅能幫助引導(dǎo)你嘉栓,這種付出還能帶來回報(bào)宏榕。比如你在 StackOverflow 上問了一個(gè)問題,就有很大希望被應(yīng)答侵佃。上個(gè)星期我就遇到這種事麻昼。
建議 #15: 學(xué)習(xí)如何研究
不論你想做自動(dòng)駕駛汽車、web 應(yīng)用馋辈、還是虛擬顯示設(shè)備......你都需要弄清楚如何研究抚芦。這是成為一個(gè)開發(fā)者重要的一部分。你需要學(xué)會(huì)如何將互聯(lián)網(wǎng)作為研究工具迈螟。
您將要學(xué)習(xí)如何將問題轉(zhuǎn)化為 Google 關(guān)鍵字進(jìn)行搜索并得到答案啦粹。無論您想要達(dá)到什么樣的專業(yè)程度址芯,這種技能都非常有價(jià)值。
建議 #16: 嘗試構(gòu)建響應(yīng)式 Web 應(yīng)用程序
響應(yīng)式 Web 應(yīng)用程序是適用于用戶與您的應(yīng)用程序在指定設(shè)備進(jìn)行交互的程序。 例如:臺(tái)式電腦斗塘,手機(jī)和 iPad 。
人們將與您建立的應(yīng)用程序以許多不同于您設(shè)想的方式進(jìn)行交互缨称。 學(xué)習(xí)如何在所有設(shè)備上構(gòu)建驚人的用戶體驗(yàn)對(duì)于所有類型的開發(fā)人員來說都是非常有價(jià)值的沛申。
建議 #17: 花時(shí)間學(xué)無障礙相關(guān)技術(shù)
網(wǎng)站是要被所有人訪問的。這部分人中有一些人需要的交互方式可能會(huì)與你有所不同耘拇。
典型的一個(gè)案例就是考慮盲人如何使用屏幕閱讀器設(shè)備與 Web 應(yīng)用交互撵颊。 屏幕閱讀器無法知道圖像的外觀。 這也就是為什么像替代文本(與圖像一起顯示的圖像的純文本描述)對(duì)于需要和使用這種設(shè)備構(gòu)建的應(yīng)用進(jìn)行交互的人來說惫叛,是非常有用的倡勇。
建議 #18: 不要做無用功
所有好的程序員都有一些特定的特征,這些特性真正具有專業(yè)性挣棕。
所以不用擔(dān)心在成長過程中提前選擇一個(gè)發(fā)展的路徑方向译隘。 專注于這些技巧亲桥,并積累成你跨越各行各業(yè)的基本技能。
如果你剛剛涉獵或者已經(jīng)編碼有一段時(shí)間了固耘,而且你沒想好你準(zhǔn)備編程到什么時(shí)候题篷,這就夠了!
最好的籃球運(yùn)動(dòng)員在剛開始時(shí)也不知道他們想打什么位置厅目。 直到他們弄清楚自己擅長什么番枚,最終專注于挖掘自己的優(yōu)勢。
編碼之旅也是如此损敷。 在開始之前葫笼,您不必知道一切。 只需開始編碼拗馒,并朝你有熱情的方向前行路星!
英文原文:18 Essential Tips For The Aspiring Developer Who Has No Idea Where To Start
翻譯?(7人)?:
?Viyi,ismdeep,leoxu,SerBad,peng26,無若,奪寶奇兵
轉(zhuǎn)載:開源翻譯