首頁 > 新聞 > 知識賦能

編程成就:開發(fā)人員如何升級

2011-11-10 5192
分享至:

編程成就:開發(fā)人員如何升級 


導(dǎo)讀:一個(gè)優(yōu)秀開發(fā)者如何才能變得偉大?還是先不想如何變得偉大:一個(gè)不錯(cuò)的開發(fā)者如何變成一個(gè)優(yōu)秀的開發(fā)者?從第一步到第N步并沒有確定的路徑,哎呀,甚至不知道第N步是什么。能邏輯思考的都明白,缺乏一個(gè)確定的路線意味著,想從新手到大師,將會(huì)是一個(gè)艱辛的旅程。在過去幾年間,我還是花了相當(dāng)一些時(shí)間,反復(fù)思考這一個(gè)難題。接下來是什么?我該如何做才能從一個(gè)優(yōu)秀的開發(fā)者成為一個(gè)相當(dāng)優(yōu)秀的開發(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)還有多少.(北京網(wǎng)站制作)

但是,你如何去衡量自己是否達(dá)到了一個(gè)“相當(dāng)優(yōu)秀的開發(fā)者”這樣一個(gè)級別呢?簡單的講,你不能夠。這個(gè)目標(biāo),如上所述,非常的主觀,非常的寬泛,簡直是無法衡量的。所以,我們該如何定義一個(gè)可以衡量的東西?

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

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

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

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

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

3.追求的經(jīng)歷完成了(成就解鎖了?。?br />
4.經(jīng)歷的反思,深入的思考。[A]

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

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

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

用匯編語言寫一個(gè)程序
用函數(shù)式編程語言寫一個(gè)應(yīng)用
用面向?qū)ο笳Z言寫一個(gè)應(yīng)用
用基于原型的語言寫一個(gè)應(yīng)用
用邏輯編程語言寫一個(gè)應(yīng)用
用 Actor 模型寫一個(gè)應(yīng)用
用 Forth 語言寫一個(gè)應(yīng)用[C]
2.體驗(yàn)不同平臺上編程的來龍去脈:

寫過一個(gè)普通的Web應(yīng)用
寫過一個(gè)普通的桌面應(yīng)用
寫過一個(gè)普通的手機(jī)應(yīng)用
寫過一個(gè)普通的嵌入式應(yīng)用
寫過一個(gè)實(shí)時(shí)系統(tǒng)
3.增強(qiáng)你對開發(fā)人員所常用的模塊的理解:

寫過一個(gè)網(wǎng)絡(luò)客戶端(HTTP,F(xiàn)TP等)
寫過一個(gè)設(shè)備驅(qū)動(dòng)
寫過一個(gè)B-tree 數(shù)據(jù)庫
包裝現(xiàn)有的一個(gè)庫,以提供更好(更愉快)的用戶體驗(yàn)
編寫一個(gè)應(yīng)用程序或框架,提供插件模型
寫過測試框架
寫過編程語言
4.讓自己知道koans,katas,以及歲月的智慧:

完成過五個(gè) code katas

對你想學(xué)習(xí)的一個(gè)語言,完成programming koans
參加一次coderetreat
閱讀SICP并完成所有練習(xí)
5.開源編程:

為一個(gè)開源項(xiàng)目共享代碼
補(bǔ)丁被接受
在一個(gè)重要的開源項(xiàng)目中得到提交權(quán)限
發(fā)布一個(gè)開源項(xiàng)目
對一個(gè)開源項(xiàng)目實(shí)施Refactotum
6.通過教授別人來學(xué)習(xí)[D]:

發(fā)表一次啟迪性的講話
在一個(gè)本地用戶組中演講
在一個(gè)會(huì)議中演講
教授一次培訓(xùn)課程
發(fā)布一個(gè)教程
發(fā)布一個(gè)開源項(xiàng)目的constructive code review
寫一本編程的書
關(guān)于成就

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

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

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

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

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

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

注釋

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

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

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

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

本文章系尚品中國編輯原創(chuàng)或采編整理,如需轉(zhuǎn)載請注明來自尚品中國。以上內(nèi)容部分(包含圖片、文字)來源于網(wǎng)絡(luò),如有侵權(quán),請及時(shí)與本站聯(lián)系(010-60259772)。

立即預(yù)約專屬顧問 開啟數(shù)字化轉(zhuǎn)型之旅!

10年+資深項(xiàng)目經(jīng)理1V1服務(wù) | 行業(yè)定制化方案 | 精準(zhǔn)報(bào)價(jià)體系
獲取策劃方案
立即預(yù)約專屬顧問 開啟數(shù)字化轉(zhuǎn)型之旅!

咨詢我們,獲得專業(yè)的服務(wù)和報(bào)價(jià)

聯(lián)系我們,免費(fèi)獲取項(xiàng)目方案及報(bào)價(jià),或只是聊一聊您的項(xiàng)目? 在收到您的需求留言后我們將由專業(yè)人員于24小時(shí)內(nèi)與您取得聯(lián)系,請您保持電話暢通!

  • 科研院所解決方案
  • 外貿(mào)出海解決方案
  • 協(xié)會(huì)學(xué)會(huì)解決方案
  • 集團(tuán)上市公司解決方案
  • 生物醫(yī)藥解決方案
  • 制造業(yè)解決方案
  • 高校教育解決方案
  • 信創(chuàng)網(wǎng)站改造解決方案
更多服務(wù)咨詢,請聯(lián)系尚品

010-60259772

您的姓名 *
您的電話 *
您的郵箱
公司名稱 *