My Story, In Brief

上週我寫了一篇相當漫長的文章,感嘆要找到一個有天分的前端開發人員是相當具有挑戰性的。這篇文章引起了一些評論和電子郵件形式的討論,我不只是想要在這裏抱怨這種客觀事實而是想要對該現狀發表一下個人建議;以下是我對於如何成爲一個JavaScript高手的一些建議。

 

My Story, In Brief


 

關於我如何成爲一個javascirpt開發的經歷並不有趣,但是如果你一定要問我,以下是一些關鍵亮點:

1、我在高中和大學學習一些音樂,攝影和繪畫藝術,雖然這不是我的專業(這是爵士吉他)。

2、我學習html要歸宿到馬賽克仍然還在使用的時期,每次瀏覽器的更新到能學到一些新的web技能。

3、我參加了一個活動(當時HTML很熱門)在1997年,我學到了一點編程(JAVA)。我不是很在行。我用java建了一個非常簡單的CMS。

4、1999年,我開發了一個關於音樂的站點(http://www.epitonic.com),這是我設計和建造的。一個非常小的開發團隊建立了一個更強大的CMS。還有很多的JavaScript。

5、2003年,我加入CNET擔任產品經理。我沒有寫很多代碼,但每當我們需要一些JavaScript,我捲起衣袖投入到javascript,無意中成了“JavaScript開發者”,並把我的研究分享到博客(clientside.cnet.com)。

6、起初我的工作重點是prototype.js、Moo.fx。

7、Mootools深深的吸引了我,我寫了兩篇對於Mooltools的研究文章。

8、一邊做產品經理,一邊做javascript開發。

9、2007年底離開CNET於並啓動了Iminta.com。2008年年底經融危機,我開始考慮找工作,發現了Cloudera(或者,他們找到我)。

我的職業生涯是一個奇怪的過山車軌道,對我來說javascript和web開發始終是一個打到目的的手段。我喜歡創建有意思的產品。我不是很關心是否自己去寫一些javascript或服務器端代碼。

 

Enough About Me, Let’s Talk About Becoming a JavaScript Ninja


 

以上關於我的經歷只是想要告訴你們我並不能正確的告訴你們如何能成爲一個前端開發工程師,每個人都有自己的一段經歷,不像我的。我在CNET花了一年的時間去系統學習javascript和javascript框架,其實你可以用其他方法花更少的時間來學習到這個,以下就是我的一些個人建議:

1、Study design and designers. 並不要求你要具備一個設計師的技能,只是建議你用設計師的角度去觀察,當你瀏覽網頁的時候,嘗試去分辨哪些1體驗好,哪些頁面好看。我經常問面試者他們欣賞哪些站點以及爲什麼。

2、Study JavaScript. 我的意思是真正的專研。觀看所有YUI theater上Crockford的視頻。你也可以觀看這裏的其他視頻,我並不是100%的贊同所有他們說的,但是對於學習來說是很有好處的。閱讀Crockford的《JavaScript: The Good Parts》。再次重申我並不是完全同意所有這本書裏面講的,但是可以從這本書中學習到認真紮實的語言基礎。

3、Study JavaScript Frameworks. 注意並不是一個框架,而是多個。我爲Mooltools寫了原始的文檔,這個是我認爲在我的學習經歷中最爲重要的一件事。爲了寫成文檔,我閱讀了Mooltools源碼並嘗試去理解爲什麼它做了什麼以及爲什麼要那樣做。從中我學了很多,但是學習都是循序漸進,從沒有任何一件事情讓我一下進一大步的。當我創建jqueryvsmootools.com的時候我又做了這個事情,這次的對象是jQuery。爲了弄明白它,我閱讀了它所有的源代碼。同樣還有Dojo。從這些經歷中我學習到了這些框架作者的一些編碼風格。不要只是會用jQuery或者Mootools。你要嘗試去了解他們,瞭解他們的差異、特點以及有意思的地方。不要停止這些知道你真正瞭解了這些框架都在做了些什麼。不要猶豫去與框架作者交流你的一些看法,他們會很樂意的。

4、Get involved with a framework. 對我來說第二重要的事情就是參與了Mooltools項目。參與一個開源項目對你的簡歷來說可謂會增色不少。只要你肯花時間,現有的一些框架還存在着大量的bug,嘗試去解決一些!去寫一些測試用例!寫一個關於你如何使用這些框架的博客。嘗試去做這些事情,我保證你將會得到很多有趣的offer。

5、Release some of your own code. 這點很重要!如果你在github上沒有代碼,你將會失去很多機會。你可以讓你的潛在僱主瞭解到你的代碼能力。

6、Blog about it. 嘗試記下你在博客中所學到,3年時間可以積累一筆巨大的知識財富。你在博客中提出了一個問題,可能就會吸引一大批對於該問題有興趣的開發者。無意之中你就可能成爲該領域的專家。如果你持續的發表一些你在學習什麼,你在做什麼,你會發現有一天會有人自動找上你。這是一個耗時的工作,但是這是一件很有意義的工作。

7、Build something interesting. 爲了創建一個php的圖片庫,我花了一兩個月的時間去學習php和smarty,因爲項目原因,我自己創建了很多借口去學習一些新技術。強迫自己去做一些項目,從來沒有比在這個過程中學習新技能來得更快的了。不要過於依賴你現在掌握的技能,永遠要去尋找用新技術解決問題的機會。

8、Join a startup. 我知道這是棘手的。(貌似不適合國情,掠過)

9、Take the time to learn why solutions work. 利用google去尋找問題的解決辦法的同時嘗試去理解問題的真正原因或者說是深層次的原因是什麼。

10、Be curious, and fight off laziness. 尋找利用新技術解決舊有問題的機會,認識這些機會並把握住這些機會,沒有什麼比拿着一份工資並且learn to work來得划算的了。與你的同事交流技術問題,他有你所不知道的技術,你有他不知道的技術,互相學習。也不要只是停留在javascript的小領域之中。

 

我還可以講很多方面,但是前提必須是你想要成爲一個前端開發者並且樂於其中。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章