当前位置: 首页 > 科技观察

成为一名优秀的JavaScript程序员需要具备的条件

时间:2023-03-17 20:43:12 科技观察

当我试图为Cloudera招聘一名JavaScript程序员时,我发现这项任务非常艰巨。找到真正了解JavaScript的人非常困难。不过,这也证明了一件很简单的事情,是时候学习JavaScript,成为这方面的专家了。在过去的几个月里,我找到了一些有才华的JS程序员并试图聘用他们。显然他们有很多选择。他们被不同公司的报价所困扰。作为试图招募他们的人,这让我想起了第一个互联网泡沫。(我向其中一位候选人许诺了一辆凯迪拉克,但最终没能打动他)。***他进入了另一家初创公司。更关键的一点是:作为一个JavaScript专家,你不能只知道JavaScript。如果你想成为一个靠谱的前端工程师,你需要在更多方面做得更好,这可能不是JD写的,至少那些请求表现不如JS突出。有些东西你只需要知道一点点,但有些东西你需要精通(显然,如果你想成为一名真正的专家,你需要非常精通JS)。其实我只是一个普通人,我有一个博客,其他方面和一般人的身体差不多,但是当我把我的要求告诉HR时,HR告诉我“这个人根本不存在,你所描述的是超人”我告诉他这就是我每天做的事。他还坚持说“你真是神一样的人”***一个堪称JavaScript专家的人,到底需要什么技能,每天需要做哪些事情,如何判断哪些是天才,哪些是菜鸟,哪些是普通人,下面是我列的一个清单:1.你需要了解HTML,而且你需要非常精通。您需要了解文档类型的作用和作用。你要知道即使你不写TBODY,浏览器也会自动填上,你需要注意浏览器每次更新带来的变化。学会这些东西,至少跟我在一起你得学会。在你工作的时候花点时间研究一下。2.你需要了解CSS,这样你才不会后悔。我在工作中遇到的最大问题就是跨浏览器的CSS兼容性。同一样式的一段在不同的浏览器中显示不同。您为排版添加了一个负的margin-top值,您猜怎么着?用户永远不会点击那个东西,即使你添加了一个z-index,即使你可以看到该死的东西。或者你加了一套可以自动适配的CSS代码,但是你得祈祷你的老板不在IE里看你的网页。最重要的一点是你要懂CSS,这是最有价值的技术。不需要很熟练,但至少能做到和素描一模一样的,否则其他的就不用多说了。3、你要懂浏览器,你要明白在IE浏览器中,如果你把""放在一个DIV中,IE是不会把它转成DOM元素的。但是你可以放在header里面,因为这个东西是只读的。你要明白在Array数组和Object***中加一个逗号会让IE出错。您需要了解IE中的iframe中的元素会存在偏移问题。而且不仅仅是IE有问题,Firefox在清除浮动的时候也有问题,Chrome没问题。你需要明白,最新的webkit的惊人功能不一定在手机和safari上可用。4.我有提到JavaScript吗?我们需要了解JavaScript是如何工作的。要知道传入函数的arguments对象是有长度的,可以枚举,但绝不是数组对象,还要知道如何将其转换为数组。你需要知道原型是如何工作的,如何在没有框架帮助的情况下使用它,知道它的作用和优势是什么。了解垃圾收集何时有效、何时无效很重要。你需要非常擅长抽象。您需要非常擅长为自己和他人设计API。您需要知道如何测试和管理您的代码。5、你需要有不俗的设计能力(design):信息流、图像设计、用户体验设计、代码设计。你需要能够向用户、客户、陌生人、专家(无论什么)提出正确的问题,并能够解决他们的问题。您不仅可以说出自己的想法,而且还可以找到一种方式将其呈现给他们。你需要会操作Illustrator快速将各种框架草图(线框)拼凑成一个平面图,然后你可以去PhotShop(你需要精通这个)绘制设计图(视觉风格)。你不需要成为世界上最好的设计师,我当然不是。但是你必须能够告诉他们什么是好的,什么是坏的,什么是优秀的设计。如果你能管理自己的好设计,那你就很好。6.你需要对服务器端非常有信心。你不只是每天写JavaScript。大多数前端工作只会要求你花一半时间编写JavaScript,而其他时间则需要处理一些其他相关的语言代码。Python,Ruby,Java,PHP..如果你只会一种语言,那就不值得一提了。如果你只会JavaScript和PHP,你马上就会有需要你使用其他语言的任务(其实这是学习新东西的好机会)。你应该能够使用一个框架,但只知道一个并不能真正了解JavaScript。7、然后还有很多其他需要掌握的东西。你需要了解Git。Git很棒,我知道你经常听到人们这样说,如果你发现一个保守的人拒绝学习新知识和扩展自己,你需要让他明白他的错误。您需要了解一些shell脚本。如果没有记事本、TextMate或其他编辑器,您需要能够打开VI或Emacs来修改配置文件(conf)。您需要知道如何编译某些东西、如何捕获日志文件、解压缩tarball、加密某些东西、启动和配置服务。您需要能够终止进程并跟踪堆栈。我什至不是一个熟悉敏捷开发过程、参与开源软件项目或发布新版本的程序员,但如果你认为你可以匹配我列出的7项中的5项,或者全部。那么,恭喜你,你就是传说中的神明。那么当你成为大师后,你会得到什么?您怎么知道多年处理那些乏味的IE6错误是值得的?好吧,你得到的是你每周都会收到来自人力资源部的电子邮件和电话。(这其实也不稀奇,他们好像很了解你的销售)。如果你想换工作,你甚至什么都不用做,告诉几个朋友或者在你的推特上发帖,然后很多扇门就会在你面前打开。你会有新朋友希望你加入他们的事业。当你加入,你将成为传说中的族长。您获得库存并设计产品的初始版本。你会得到一辆1967年的凯迪拉克作为签约费。公司刚成立的时候,我曾经这样勾引过男人。大神是一个还不存在的产品的前端工程师。他指出,一两年后它会值很多钱,然后几年后,他可以告诉人们,“这是我做的。”现在有这样的人,像推特、脸书、Gamil和谷歌地图,已经被无数人使用过,像Iphone、Github、YouTube的界面,有人必须说,“这是我做的”。