如何成为一个javascript高手【转载】

时间:2021-05-13 18:41:44
 

原文网址: http://www.cnblogs.com/keva/p/how-to-become-a-javascript-badass.html

英文网址:http://www.clientcide.com/deep-thoughts/how-to-become-a-javascript-badass/

上周我写了一篇相当漫长的文章,感叹要找到一个有天分的前端开发人员是相当具有挑战性的。这篇文章引起了一些评论和电子邮件形式的讨论,我不只是想要在这里抱怨这种客观事实而是想要对该现状发表一下个人建议;以下是我对于如何成为一个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的小领域之中。

我还可以讲很多方面,但是前提必须是你想要成为一个前端开发者并且乐于其中。