今天网上看到,做web前端必看的: 昨天,我负责了Yahoo!公司组织的一次面试活动,感触颇深的是其中的应聘者提问环节。我得说自己对应聘者们提出的大多数问题都相当失望。我希望听到一些对在Yahoo!工作充满激情的问题。在昨天的应聘者中,只有一个人的问题是我认为最好的,那个人问我:你觉得怎么才能成为优秀的前端工程师?我觉得很有必要把这个问题从面试房间里拿出来讨论一下。 首先,前端工程师必须得掌握HTML、CSS和JavaScript。只懂其中一个或两个还不行,你必须对这三门语言都很熟悉。也不是说必须对这三门语言都非常精通,但你至少要能够运用它们完成大多数任务,而无需地频繁地寻求别人的帮助。 优秀的前端工程师应该具备快速学习能力。推动Web发展的技术并不是静止不动的,没错吧?我甚至可以说这些技术几乎每天都在变化,如果没有快速学习能力,你就跟不上Web发展的步伐。你必须不断提升自己,不断学习新技术、新模式;仅仅依靠今天的知识无法适应未来。Web的明天与今天必将有天壤之别,而你的工作就是要搞清楚如何通过自己的Web应用程序来体现这种翻天覆地的变化。 计算机科学这个大门类下面的许多分支在人们眼中实际上都不外乎科学。但是,我们所说的前端不是什么科学,而是艺术。艺术家不仅要掌握谋生的技术,还要懂得如何运用。对同一个问题的解决方案在这种情况适用,在另一种情况下可能就不适用。对Web应用程序的前端而言,解决同一问题的方案经常会有很多。没有哪个方案是错的,但其中确实有一些是更合适的。优秀的前端工程师应该知道在什么情况下使用哪种方案更合适,而在什么情况下应该重新选择。 优秀的前端工程师需要具备良好的沟通能力,因为你的工作与很多人的工作息息相关。在任何情况下,前端工程师至少都要满足下列四类客户的需求。 产品经理这些是负责策划应用程序的一群人。他们能够想象出怎样通过应用程序来满足用户需求,以及怎样通过他们设计的模式赚到钱(但愿如此)。一般来说,这些人追求的是丰富的功能。 UI设计师这些人负责应用程序的视觉设计和交互模拟。他们关心的是用户对什么敏感、交互的一贯性以及整体的好用性。他们热衷于流畅靓丽但并不容易实现的用户界面。 项目经理这些人负责实际地运行和维护应用程序。项目管理的主要关注点,无外乎正常运行时间(uptime)应用程序始终正常可用的时间、性能和截止日期。项目经理追求的目标往往是尽量保持事情的简单化,以及不在升级更新时引入新问题。 最终用户当然是应用程序的主要消费者。尽管我们不会经常与最终用户打交道,但他们的反馈意见至关重要;没人想用的应用程序毫无价值。最终用户要求最多的就是对个人有用的功能,以及竞争性产品所具备的功能。 那么,前端工程师应该最关注哪些人的意见呢?答案是所有这四类人。优秀的前端工程师必须知道如何平衡这四类人的需求和预期,然后在此基础上拿出最佳解决方案。由于前端工程师处于与这四类人沟通的交汇点上,因此其沟通能力的重要性不言而喻。如果一个非常酷的新功能因为会影响前端性能,必须删繁就简,你怎么跟产品经理解释?再比如,假设某个设计如果不改回原方案可能会给应用程序造成负面影响,你怎么才能说服UI设计师?作为前端工程师,你必须了解每一类人的想法从何而来,必须能拿出所有各方都能接受的解决方案。从某种意义上说,优秀的前端工程师就像是一位大使,需要时刻抱着外交官的心态来应对每一天的工作。 我告诫新来的前端工程师最多的一句话,就是不要在没有作出评估之前就随便接受某项任务。你必须始终记住,一定先搞清楚别人到底想让你干什么,不能简单地接受这个功能有问题之类的大概其的说法。而且,你还要确切地知道这个功能或设计的真正意图何在。加一个按钮之类的任务并不总意味着你最后会加一个按钮。还可能意味着你会找产品经理,问一问这个按钮有什么用处,然后再找UI设计师一块探讨按钮是不是最佳的交互手段。要成为优秀的前端工程师,这种沟通至关重要。 无论从哪个方面讲,我都觉得前端工程师是计算机科学职业领域中最复杂的一个工种。绝大多数传统的编程思想已经不适用了,为了在多种平台中使用,多种技术都借鉴了大量软科学的知识和理念。成为优秀前端工程师所要具备的专业技术,涉及到广阔而复杂的领域,这些领域又会因为你最终必须服务的各方的介入而变得更加复杂。专业技术可能会引领你进入成为前端工程师的大门,但只有运用该技术创造的应用程序以及你跟他人并肩协同的能力,才会真正让你变得优秀。
分享到:
相关推荐
成为一名优秀的前端工程师,不仅需要扎实的技术基础,还需要不断学习新知识和技能,适应快速变化的互联网环境。前端工程师的工作是构建网页和应用的用户界面,将设计转化为可交互的网页,涉及编程、布局、跨浏览器...
Zakas如何面试前端工程师”暗示了我们即将探讨的是前端开发领域的面试技巧和常见问题,由知名前端专家Nicholas C. Zakas分享。Nicholas C. Zakas是前端社区的重要人物,曾经参与过Yahoo! UI库的开发,并著有多本...
前端工程师在IT行业中扮演着至关重要的角色,他们专注于构建用户界面和交互,将设计变为可操作的网页。本文将深入探讨几种重要的前端开发框架和技术,包括Symfony、Zend、Django、YUI、JQuery以及安全相关的概念如...
前端工程师高级WEB网站前端开发测试指南 前端工程师高级WEB网站前端开发测试指南旨在为开发人员提供一份完整的前端开发测试指南,涵盖了WEB性能测试工具的使用、页面加载速度的优化、JS操作速度的检测等多方面的...
雅虎(Yahoo):新世纪的媒介骄子.zip___雅虎(Yahoo):新世纪的媒介骄子.zip
### 前端工程师-高级WEB网站前端开发测试指南 #### WEB性能测试工具概述 本文档将详细介绍几种常用的WEB性能测试工具,旨在帮助前端工程师更好地评估网页加载速度、页面渲染性能以及整体用户体验。通过了解这些...
### Yahoo!前端优化34条规则详解 #### 一、减少HTTP请求次数 - **核心概念**:HTTP请求是浏览器与服务器之间的通信过程。减少HTTP请求可以显著提升页面加载速度,因为每次请求都需要时间。 - **实践方法**: - **...
在职业发展道路方面,本文对前端工程师的价值和定位进行了分析,认为前端工程师的价值不仅体现在物以稀为贵上,也体现在技术的掌握和应用上。同时,本文也对前端工程师的职业发展道路进行了探讨,认为前端工程师需要...
当前版本v0.1 ...基于Adobe Air对雅虎的图片无损压缩接口进行封装而成,由于打包了flex sdk因此文件有点大。 使用时需保证网络处于连通状态。由于需要访问国外网站的接口,网络慢的可能无法正常使用。
同时,随着后台程序的底层服务化趋势,数据获取和操作逐渐成为前端工程师的工作内容,这使得前端工程师的职责范围不断扩大。由于前后端分离的架构越来越流行,前端开发者经常需要与后端服务进行交互,进行数据的存取...
在前端开发中,优化网页加载速度是至关重要的,尤其是在高级WEB网站开发中。减少请求数是提升网页性能的关键策略之一,因为每次HTTP请求都会带来额外的数据传输,包括请求头信息和可能的响应头信息,这在处理小资源...
前端优化-雅虎军规35条 网页内容上 1 减少http请求次数 80%的终端用户响应时间都花在了前端上,其中大部分时间都在下载页面上的各种组件:图片,样式表,脚本,Flash等等。减少组件数必然能够减少页面提交的HTTP请求...
前端性能优化 yahoo前端性能团队总结的35条黄金定律。
在当前快速发展的IT行业中,尤其是前端开发领域,掌握一系列核心技能对于成为一名优秀的前端开发者至关重要。以下是从提供的文件信息中提取并扩展的相关知识点,这些技能涵盖了从前端基础到高级框架及工具的应用。 ...
本书作者便是在此背景下,以国外最优秀的JavaScript框架之一——Yahoo User Interface Library(简称YUI)的最新版本YUI 3.15为基础编写而成。本书通过通俗易懂的语言和大量丰富的实例,帮助读者解决实际生产环境...