自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

程序員從初級(jí)到中級(jí)10個(gè)秘訣

開(kāi)發(fā) 后端
程序員需要不斷提升自己的業(yè)務(wù)技術(shù),他的技術(shù)必須一直保持在一個(gè)較高的水平,并且要不斷發(fā)展。本文主要介紹了,程序員如何從初級(jí)躍升到中級(jí)?讓我們一起來(lái)看。

程序員如何才能完成從初級(jí)到中級(jí)的蛻變,Justin James發(fā)表的博文《10 tips for advancing from a beginner to an intermediate developer》,則為我們介紹了?,F(xiàn)將中文譯文轉(zhuǎn)載于此,供大家借鑒。

在一封與TechRepublic會(huì)員交流的郵件當(dāng)中,他提到了面向程序員的博客、文章及雜志分成兩類(lèi):面向初學(xué)者類(lèi)(“hello world”這種類(lèi)型的教程)以及面向?qū)<翌?lèi)(MSDN雜志)。這個(gè)觀(guān)點(diǎn)很好,有關(guān)程序員如何從初級(jí)躍升到中級(jí)的信息極少。以下是為了實(shí)現(xiàn)這種轉(zhuǎn)變需要你去做的10件事。

1.學(xué)習(xí)另一門(mén)語(yǔ)言

其實(shí)你學(xué)的是哪一門(mén)語(yǔ)言并沒(méi)有關(guān)系,但是學(xué)習(xí)另一門(mén)語(yǔ)言(不管你已經(jīng)了解多少種語(yǔ)言)將把你打造為更好的程序員。能學(xué)會(huì)一門(mén)與你日常使用的語(yǔ)言風(fēng)格迥異的 語(yǔ)言則更佳。打個(gè)比方,如果你是C#程序員,學(xué)習(xí)VB.NET或者Java對(duì)你的幫助就沒(méi)有學(xué)習(xí)Ruby或者Groovy大。 我說(shuō)“學(xué)另一門(mén)語(yǔ)言”的意思是要真正學(xué)會(huì)它。學(xué)習(xí)一門(mén)語(yǔ)言包括三個(gè)領(lǐng)域的知識(shí):語(yǔ)法、內(nèi)置操作符和庫(kù),以及“如何使用”。前面兩個(gè)簡(jiǎn)單;我認(rèn)為一名有經(jīng)驗(yàn) 的程序員,根據(jù)語(yǔ)言的不同,能在半小時(shí)到幾小時(shí)內(nèi)掌握足以維護(hù)代碼的語(yǔ)法知識(shí)。操作符和庫(kù)只不過(guò)是知識(shí)逐步積累的過(guò)程,你什么時(shí)候想清楚要了解什么了,再 去查閱參考材料也不遲。只有第三項(xiàng),“如何使用它”-要花上你幾個(gè)月的時(shí)間去跟這門(mén)語(yǔ)言打交道,真正的奇跡就在此發(fā)生。我建議用這門(mén)語(yǔ)言的風(fēng)格去做一個(gè)適 合該語(yǔ)言的項(xiàng)目。 真正學(xué)會(huì)了另一門(mén)語(yǔ)言之后,我敢保證你的程序員水平一定會(huì)突飛猛進(jìn)。

2.學(xué)習(xí)先進(jìn)的搜索技術(shù)、手段和及策略

作為一名好的程序員,不僅僅是技能的問(wèn)題了,而是你尋找信息的技巧,這個(gè)趨勢(shì)越來(lái)越明顯。對(duì)大部分人而言,僅僅輸入“現(xiàn)代語(yǔ)言及開(kāi)發(fā)框架”,這都是泛泛之 談,記不住多少的。因此,你完成工作的能力通常取決于你的檢索能力。不幸的是,了解到如何找到準(zhǔn)確而高質(zhì)量的信息可不僅僅是跑到TechRepublic 來(lái)找答案,或者在你選好的搜索引擎上敲幾個(gè)字那么簡(jiǎn)單。 “技術(shù)(Techniques)”、“手段(tactics)”和“策略(strategies)”看起來(lái)是一回事,實(shí)際上并非如此。你需要學(xué)會(huì)的技術(shù)是 掌握你喜愛(ài)的搜索引擎的高級(jí)搜索系統(tǒng);你需要了解諸如布爾操作符,如何過(guò)濾結(jié)果(像“非”關(guān)鍵字,域限制等等),關(guān)鍵字的詞序扮演什么角色,等等。一句 話(huà),RTFM(Read The Fucking Manual,讀那些他媽的手冊(cè))吧。 你應(yīng)該學(xué)會(huì)這些手段,諸如如何接近特定的搜索,以及了解自己實(shí)際上想查些什么。查錯(cuò)誤很容易—只需查出錯(cuò)代碼即可—但是許多搜索的關(guān)鍵字選擇要困難得多。 至于策略,你需要學(xué)會(huì)的東西,包括像應(yīng)該使用哪種搜索引擎(提示:普通的搜索引擎不一定就是最佳選擇),使用普通搜索引擎前應(yīng)該訪(fǎng)問(wèn)哪個(gè)網(wǎng)站,甚至是應(yīng)該 到哪個(gè)論壇去尋求幫助,等等。

3.幫助別人

教別人始終是學(xué)習(xí)一切東西的最好方法之一。相對(duì)而言,由于你在開(kāi)發(fā)領(lǐng)域還是個(gè)新手,認(rèn)為自己沒(méi)什么可教給人家的,這可以理解。但這毫無(wú)意義。記住,你所學(xué) 到的一切都是你從別人或別處學(xué)到的;因此請(qǐng)嘗試一下,成為另外一個(gè)人要請(qǐng)教的“別人”。每天盡量花一點(diǎn)時(shí)間試著回答TechRepublic上的問(wèn)題,其 他網(wǎng)站的亦可。讀讀其他會(huì)員的回答,你也可以學(xué)到很多東西。

4.有耐心,常練習(xí)

研究表明,要成為一名“專(zhuān)家”,需要花費(fèi)10年,或者10000到20000小時(shí)的刻意練習(xí)時(shí)間。真的很久。還有,成為專(zhuān)家不盡然就是執(zhí)行10年同樣的任 務(wù);通常這意味著要在特定領(lǐng)域內(nèi)執(zhí)行廣泛的任務(wù)。需要花費(fèi)大量的時(shí)間和精力才能成為“專(zhuān)家”;做幾年程序員是不夠的。想在30歲左右成為一名高級(jí)軟件開(kāi)發(fā) 工程師?要么盡早接受教育/培訓(xùn),要么你得愿意在閑暇時(shí)間進(jìn)行大量的工作、閱讀和練習(xí)。我從高中開(kāi)始編程,還犧牲了許多休息時(shí)間去跟蹤行業(yè)發(fā)展、學(xué)習(xí)新技 能等等。結(jié)果,我獲得中級(jí)和高級(jí)程序員的時(shí)間就比我的大部分同事都要早得多,隨著時(shí)間的推移,這些就轉(zhuǎn)化成為很多的金錢(qián)。

5.對(duì)教條拒之門(mén)外

是時(shí)候開(kāi)誠(chéng)布公了:也許初級(jí)程序員了解的東西還不足以說(shuō)出做某件事情有一種最好的方式。尊重朋友或者權(quán)威的觀(guān)點(diǎn)是好的,但直到你更有經(jīng)驗(yàn)之前,不要把他們 的觀(guān)點(diǎn)說(shuō)成是你自己的。很簡(jiǎn)單,如果你所了解的不足以讓你獨(dú)立地找出這些東西來(lái),你又怎么會(huì)認(rèn)為你知道哪一位“專(zhuān)家”是對(duì)的呢?話(huà)是難聽(tīng)了點(diǎn),不過(guò)請(qǐng)相信 我;由于受某些愚蠢建議的蠱惑,或者追隨某些根本不知道自己在說(shuō)些什么的所謂專(zhuān)家,白白把自己的職業(yè)生涯耽擱了幾年,這樣毛頭小伙程序員,我見(jiàn)過(guò)多了。這 一點(diǎn)有一個(gè)很好的例子,就是面向?qū)ο蠼Y(jié)構(gòu)的濫用。比如說(shuō),許多初級(jí)者讀了一些有關(guān)面向?qū)ο蟮男畔⒑?,突然間,他們那簡(jiǎn)單的應(yīng)用程序的類(lèi)圖看起來(lái)就像埃菲爾 鐵塔一樣了。

6.深入學(xué)習(xí)一點(diǎn)先進(jìn)理念

成為一名中級(jí)程序員,很大一部分是要在代碼里面體現(xiàn)出一些所擅長(zhǎng)的概念。就我而言,是多線(xiàn)程/并行性,是正則表達(dá)式,以及如何對(duì)動(dòng)態(tài)語(yǔ)言進(jìn)行變化(后兩個(gè) 在我離Perl漸行漸遠(yuǎn)后開(kāi)始退化)。這是如何發(fā)生的?多線(xiàn)程和并行處理是因?yàn)槲易x了相關(guān)文章,覺(jué)得它看起來(lái)很有趣,然后再自己把它弄清楚了;然后我就一 直使用這些技術(shù)來(lái)寫(xiě)應(yīng)用。我做過(guò)一件工作,是用Perl寫(xiě)的,里面運(yùn)用了大量的正則表達(dá)式。我也用一個(gè)過(guò)程引擎模板和內(nèi)置數(shù)據(jù)庫(kù)系統(tǒng)寫(xiě)過(guò)我自己的電子商務(wù) 引擎;那時(shí)我?guī)缀趸?年時(shí)間在這上面。 找到真正令你著迷的東西。也許是圖像處理,也許是數(shù)據(jù)庫(kù)設(shè)計(jì),等等。即便你是一個(gè)入門(mén)級(jí)的程序員,也要嘗試一下成為某一自己所關(guān)注領(lǐng)域的專(zhuān)家。這會(huì)讓你相 當(dāng)快速地進(jìn)入到中級(jí)水平,一旦你到了那個(gè)水平,你的專(zhuān)家之路也走到一半了。

7.學(xué)習(xí)你的領(lǐng)域里面的基本理論

寫(xiě)出“Hello World”,跟理解那些字是如何顯示到屏幕上的是兩碼事。通過(guò)學(xué)習(xí)支撐你所從事的工作的“基礎(chǔ)/底層工作(groundwork)”,你會(huì)變得更加在 行。為什么?因?yàn)槟銜?huì)理解事物為何會(huì)以這種方式運(yùn)作,當(dāng)東西壞了就能知道是哪里的問(wèn)題,等等。通過(guò)掌握工作的底層機(jī)制,你變會(huì)得更出色。 如果你是Web程序員,讀讀HTTP RFC和HTML規(guī)范。如果你使用代碼生成器,好好看看它生成的代碼;如果你使用數(shù)據(jù)庫(kù)工具,看看它生成的底層SQL語(yǔ)句,不一而足。

8.看看高級(jí)程序員的代碼

在工作中看看高級(jí)程序員寫(xiě)的代碼,然后問(wèn)一問(wèn)事情是如何以某種特別的方式完成的,為什么?可能的話(huà)看看開(kāi)源的項(xiàng)目。甚至即使其他程序員沒(méi)有最好的編程習(xí) 慣,你也會(huì)學(xué)到許多編程經(jīng)驗(yàn)。當(dāng)然,要小心別學(xué)到壞習(xí)慣。我的意思是說(shuō)不要生搬硬套人家的東西;你要能領(lǐng)會(huì)到哪些是能行的通的,哪些是有道理的,然后再模 仿人家。

9.學(xué)習(xí)好的習(xí)慣

愚蠢的變量名,糟糕的縮進(jìn)習(xí)慣以及其他一些凌亂的跡象就是一個(gè)沒(méi)有經(jīng)驗(yàn)的程序員的最好標(biāo)記。一個(gè)程序員在學(xué)會(huì)如何編程時(shí),卻經(jīng)常沒(méi)有被傳授到那些不那么有 趣的細(xì)節(jié),像代碼格式編排。甚至盡管學(xué)習(xí)這些東西并不會(huì)令你的代碼更好,也不會(huì)令你成為更好的程序員,它也會(huì)確保你不被同事視為入門(mén)級(jí)的程序員。甚至即使 某人是高級(jí)程序員,如果他的變量是以他那97只貓的名字來(lái)命名,或者其函數(shù)叫做“doSomething()”的,他們看起來(lái)也不像是知道自己在干什么的 人。而且會(huì)令其代碼在過(guò)程中更難以維護(hù)。

10.要玩的開(kāi)心

想要癡迷于單調(diào)乏味的工作?痛恨工作吧。要想升級(jí)為中級(jí)程序員可不僅僅是為了拿到不斷增長(zhǎng)的工資不達(dá)目的誓不罷休,而是要真正享受工作。如果你不喜歡自己的工作,且還是初級(jí)程序員,你怎么會(huì)認(rèn)為成為中級(jí)或高級(jí)程序員情況就會(huì)有所好轉(zhuǎn)呢?換工作或改職業(yè)吧。反過(guò)來(lái)說(shuō),如果你喜愛(ài)所從事的工作,那就好!只要你 堅(jiān)持下去,我保證你能成為一名更好的程序員。(Justin James)

程序員是很容易被淘汰的職業(yè),所以要善于學(xué)習(xí)總結(jié)。許多程序員喜歡盲目追求一些編碼的小技巧,這樣的技術(shù)人員無(wú)論學(xué)了多少語(yǔ)言,代碼寫(xiě)起來(lái)多熟練,只能說(shuō)他是一名熟練的代碼民工,他永遠(yuǎn)都不會(huì)有質(zhì)的提高。一個(gè)善于學(xué)習(xí)的程序員會(huì)經(jīng)??偨Y(jié)自己的技術(shù)水平,對(duì)自己的技術(shù)層面要有良好的定位,這樣才能有目的地提高自己。這樣才能逐步提高,從程序員升級(jí)為中級(jí)程序員、高級(jí)程序員等。希望本文可以使你有收獲。

【編輯推薦】

  1. 淺談對(duì)程序員的理解
  2. 成為完美程序員的10種品質(zhì)
  3. 一百多個(gè)程序員常去的網(wǎng)站
  4. 程序員應(yīng)該具備的11項(xiàng)基本技能
責(zé)任編輯:于鐵 來(lái)源: cnBeta
相關(guān)推薦

2010-08-23 09:41:15

程序員

2020-04-04 20:59:28

程序員技術(shù)開(kāi)發(fā)

2016-01-18 11:13:10

程序員保持健康

2014-12-19 10:12:34

2020-10-05 21:13:37

程序員技能開(kāi)發(fā)者

2009-05-14 08:42:53

程序員級(jí)別

2017-05-23 16:36:06

程序程序員

2012-06-02 01:14:13

程序員企業(yè)家

2015-06-12 11:22:52

程序員程序員跳槽

2015-03-19 14:50:27

編程拖拽編程合格程序員

2018-11-02 09:49:10

程序員編程初級(jí)

2011-04-20 08:17:38

程序員C++Java

2012-01-11 13:37:37

程序員

2015-01-14 10:17:28

高級(jí)程序員

2012-09-11 10:33:40

2012-09-17 14:00:50

項(xiàng)目經(jīng)理

2018-01-26 14:35:16

程序員入門(mén)經(jīng)歷

2016-12-26 17:08:30

程序員

2012-03-08 09:17:14

程序員

2014-12-22 09:59:05

程序員
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)