`

一名靠谱的JavaScript程序员应备的素质

 
阅读更多

原帖:http://www.kuqin.com/shuoit/20140925/342303.html

 

小编: 这篇文章写于2010年作者工作在Cloudera期间,当时node.js还没有流行,很多人还瞧不上javascript这门简陋的脚本,文章提出应该重视JavaScript,并提出成为一名靠谱前端工程应具备哪些能力。虽然年代似乎已经有些遥远,但文中的一些观点但现在仍然适用。

 

     当我尝试为Cloudera招一个JavaScript程序员时,我发现这项任务相当艰巨。找到一名真正理解JavaScript的人非常困难。不过,这也证明了一件非常简单的事情,是时侯去研究JavaScript,并成为这个领域的专家了。过去的几个月,我发现了一些天才JS程序员并尝试去录用他们。显然他们有非常多的选择。他们被各种公司的Offer困扰着。作为一个想招他们进来的人,这让我想起了第一次互联网泡沫时侯的一些事。(我承诺给其中一位侯选人一辆凯迪拉克,但最终没有打动他)。最后他进入了另一家初创型公司。

 

      比较关键的一点是:作为一名JavaScript专家并不能只知道JavaScript. 如果你想专为一名靠谱的前端工程师 ,你需要在更多方面做得更好一点, 可能这些都没有写在JD里面,至少那些要求表现得没有JS那样突出。有些东西你只需要了解一下,但另外一些你需要精通(显然你需要非常精通JS,如果你想成为一名真正的专家)。 其实,我只是一个普通人,我有博客,其他方面都跟一般人体差不多,但当我把跟HR说出我的要求时,HR告诉我“这个人根本不存在,你描述的是一个超人” 我又告诉他这是我每天都在干的。 他又坚持说“你真是大神一样的人”

 

     最后能称上JavaScript专家的人,终究需要一些什么技术,每天究竟需要做一些什么事,怎么判断哪些是天才,哪些是菜鸟,哪些是一般人,这是我列的一张清单:

 

1. 你需要知道HTML, 你需要非常精通它。你需要知道 document types的作用和效果。 你需要知道即使你没有写TBODY,浏览器也会自动将他补上。你需要关注浏览器每一次升级所做的变动。学习这些东西,至少在我这儿你得这样。在你工作的时侯花点时间去研究下。

 

2. 你需要了解CSS, 这样你才不至于后悔。我工作期间碰到的最多的问题就是跨浏览器的CSS兼容问题。一段同样的样式在不同浏览器中显示是不一样的。你添加了一个负的margin-top值去实现排版,猜猜怎么了? 用户永远也点不到这个东西了,尽管你加了一个z-index,尽管你可以看见这个该死的东西。 或者你加了一组可以自动适应的CSS代码,但你要祈祷你的老板没有在IE里去看你的网页。最重要的一点,你要了解CSS,这是最有价值的一项技术。你不需要非常精通,但至少能和草图做得一模一样,否则其他的事就不用提了。

 

3. 你需要了解浏览器,你需要明白在IE浏览器中,如果你把 “” 放到DIV中,IE不会把它转换为DOM元素。但放到header里就可以,因为这东西是只读的。你需要明白在Array数组和Object最后加个逗号会让IE出错。你需要明白IE里iframes里的元素会有偏移问题。而且并不是只有IE会出问题,Firefox在清除浮动时也会出问题,Chrome里没事。你需要了解最新的webkit那些惊人的特性在手机和safari上面不一定有。

 

4. 我提过JavaScript吗?我们需要了解JavaScript是怎样工作的,你需要知道传入方法(function)的参数(arguments)对象是有长度的,而且是可以枚举的, 但它绝不是数组对象,更进一步,你需要知道如何将他转换为数组。你需要知道prototype的工作机制,并且知道在不借助框架的情况下如何使用它,并且知道它的作用和优势是什么。你需要知道垃圾回收(garbage collect)什么时侯起作用,这点很重要,还有它什么时侯不工作。你需要非常善长抽象(abstraction)。你需要非常善于为你自己和别人设计API。你需要了解怎样测试和管理你的代码。

 

5. 你需要有像样的设计能力(design): 信息流, 图像设计, 用户体验设计, 代码设计。 你需要能向用户, 客户, 陌生人, 专家(随便什么人)提出正确的问题并有能力去解决他们的问题。不仅是讲出你的想法,你还要想办法去呈现给他们。你需要能操作Illustrator快速地把各种框架草图(wireframes)拼出一个方案来,然后你可以到PhotShop中(这个你需要熟练掌握)把设计图画出来(visual style)。你不需要成为世界上最好的设计师,我当然也不是。但你要有能力告诉他们什么是好的,什么是坏,什么是杰出的设计。如果你能管理好你自己好的设计,你就牛了。

 

6. 你需要对服务器端非常自信。其实你并不是每天都只是写写JavaScript。大多数前端工作都只需要你花一半的时间来写JavaScript,另外一些时间你需要处理一些其它相关语言的代码. Python, Ruby, Java, PHP.. 如果你只会一种语言,那根本不值一提。如果你只会JavaScript和PHP, 你马上会有一些需要用到其他语言的任务(其实这是一个很好学习新事物的机会)。应该会用一种框架,但是只知道一种的话也不算真正的了解JavaScript.

 

7. 然后还有许多其他的东西你需要掌握。你需要了解Git。Git很牛,我知道你经常听别人这样说,如果你发现一个保守的人拒绝去学新的知识扩展自己,你需要让他明白他的错误。你需要知道一些shell脚本。在没有记事本,TextMate或其他编辑器的情况下,你需要能够打开VI或者Emacs去修改一个配置文件(conf)。你需要知道怎么去编绎一些东西,怎么样去截取一个日志文件,解压一个压缩包(tarball),加密一些东西,开启并配置服务。你需要有能力去关掉(kill)进程并跟踪调试一个堆栈。

 

     我甚至算不上一个熟悉敏捷开发流程,参与过开源软件项目或发布新版本的程序员,不过如果你认为你能够匹配我所列出的7条中的5条,或者全部匹配。那么,恭喜你,你就是传说中的大神。

 

    那么你成为大神后你会得到什么?你怎么知道多年处理那些乏味的IE6的BUG是值得的?好吧,你得到的是,你会每周都收到HR的邮件和电话。(这其实并不稀奇,他们就像懂你的销售)。如果你想换工作的时侯,你甚至什么都不用做,告诉一小搓朋友或者发到你的twitter上,然后很多扇门就在你面前打开了。你会有些新朋友,他们希望你加入他们的事业。当你加入时你会成为传说中的元老。你会得到股票,并设计一款产品的最初版本。你会得到一辆1967年的凯迪拉克作为签约的报酬。在公司刚起步时我曾经诱惑过这样的家伙。大神是一名还不存在的产品的前端工程师。他指出一两年后这东西值很多美元,然后多年以后,他可以告诉别人,“这是我做的”。现在已经有这样的一些人了,像已经有无数人使用的Twitter, Facebook, Gamil和Google Maps,像Iphone的界面,Github, YouTube,肯定有人说,“这是我做的”。

分享到:
评论

相关推荐

    程序员的呐喊,完整扫描版

    【坚持做一个傻瓜!】 《程序员的呐喊》的作者是业界知名的程序员——来自Google的Steve Yegge,他写过很多颇富争议的文章,其中有不少就收录在本书中。《程序员的呐喊》是他的精彩文章的合集。  《程序员的呐喊》...

    靠谱软件测试工程师必备抓包神器Fiddler教程

    靠谱软件测试工程师必备抓包神器Fiddler教程 Fiddler是强大且好用的Web调试工具之一,它能记录客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据。

    程序员接单宝典(第三版)

    《程序员接单宝典(第三版)》是针对程序员自由职业者或想要拓宽收入来源的开发者量身定制的一本指南。这本书旨在帮助程序员更高效、更专业地进行接单工作,提升自己的市场竞争力。标签“程序员接单”和“接单宝典”...

    招聘一个靠谱ios面试题答案(下)

    ios面试题,招聘一个靠谱ios开发答案 ios面试题,招聘一个靠谱ios开发答案

    靠谱助手微信版

    【靠谱助手微信版】是一款备受推崇的安卓模拟器软件,专为用户提供在电脑上运行安卓应用程序,特别是微信的便捷方式。这款模拟器在全球范围内享有盛誉,因其稳定性和兼容性而受到广大用户的一致好评。 作为全球最大...

    建设一个靠谱的火车票网上订购系统.pdf

    建设一个靠谱的火车票网上订购系统.pdf

    靠谱(顶尖咨询师传授给职场新人的30个必备基本工作技能,让职业生 - 大石哲之.pdf

    30个必备基本工作技

    如何写一份程序员爱看的需求文档?.docx

    如何写一份程序员爱看的需求文档? 在软件开发过程中,需求文档(PRD)是产品经理和开发人员之间的桥梁,然而,一份不良的需求文档将会导致开发人员的困惑和反复确认,浪费大量时间和资源。那么,如何写一份用户...

    面试总结js 靠谱靠谱靠谱.md

    面试总结js 靠谱靠谱靠谱.md

    靠谱助手1.4

    【靠谱助手1.4】是一款深受用户喜爱的电脑模拟器软件,它专为喜欢在电脑上体验手机游戏的用户设计。这款工具的核心功能是将移动游戏无缝移植到个人计算机上,让用户无需消耗手机流量,就能在大屏幕上畅享游戏乐趣。...

    下载靠谱助手吧

    安卓模拟器社区(靠谱社区)是中国最大的安卓模拟器交流论坛,下载靠谱助手安卓模拟器可在PC电脑上极速运行安卓手游和应用。最全手机游戏电脑版攻略心得!

    怎样构建靠谱团队

    【构建靠谱团队】是IT行业中一个至关重要的主题,无论是在软件开发、项目管理还是技术支持等领域,拥有一支高效且可靠的团队都是成功的关键。本篇主要探讨如何构建并维护这样的团队,尤其是在技术领域。 首先,我们...

    读《马克思靠谱》心得.pdf

    读《马克思靠谱》心得.pdf

    靠谱助手安卓PC模拟器

    靠谱助手安卓PC模拟器

    靠谱助手V3.5.2247_setup

    靠谱手机安卓应用助手,海量应用随便下载,实用、好用。

    读《马克思靠谱》心得参考.doc

    读《马克思靠谱》心得参考.doc

    靠谱的文件切割工具

    同时,工具应提供安全的文件处理方式,避免在操作过程中造成数据丢失。 5. 使用注意事项: - 在切割前,确保目标存储设备有足够的空间容纳分割后的文件。 - 分割过程中不要关闭电源或强制退出程序,以免损坏文件。 ...

    靠谱助手 v6.3.2933 最新版.zip

    靠谱助手是一款专业的第三方智安卓模拟器管理软件,软件由靠谱社区推出,目前支持bluestacks安卓模拟器,是国内最完美的PC端管理软件以及最大用户群体的安卓模拟器管理软件。软件支持安卓的APP资源搜索、下载、APP...

    简历模板程序员,应届可以投放

    大学生简历模板程序员,应届可以投放

    一份靠谱的苹果手机指南

    [真·iPhone玩家秘笈:一份靠谱的苹果手机指南(全彩)].黄禹舜.扫描版.pdf

Global site tag (gtag.js) - Google Analytics