5

我所理解的「前端工程师」

 3 years ago
source link: https://ourai.ws/posts/what-is-web-frontend-engineer/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

我所理解的「前端工程师」

欧雷 发表于 8 年之前

0 条评论

标签:工作总结前端工程师

「Web 前端开发」「前端工程师」「前端开发工程师」(以下统称为「前端工程师」),这几个词描述的都是一种职业,并且可以看到它们中都带有「前端」这个字眼。在软件开发中,「前端」是指一个软件产品中用户能够看到的部分。这里的「前端」指的是 B/S 结构软件中通过浏览器呈现给客户的部分——网页。「前端工程师」就是利用 HTML、CSS、JavaScript(以下简称为「JS」)等技术(以下将这三种技术合称为「DHTML」)开发网页,向用户提供内容展示及交互的职业。这是近几年随着 web 技术的发展而产生的新职业。

本文主要为我对这个职业的一些见解以及对一些现象的看法。关于这个职业的一些介绍及分析,请看淘宝拔赤所撰写的《十日谈》。

前端工程师最基本的职责就是做出可用的网页,要做到这一点只需懂 HTML 及 CSS 就可以了。如果还要有些交互,则需要懂 JS 了。很多初级前端工程师并不真正了解 JS,而只是会使用一个叫做「jQuery」的 JS 库,他们甚至连 HTML 和 CSS 的精髓都不甚了解。

很多人以为只要懂 DHTML 就能胜任前端工程师这个职位了,我在刚接触前端开发时也是类似的想法,不过这是错的!在 B/S 软件的开发中,虽然前端部分归根结底用到的主要是 DHTML,但每个公司所用的服务端脚本是不同的:JSP(Java)、PHP、Ruby、Python……如果对服务端脚本不了解的话,在开发时就会遇到一些阻碍:

  • 增加开发负担和成本——如果自己不会服务端语言的话,开发的流程肯定是自己先做出静态页面,然后让后端人员把静态页面套到逻辑里。这个过程中后端人员做了「多余」的事情,浪费宝贵的时间和精力。
  • 无法完全掌控——每当页面内容要有稍微大的调整的时候,都得拽上后端人员来帮忙处理,既不能随心所欲地去做,又给别人造成了困扰。

除了上面所说的,现在各个公司招聘要求中几乎都标明「熟悉 Java/PHP/Python 等服务端语言」,阿里系公司还有要求「精通」的。所以,就算为了自己能够跳槽到更好的公司,也要懂服务端脚本,至少是在求职简历上填写「熟悉」的程度。

在把一个 B/S 软件的功能都实现之后,重点就在提高用户体验上了。这主要是看文字排版、模块布局、操作流畅度等几个方面。如果上文说的各种脚本(编程)语言是属于开发部分,那么这些就是属于设计部分。做网站的话,还要注意 SEO 及网络安全问题。

作为一名优秀的前端工程师,不仅要懂设计通技术,还要具备协调整个开发流程中各个岗位人员的沟通能力:从产品经理那了解需求,不合理的砍掉;设计产品的低精度原型后交给 UI 设计师制作高精度原型,其中要反复交流哪些设计在技术实现上比较困难;真正投入到开发时还要和后端人员制定数据传输的接口。

我在前端技术的 QQ 群里发现有很多人正在学习,并且也很爱提问,看起来这是应该赞扬的事情,但我很不喜欢。因为大部分问题都是没有回答价值的,要么是看下教程、查下 API 就知道的,要么就是稍微动下脑筋就能解决的。我讨厌企图不劳而获的人!如果是在百思不得其解的情况下来提出问题,我很愿意将自己所知道的全部告诉他们。

做这行,要想做得长久需要有兴趣和毅力来支撑,要想做到优秀则需要有很强的自学能力及不懈的努力!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK