原文网址: 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的小领域之中。

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

如何成为一个javascript高手【转载】的更多相关文章

  1. 怎样才能快速成为JavaScript高手

    如何快速成为JavaScript高手?之前我拿这个问题问过我的同事,也问过国内的一些JavaScript高手. 最近,我一直在拿这个问题问自己.之所以会有这个问题,我基于两个前提:第一.我自认为自己不 ...

  2. Croppie -一个Javascript图像Croppie

    下载 Croppie -一个Javascript图像CroppieCroppie -一个Javascript图像Croppie 安装 凉棚:凉棚安装作物 Npm: Npm安装作物 下载: croppi ...

  3. 意外作出了一个javascript的服务器,可以通过js调用并执行任何java(包括 所有java 内核基本库)及C#类库,并最终由 C# 执行你提交的javascript代码! 不敢藏私,特与大家分

    最近研发BDC 云开发部署平台的数据路由及服务管理器意外作出了一个javascript的服务器,可以通过js调用并执行任何java(包括 所有java 内核基本库)及C#类库,并最终由 C# 执行你提 ...

  4. 每天一个JavaScript实例-从一个div元素删除一个段落

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  5. 每天一个JavaScript实例-推断图片是否载入完毕

    <!doctype html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  6. 每天一个JavaScript实例-动态省份选择城市

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  7. 每天一个JavaScript实例-递归实现反转数组字符串

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  8. 每天一个JavaScript实例-html5拖拽

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  9. 每天一个JavaScript实例-canvas绘图

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

随机推荐

  1. Vi快捷操作 vim配置【shell文件格式从windows转换为linux】

    vim配置 http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html gg 首行 dd 删除当前行 :.,$d  删除全部内容 :se ...

  2. Tomcat启动错误【Error listenerStart】

    今天启动Tomcat启动不了,报以下错: org.apache.catalina.core.StandardContext startInternal SEVERE: Error listenerSt ...

  3. 快速搭建应用服务日志收集系统(Filebeat + ElasticSearch + kibana)

    快速搭建应用服务日志收集系统(Filebeat + ElasticSearch + kibana) 概要说明 需求场景,系统环境是CentOS,多个应用部署在多台服务器上,平时查看应用日志及排查问题十 ...

  4. Python selenium 文件自动下载 (自动下载器)

    MyGithub:https://github.com/williamzxl 最新代码已经上传到Github,以下版本为stupid版本. 由于在下载过程中需要下载不同文件,所以可以把所有类型放在Va ...

  5. SQL SERVER 数据库级联删除

    --SQL SERVER 2008R2 级联删除:主子表设置外键关联,当主表数据删除的时候会自动删除子表中对应的数据 --创建主表 create table test_main( ID ,) PRIM ...

  6. Scala基础之注解(annotation

    在学习Scala的过程中,总会碰到一些注解: // Predef.scala @inline def implicitly[T](implicit e: T) = e @deprecated(&quo ...

  7. 谦先生的bug日志之hive启动权限问题

    上海尚学堂谦先生的bug日志之hive启动权限问题 这几天开始做新老集群的迁移,今天开始对hive的所有数据进行迁移,主要是表的元信息和表数据.表的元信息我们存在mysql中,跟hive的服务器并不在 ...

  8. windows下LINUX模拟终端Cypwin以及Vim的配置使用

    Cypwin的安装 从官网下载相应版本后,直接安装. 官网地址:Cypwin 安装过程中可以选择相应的Packages,我们需要安装的Vim就需要在这一步中选择相应的包. Cypwin的使用 纯命令行 ...

  9. 搭建阿里云 centos mysql tomcat jdk

    [toc] 阿里云使用centos 登录 http://www.aliyun.com/ 点击登录 进入控制 https://home.console.aliyun.com/ 云服务器 运行中 把ip输 ...

  10. maven overlays 合并多个war

    http://kyfxbl.iteye.com/blog/1678121 http://jdonee.iteye.com/blog/794226