Web開發(fā)者職業(yè)生涯的11個階段
Web開發(fā)者的職業(yè)生涯有許多斜坡,非常有趣。考慮這陡峭的學(xué)習(xí)曲線,你完全可以從中經(jīng)歷從沮喪到啟發(fā)再到自以為的心態(tài)起伏。本文將會通過一些有趣的動態(tài)圖來描述這其中的各個階段。
1. 小白
在職業(yè)生涯的早期,通常都不知道自己要做什么。就像離開水的魚,每一行代碼都是一個謎。Doctype? 嗯嗯?div又是蝦米東西?第一個階段是一個嚇人的、可怕的但是令人興奮的過程。是有多少可怕的語言啊,魂淡?
但是,你最大的優(yōu)勢也許就是你永遠(yuǎn)不知道你前面的坑有多深。學(xué)習(xí)HTML是往前邁出的一小步。
2.邁出第一步
盡管需要一段時間,但是你最終就會開始進(jìn)入到Coding的世界。第一階段是壓倒一切的“怎么/從哪開始”的階段,而第二階段就是你慢慢開始建立屬于自己的技能集。當(dāng)然,CSS的語法定義風(fēng)格仍讓你覺得不能適應(yīng),但至少你在編輯器里修改代碼之后能夠在瀏覽器即時看到效果。這是一個奇妙的感覺!
3. 徹底挫敗
想象在山洞里迷路,用手電筒環(huán)顧每個隧道來搜索一個出去的路。沒走一步,你都希望看到一絲微光。不幸的是,我們這個行業(yè)的學(xué)習(xí)曲線是最陡的。很抱歉地告訴你,散斑的光不會持續(xù)很久。預(yù)計花費(fèi)數(shù)百小時在這個階段,當(dāng)你想要弄清楚各種讓你抓狂的東西時,就去閱讀各種技術(shù)書籍,并反復(fù)閱讀。
如果這種挫敗感來得勢不可擋,找到在我們職業(yè)生涯中以某種確切的方式應(yīng)對的平和的態(tài)度。你不是一個人,堅持下去,不久之后,你就會到達(dá)驚喜時刻。
4. 驚喜時刻
驚喜時刻是這個世界上最好的感覺之一:那種短暫的瞬間就是,突然間,你做到了!“哈哈哈,我現(xiàn)在明白了!”就我自己來講,我通常都是在其他人都在睡覺的晚上在Coding上有這種突破的驚喜。通過反復(fù)閱讀,曾經(jīng)模糊的東西到現(xiàn)在,至少一些是變得清楚的。
這是一個于所有的技術(shù)和語言你開始學(xué)會點擊的階段。
5. 如履薄冰
就像上一個階段一樣,如履薄冰階段時間也很長。在這個階段,你能夠成功的構(gòu)建應(yīng)用程序,并實現(xiàn)想要的結(jié)果。你實現(xiàn)的方法中代碼通常很長,而且你腦海中尚未形成測試的概念。
但至少你能做出實例。這個時候,保持你的Github的請求限制在穩(wěn)定和錯誤修復(fù)。并且不要低估這樣做的價值。
6. 照貓畫虎
模仿階段很重要。沒有什么比閱讀你心中的大神的代碼,甚至一行一行地敲到自己的編譯器里來學(xué)習(xí)Coding來得更有效了。不要覺得這樣不好,每一個藝術(shù)生涯都有去模仿的階段!幸運(yùn)的是,GitHub已經(jīng)使這種形式的沉默的嫉妒比以往任何時候都來得容易。當(dāng)然,模仿不會帶你走到很遠(yuǎn),但是這是一個很好的開始。模仿那些能夠鞏固激勵你的人,最終你會形成自己的風(fēng)格。
7. 得意忘形
在這個階段,你終于到達(dá)一個槽里。確實有巨大的改進(jìn)空間,但是你的信心也在迅速膨脹,或許這樣太快了。人們常說,在剛開始,你都還不知道自己有多渺??!
在這個階段,忍住變得過于自信的沖動。這對誰都沒有好處,只能讓更有才華的未來的你在回憶的時候連連搖頭。當(dāng)你想要在別人的GitHub, Reddit或者StackOverflow頁面上留下諷刺的“哥們,學(xué)學(xué)怎么Coding吧”的評論時,千萬別這樣做。不久前,你也只是一個完完全全的小白。鼓勵,而不是打擊別人。我們都在一條戰(zhàn)線,只是在不同的階段而已。
8. 學(xué)習(xí)神器Vim
如果你曾經(jīng)在一個開發(fā)者的旁邊,驚奇于其在代碼編輯器操作的速度時,有可能,他們用的是Vim。盡管它的學(xué)習(xí)曲線同樣陡峭,但是一旦你達(dá)到山頂,你的工作流程對于旁觀者來說就會像變魔術(shù)似的。
這是你開始駕馭你的Coding技術(shù)和工作流程的階段。合適的工具跟技術(shù)一樣重要。
9. 當(dāng)代碼成為藝術(shù)品
雖然這需要數(shù)千小時,但是有一天,你會看到自己的代碼輕松通過調(diào)試,拍著自己的大腿嗷嗷:“艾瑪,勞資太油菜了,這TMD簡直就是藝術(shù)品”。你的代碼采用了版本控制,是很好地抽象的,完全可測試的、可伸縮的和易讀的。在你的職業(yè)生涯的某一個點上,你可能會為集中于寫出讓人困惑的但是有效的代碼。利用每一個可能的語言怪癖和隱藏功能并不意味著稱得上一個成熟的開發(fā)者。只是為了展示自己打出來的包有多聰明而遷移簡化復(fù)雜的邏輯甚至到只有一行代碼,也是不可取的。這意味著你是一個傲慢自大的開發(fā)者,不為將來的代碼維護(hù)者考慮。
代碼變成藝術(shù)品的同時,要保障其可讀性能夠保障其能夠順利地被執(zhí)行。這個階段,你的代碼是為人而寫,而不是為機(jī)器寫的。
10. 駕輕就熟
當(dāng)Coding成為一種本能,恭喜你,你已經(jīng)到達(dá)職業(yè)生涯的下一個階段。不再思考語言或者框架層面的問題,而是你能輕松地看出問題,并從你的開發(fā)工具箱中選擇正確的工具來提供解決方案。一個老練的開發(fā)者懂得為什么牛仔路徑很少是正確路線。每一個新特性都是經(jīng)過項目組員的討論,準(zhǔn)備白板,撰寫梗概,并生成測試,這些工作都是在開始Coding之前完成。
你已經(jīng)成為一個成熟的、經(jīng)過深思熟慮的并愿意與其他人一起工作的開發(fā)者。祝賀。
11. 搖滾明星
很少有人達(dá)到這個階段。搖滾明星階段就是職業(yè)生涯的巔峰。除了你的工作,你經(jīng)常在會議上發(fā)言,作為無數(shù)流行的開源項目的領(lǐng)導(dǎo)者。同時還抽時間參與郵件列表,幫助IRC上的新人,為web的未來做貢獻(xiàn)。你是為了興趣而編寫編譯器和詞法分析器的人。
你被別人稱為搖滾明星或武林高手,盡管你討厭這樣的標(biāo)簽。同時,你比其他人都清楚還有很多東西需要學(xué)習(xí)。
原文鏈接:http://www.cnblogs.com/seansevn/archive/2013/03/25/2981356.html