當(dāng)你覺得受困時(shí)該怎么辦?
譯文【51CTO.com快譯】技術(shù)到了一定的瓶頸,程序員該如何提升編程水平?每個(gè)開發(fā)者都有這樣的苦惱。有時(shí)候,我們會(huì)覺得被人遺忘了。我認(rèn)為,這是由于科技行業(yè)的變化太快了,如不提升自己的工作技能就會(huì)被淘汰。這時(shí)候,我們應(yīng)該接受變化,而不是害怕變化。這些年來,我已學(xué)會(huì)在瓶頸期如何突破自我并且不斷提升編程水平。具體方法如下:
1.選擇適合項(xiàng)目的語言,即便是放棄自己熟悉的語言
我曾經(jīng)犯過的***錯(cuò)誤就是,自我標(biāo)榜是一名某某語言開發(fā)人員。這之所以是個(gè)錯(cuò)誤,原因就在于我減少了對(duì)其他語言和技術(shù)應(yīng)予以的關(guān)注。一個(gè)活生生的例子就是,JavaScript社區(qū)的發(fā)展呈大爆發(fā)之勢(shì)。我本該早一些轉(zhuǎn)移對(duì)Python的關(guān)注,應(yīng)該多關(guān)注下Javascript,可事實(shí)上我并沒有。因?yàn)椋液苁煜ython也知道Python的市場份額在增長。隨著時(shí)間的推移,我開始覺得Python不再那么好用,因?yàn)槲蚁胍肞ython來處理的事情的時(shí)候,只能用Javascript來處理(就Web開發(fā)而言)。這讓我覺得麻煩。解決這個(gè)問題的方法很簡單:我開始培養(yǎng)JavaScrip技能。過了一段時(shí)間后我意識(shí)到,我在Javascript方面取得的進(jìn)展很大的進(jìn)展,也解決了我在工作上遇到的一些難點(diǎn)。
你不一定非要學(xué)習(xí)另一種語言,也許你是擁有Java EE經(jīng)驗(yàn)的Java程序員。如果,再不斷學(xué)習(xí)新的知識(shí),就可以克服受困的感覺,也就是學(xué)習(xí)一種新的單元測試框架,或者開始收聽有關(guān)Java的播客。只要可以提供一種新的、不同的視角,任何知識(shí)都行。當(dāng)被問題困住時(shí),我們需要不斷改變平時(shí)做法,用不同的方法去解決一個(gè)問題,找到***的解決方法,不斷的挑戰(zhàn)自己。
2.與他人分享經(jīng)驗(yàn)
我使用社交媒體和網(wǎng)絡(luò)論壇得到的***好處,就是我可以與其他開發(fā)人員分享經(jīng)驗(yàn),并且從他們分享的經(jīng)驗(yàn)中不斷學(xué)習(xí)。一個(gè)很好的例子是Hacker News。我喜歡參加這個(gè)社區(qū),因?yàn)榭梢垣@取廣泛的意見和經(jīng)驗(yàn)。你可能在與某人談?wù)撃撤N特定的技術(shù),開發(fā)這項(xiàng)技術(shù)的那個(gè)人可能突然露面,加入對(duì)話。以這種方式進(jìn)行交流是一種有效的學(xué)習(xí)手段。與更聰明的人交談是消除受困感覺的一種好方法。
當(dāng)然你得保證你謙虛的態(tài)度,學(xué)會(huì)傾聽別的意見選取適合自己的方法不斷的學(xué)習(xí)。否則,你不會(huì)得到多大的好處。3.別害怕失敗
我過去通常不喜歡分享代碼。我討厭分享代碼,我擔(dān)心別人會(huì)因代碼編的太爛而批評(píng)我。我之所以對(duì)自己的編程能力覺得毫無把握,是因?yàn)槲蚁M梢宰龅酶谩:ε聞e人說三道四,這會(huì)使我想在一個(gè)角落里隱藏起來。
事實(shí)上,每個(gè)人的編程水平都不咋樣。大家都是一個(gè)貨色,水平再高的程序員也會(huì)有一段很水的代碼。成功的程序員知道,只有通過失敗,才能成功。高水平的編程技能是由糟糕的編程技能不斷改進(jìn)而來的。對(duì)失敗的恐懼會(huì)封閉我們的思想,任由沒把握的感覺占上風(fēng)。我們應(yīng)該接受這個(gè)事實(shí):學(xué)習(xí)就是錯(cuò)誤不斷的過程,不能任由恐懼阻礙了我們前進(jìn)的腳步。只有學(xué)到足夠多的東西,你才會(huì)進(jìn)步。因此,為了成功,只能先失敗。
4.對(duì)自己要有耐心
我不敢承認(rèn)這點(diǎn):我在過了很久后才明白了這個(gè)道理。你對(duì)自己要有耐心,急于求成可不行,也就會(huì)存在這種可能性:自己把自己搞得筋疲力盡、導(dǎo)致倦怠。我不想讓你遇到這種情況。
那我怎樣才能對(duì)自己更有耐心?要明白,凡事都需要時(shí)間。我們要分清輕重緩急。我想要做許多機(jī)器人,可是也想要提高Javascript技能。于是,我決定先致力于加強(qiáng)JavaScript技能,做機(jī)器人的工作以后再說,而不是同時(shí)做這兩件事。分清輕重緩急還意味著,我們還要設(shè)定目標(biāo)。設(shè)定目標(biāo)很棘手。我在這方面學(xué)到的一個(gè)道理是,我們的估計(jì)總是錯(cuò)的,實(shí)際上任務(wù)要花更長的時(shí)間才能完成。有耐心意味著我們會(huì)重新考慮時(shí)間表,相應(yīng)地進(jìn)行調(diào)整。如果,利用好時(shí)間對(duì)來說會(huì)有意想不到的收獲,我們應(yīng)該要像管理寶貴資源那樣來管理時(shí)間。
我確確實(shí)實(shí)希望本文可以幫助你提升編程水平。那些,覺得受困不好玩,甚至?xí)钅憔趩实娜耍瑒e擔(dān)心,我認(rèn)為,如果你愿意試一試本文介紹的幾點(diǎn),會(huì)向前邁進(jìn),克服這種感覺。這些要點(diǎn)也許對(duì)你不適用,但你會(huì)明確一個(gè)重要的道理:接受自己覺得受困這個(gè)事實(shí)是擺脫這個(gè)困境的***步。
原文鏈接:https://dev.to/yelluw/what-to-do-when-you-feel-stuck
原文標(biāo)題:What to do when youfeel stuck.
原文作者:Pablo Rivera
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】