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

如何成為一名偉大的程序員

開(kāi)發(fā)
一個(gè)偉大的程序員,在一開(kāi)始一定是一名默默無(wú)聞的小程序員。究竟是什么讓他們變得偉大?

  一個(gè)優(yōu)秀開(kāi)發(fā)者如何才能變得偉大?

  還是先不想如何變得偉大:一個(gè)不錯(cuò)的開(kāi)發(fā)者如何變成一個(gè)優(yōu)秀的開(kāi)發(fā)者?

  從***步到第N步并沒(méi)有確定的路徑,哎呀,甚至不知道第N步是什么. 能邏輯思考的都明白,缺乏一個(gè)確定的路線意味著,想從新手到大師,將會(huì)是一個(gè)艱辛的旅程。在過(guò)去幾年間,我還是花了相當(dāng)一些時(shí)間,反復(fù)思考這一個(gè)難題。接下來(lái)是什么?我該如何做才能從一個(gè)優(yōu)秀的開(kāi)發(fā)者成為一個(gè)相當(dāng)優(yōu)秀的開(kāi)發(fā)者?

  成功到底是什么樣子的?

  當(dāng)我有一個(gè)清晰的目標(biāo)以及一個(gè)可以衡量的成功標(biāo)準(zhǔn)的時(shí)候,我做的***。比如,我想5分鐘跑一英里,這很好衡量,而且成功是明確定義了的。我知道現(xiàn)在我一英里我可以跑多快,而且網(wǎng)上到處都是如何跑快的建議和訓(xùn)練項(xiàng)目。我可以選擇一種訓(xùn)練項(xiàng)目,努力訓(xùn)練,我非常自信***能夠達(dá)到我所期待的目標(biāo)。而且這個(gè)非常容易被衡量,每一周我都可以知道我距離自己的***目標(biāo)還有多少.

  但是,你如何去衡量自己是否達(dá)到了一個(gè)“相當(dāng)優(yōu)秀的開(kāi)發(fā)者”這樣一個(gè)級(jí)別呢?簡(jiǎn)單得講,你不能夠。這個(gè)目標(biāo),如上所述,非常的主觀,非常的寬泛,簡(jiǎn)直是無(wú)法衡量的。所以,我們?cè)撊绾味x一個(gè)可以衡量的東西?

  和想5分鐘跑一英里差不多,我們可以從對(duì)比現(xiàn)在作為程序員的自己和所期望能成為的程序員來(lái)入手。五分鐘一英里的賽跑者有而十分鐘一英里的賽跑者缺乏的經(jīng)歷是什么?讓大師級(jí)程序員獲益而新手程序員缺乏的經(jīng)歷是什么?這里關(guān)鍵的是經(jīng)歷。

  我們都曾有過(guò)某種特定的經(jīng)歷提升了我們作為程序員的技能。我們?cè)鴮W(xué)習(xí)過(guò)一種新的語(yǔ)言,而讓我們有一種新的思維方式?;蛘?,我們都曾精雕細(xì)琢過(guò)***的設(shè)計(jì),只是為了觀察其在苛刻的現(xiàn)實(shí)環(huán)境下暴露出的缺陷. 我們因此變成更好的程序員。所以,有些經(jīng)歷給了你新的技術(shù)。而有些則是不同的模式,并且能夠讓你理解為什么會(huì)這樣。正是這些經(jīng)歷在教你,影響你的思維過(guò)程,,影響你解決問(wèn)題的方法,改進(jìn)你的設(shè)計(jì)。方便的是,你是否有過(guò)某種特定的經(jīng)歷是很容易被衡量的。(如果把這些經(jīng)歷想成是成就就很有意思啦。)

  雖然花了些時(shí)間,但是我已經(jīng)對(duì)我那不可衡量懸而未絕的目標(biāo),達(dá)到“相當(dāng)優(yōu)秀的開(kāi)發(fā)者”的級(jí)別,感到不煩惱了。如果一個(gè)開(kāi)發(fā)者能夠以他的經(jīng)歷來(lái)區(qū)分,也許我們已經(jīng)有了一個(gè)明確定義的路徑朝向“相當(dāng)優(yōu)秀的開(kāi)發(fā)者”這么一個(gè)大方向了。我揣測(cè)這么一條路徑,應(yīng)該是這樣子的:

  1、標(biāo)志著從一個(gè)普通人成長(zhǎng)成程序員的經(jīng)歷

  2、選擇某種經(jīng)歷去追求

  3、追去的經(jīng)歷完成了。(成就解鎖了?。?/p>

  4、經(jīng)歷的反思,深入的思考。[A]

  5、返回第2步,這次是選擇一個(gè)新的經(jīng)歷。

  如何以一種更好方式開(kāi)始***步,而不是眾包給各位。這里我給出了一部分編程的成就,松散的分了組。[B]我會(huì)在文末為你提供多種方式,讓你來(lái)創(chuàng)造你自己的想法。

  成就

  學(xué)習(xí)多種編程范式:

  用匯編語(yǔ)言寫(xiě)一個(gè)程序

  用函數(shù)式編程語(yǔ)言寫(xiě)一個(gè)應(yīng)用

  用面向?qū)ο笳Z(yǔ)言寫(xiě)一個(gè)應(yīng)用

  用基于原型的語(yǔ)言寫(xiě)一個(gè)應(yīng)用

  用邏輯編程語(yǔ)言寫(xiě)一個(gè)應(yīng)用

  用Actor模型寫(xiě)一個(gè)應(yīng)用

  用Forth語(yǔ)言寫(xiě)一個(gè)應(yīng)用[C]

  體驗(yàn)不同平臺(tái)上編程的來(lái)龍去脈:

  寫(xiě)過(guò)一個(gè)普通的Web應(yīng)用

  寫(xiě)過(guò)一個(gè)普通的桌面應(yīng)用

  寫(xiě)過(guò)一個(gè)普通的手機(jī)應(yīng)用

  寫(xiě)過(guò)一個(gè)普通的嵌入式應(yīng)用

  寫(xiě)過(guò)一個(gè)實(shí)時(shí)系統(tǒng)

  增強(qiáng)你對(duì)開(kāi)發(fā)人員所常用的模塊的理解:

  寫(xiě)過(guò)一個(gè)網(wǎng)絡(luò)客戶端(HTTP, FTP等)

  寫(xiě)過(guò)一個(gè)設(shè)備驅(qū)動(dòng)

  寫(xiě)過(guò)一個(gè)B-tree數(shù)據(jù)庫(kù)

  包裝現(xiàn)有的一個(gè)庫(kù),以提供更好(更愉快)的用戶體驗(yàn)

  編寫(xiě)一個(gè)應(yīng)用程序或框架,提供插件模型

  寫(xiě)過(guò)測(cè)試框架

  寫(xiě)過(guò)編程語(yǔ)言

  讓自己知道koans, katas, 以及歲月的智慧:

  完成過(guò)五個(gè)code katas   

  對(duì)你想學(xué)習(xí)的一個(gè)語(yǔ)言,完成programming koans

  參加一次 coderetreat

  閱讀 SICP并完成所有練習(xí)

  開(kāi)源編程:

  為一個(gè)開(kāi)源項(xiàng)目共享代碼

  補(bǔ)丁被接受

  在一個(gè)重要的開(kāi)源項(xiàng)目中得到提交權(quán)限

  發(fā)布一個(gè)開(kāi)源項(xiàng)目

  對(duì)一個(gè)開(kāi)源項(xiàng)目實(shí)施Refactotum

  通過(guò)教授別人來(lái)學(xué)習(xí)[D]:

  發(fā)表一次啟迪性的講話

  在一個(gè)本地用戶組中演講

  在一個(gè)會(huì)議中演講

  教授一次培訓(xùn)課程

  發(fā)布一個(gè)教程

  發(fā)布一個(gè)開(kāi)源項(xiàng)目的constructive code review

  寫(xiě)一本編程的書(shū)

  關(guān)于成就

  現(xiàn)在,讓我們來(lái)繼續(xù)探討一會(huì)兒。注意每一個(gè)成就都是可以衡量的。每一個(gè)都是一個(gè)布爾值:你完成或者沒(méi)有完成。例如,很難衡量你是否學(xué)過(guò)一個(gè)函數(shù)式編程語(yǔ)言,但是卻可以輕易的知道你是否用函數(shù)式編程語(yǔ)言寫(xiě)過(guò)一個(gè)程序。后者是客觀察、可測(cè)量、布爾的。這種可衡量性意圖適用所有這些成就。

  需要承認(rèn)的是,這種可衡量性并不***。比如在一個(gè)會(huì)議演講這個(gè)成就:你完全可以做到一般稱(chēng)職的時(shí)候就說(shuō)你贏得了這份成就。但是如果你正在讀這篇文字,我假設(shè)你是想要變得卓越。你知道只是為了把一項(xiàng)從清單中劃掉而號(hào)稱(chēng)做到是非常遜的。

  既然我們談到了改進(jìn)

  既然我們談到了改進(jìn),你會(huì)如何改進(jìn)這個(gè)清單呢?

  這個(gè)清單現(xiàn)在在github上作為一個(gè)gist,你可以任意的fork它然后添加更多的成就(確保你加的成就是可以衡量的)。或者fork它然后標(biāo)記那些你已經(jīng)征服了的成就。你還可以標(biāo)記你正在做的一項(xiàng),(例如,你可以去看看這些forks :Justin Blake,Pierre Chapuis, Yann Esposito. )

  或者發(fā)表評(píng)論:什么經(jīng)歷將你塑造成一個(gè)更好的開(kāi)發(fā)者?以及你會(huì)接下來(lái)去解鎖哪一個(gè)成就?

  注釋

  [A] 我無(wú)法充分的強(qiáng)調(diào)第4步。為了獲得幾乎每個(gè)成就,你應(yīng)該停頓和反思這些經(jīng)歷,然后再移動(dòng)到下一個(gè)。反思。問(wèn)問(wèn)自己,你學(xué)到什么,花些時(shí)間來(lái)寫(xiě)下這些想法。更好的是,與別人分享,并且對(duì)比其他人也已經(jīng)獲得這一成就的人,看看你的學(xué)習(xí)收獲的如何。

  [B] 可以去 coderwall.com看看基于成就的模型這些方面的,很有意思。.

  [C] Forth基本上是自己的范式

  [D] 突然想到了這句: “寓學(xué)于教” — Paulo Freire

【編輯推薦】

  1. 不要自稱(chēng)為程序員
  2. 程序員們 不要想一輩子靠技術(shù)混飯吃
  3. 中國(guó)程序員水平將很快超過(guò)美國(guó)?
  4. 看看波蘭程序員的收入報(bào)告
  5. 三天,美國(guó)程序員創(chuàng)業(yè)三天就能買(mǎi)房了
責(zé)任編輯:彭凡 來(lái)源: 譯言網(wǎng)
相關(guān)推薦

2015-05-15 10:39:44

Java 冠軍程序員?

2019-01-28 11:54:28

程序員技能溝通

2011-04-11 17:41:35

C++程序員

2017-09-21 09:44:00

編程程序員軟件開(kāi)發(fā)

2011-05-03 08:54:36

2012-12-12 09:52:18

程序員

2021-02-21 13:49:48

Java程序員開(kāi)發(fā)

2015-03-19 14:56:08

程序員專(zhuān)專(zhuān)家級(jí)的程序員

2022-09-30 10:32:59

API文檔

2015-11-30 11:01:07

程序員閱讀源代碼

2015-11-30 08:57:07

源代碼閱讀程序員

2011-05-23 15:18:34

程序員

2011-03-07 13:51:01

搜索程序員

2021-02-05 14:56:39

YouTube編程程序員

2015-06-25 19:23:03

JavaScript程序員

2015-06-25 09:53:13

JavaScript程序員

2015-06-25 09:32:55

JavaScript程序員

2021-03-12 16:17:37

程序員 女性主義兩性 價(jià)值觀

2015-06-04 11:31:36

程序員12周內(nèi)

2013-02-22 10:21:06

點(diǎn)贊
收藏

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