怎样才能成为优秀的前端工程师

我说说个人见解,我以为目前国内所谓前端工程师仍是有好多分支的,有的前端在UED部门,有的在设计部门,有的在技术部门,因此首先要找好本身 的定位,在技术部门的你就狂钻研javascript,死扣兼容性问题, 在UED部门你就能够关注一些交互,提升本身的沟通技巧(由于我以为产品和交互就是耍嘴皮子的),在设计部门你就扣css细节,像素级别的,关注各类布局 和效果的技术实现,提升设计稿还原度和效率。

javascript

首先,前端工程师必须得掌握HTML、CSS和JavaScript。只懂其中一个或两个还不行,你必须对这三门语言都很熟悉。也不是说必须对这三门语言都很是精通,但你至少要可以运用它们完成大多数任务,而无需频繁地寻求别人的帮助。

优 秀的前端工程师应该具有快速学习能力。推进Web发展的技术并非静止不动的,没错吧?我甚至能够说这些技术几乎天天都在变化,若是没有快速学习能力,你 就跟不上Web发展的步伐。你必须不断提高本身,不断学习新技术、新模式;仅仅依靠今天的知识没法适应将来。Web的明天与今天必将有天壤之别,而你的工 做就是要搞清楚如何经过本身的Web应用程序来体现这种翻天覆地的变化。

计算机科学这个大门类下面的许多分支在人们眼中实际上都不外乎科 学。可是,咱们所说的前端不是什么科学,而是艺术。艺术家不只要掌握谋生的技术,还要懂得如何运用。对同一个问题的解决方案在这种状况适用,在另外一种状况 下可能就不适用。对Web应用程序的前端而言,解决同一问题的方案常常会有不少。没有哪一个方案是错的,但其中确实有一些是更合适的。优秀的前端工程师应该 知道在什么状况下使用哪一种方案更合适,而在什么状况下应该从新选择。

优秀的前端工程师须要具有良好的沟通能力,由于你的工做与不少人的工做息息相关。在任何状况下,前端工程师至少都要知足下列四类客户的需求。
  1. 产品经理——这些是负责策划应用程序的一群人。他们可以想象出怎样经过应用程序来知足用户需求,以及怎样经过他们设计的模式赚到钱(希望如此)。通常来讲,这些人追求的是丰富的功能。
  2. UI设计师——这些人负责应用程序的视觉设计和交互模拟。他们关心的是用户对什么敏感、交互的一向性以及总体的好用性。他们热衷于流畅靓丽但并不容易实现的用户界面。
  3. 项目经理——这些人负责实际地运行和维护应用程序。项目管理的主要关注点,无外乎正常运行时间(uptime)——应用程序始终正常可用的时间、性能和截止日期。项目经理追求的目标每每是尽可能保持事情的简单化,以及不在升级更新时引入新问题。
  4. 最终用户——固然是应用程序的主要消费者。尽管咱们不会常常与最终用户打交道,但他们的反馈意见相当重要;没人想用的应用程序毫无价值。最终用户要求最多的就是对我的有用的功能,以及竞争性产品所具有的功能。

那 么,前端工程师应该最关注哪些人的意见呢?答案是全部这四类人。优秀的前端工程师必须知道如何平衡这四类人的需求和预期,而后在此基础上拿出最佳解决方 案。因为前端工程师处于与这四类人沟通的交汇点上,所以其沟通能力的重要性不言而喻。若是一个很是酷的新功能由于会影响前端性能,必须删繁就简,你怎么跟 产品经理解释?再好比,假设某个设计若是不改回原方案可能会给应用程序形成负面影响,你怎么才能说服UI设计师?做为前端工程师,你必须了解每一类人的想 法从何而来,必须能拿出全部各方都能接受的解决方案。从某种意义上说,优秀的前端工程师就像是一位大使,须要时刻抱着外交官的心态来应对每一天的工做。

我 告诫新来的前端工程师最多的一句话,就是不要在没有做出评估以前就随便接受某项任务。你必须始终记住,必定先搞清楚别人到底想让你干什么,不能简单地接受 “这个功能有问题”之类的大概其的说法。并且,你还要确切地知道这个功能或设计的真正意图何在。“加一个按钮”之类的任务并不总意味着你最后会加一个按 钮。还可能意味着你会找产品经理,问一问这个按钮有什么用处,而后再找UI设计师一块探讨按钮是否是最佳的交互手段。要成为优秀的前端工程师,这种沟通至 关重要。

不管从哪一个方面讲,我都以为前端工程师是计算机科学职业领域中最复杂的一个工种。绝大多数传统的编程思想已经不适用了,为了在多 种平台中使用,多种技术都借鉴了大量软科学的知识和理念。成为优秀前端工程师所要具有的专业技术,涉及到广阔而复杂的领域,这些领域又会由于你最终必须服 务的各方的介入而变得更加复杂。专业技术可能会引领你进入成为前端工程师的大门,但只有运用该技术创造的应用程序以及你跟他人并肩协同的能力,才会真正让 你变得优秀。
 


1. 多写。不少问题都是积累得来的。写了,遇到了,才能去真正理解解决方案,才会随着本身的不断成长而有进步。别人问我为何知道那么多 CSS 兼容解决方案,为何一看就出的时候,我只能告诉他,我写了 20 几个 Wordpress 主题。-,- 2. 看书。看 BLOG 或者一些网上的教程,都很难让你全面理解一个东西的。坚持看书,至少前端相关的语言都看一本。CSS 的推荐 《精通CSS》,JS 推荐 《Javascript 高级程序设计》如今都是第 2 版了。 3. 读 BLOG。最后你会发现,不少东西你们都会。但只有某些人才解决得了某些细节性的东西,这些人就是咱们所谓的高手。很大牛在 BLOG 不会写一些简单的 List, 而是针对某个问题深刻研究。这时看 BLOG 对于进阶很是有帮助。 4. 去学一门后端语言。怎么说呢,实际用到会不多。但会颇有利于一些问题的理解。好比 Ajax。还有 HTML5 中像 Web sockets、post message 之类的 API。 5. 去用不少产品,至少去爱一个产品。你不止是一个前端,你还应该是一个设计者,去用不少产品,你才会发现技术为何有用,去爱一个产品,你才会把技术用得更好。 好吧,这是个人我的见解。一个法学院毕业自学前端的别人面前的专业前端攻城师的作法。
相关文章
相关标签/搜索