牛X的前端工程师是什么样的

about ME:

  我有一个梦想,想做出全世界最棒的网站,作为用户体验最重要的一部分,我想选择前端来做。这是我选择前端工作的原因。我觉得它有更多的挑战和发挥空间,一个人的才能使取之不尽的,我希望我可以有更大的成长,所以如果你们只需要找你们意愿完成普通工作的人,我想我可能不适合,而且我要的工资也高。我对自己能力的要求也高。

  对后端或者其他开发类的职位也不排斥,因为这都是做出牛X的网站需要的,如果有必要,我也会去系统学习一下。

  我不喜欢给自己的能力设限,如果你说我不会,那只能代表我现在不会,在这个信息时代,我相信只要有心学习我是可以会的。

  我喜欢主动追求用户体验的提升,毕竟做出用户体验最棒的网站是我的终极目标。我的业余时间可能喜欢一些新出的js.比如地球js.

  自动化测试是我一直想要了解的。待定~~~~~~~~

  初级前端看功能,中级前端看测试,高级前端看监控。

  监控,才是真正提高用户体验的利器,实时反馈用户的操作。了解用户的行为,引导他们产生我们想要的结果,这才是真正的前端应该做的呢。

正文:

如何定义牛逼工程师

  有软件工程方面的研究说,对于开发者个体而言,最优秀的开发者的生产效率约为平均值的2倍,而优秀的开发者会吸引其它优秀的人,或者激励与帮助团队中的其它成员,最终使团队之间的生产效率差异达到10倍之多。

  所谓牛逼的工程师,就是那些个体效率是其它人2倍,形成团队之后达到10倍差异的一群人。

  前端领域这几年发展速度非常快,人才分布呈两级分化趋势,大家都在说缺前端,其实缺的是牛逼前端,对于低端的前端,培训机构一直在量产,但是无法满足要求。很多情况下,一个牛逼前端对于团队的价值是再多低端前端都无法提供的。

  牛逼的前端工程师有一些共通的特质,这些特质也许不属于前端的核心范畴,但是可以通过它们将牛逼的人识别出来。

 对用户体验的追求

  不要认为用户体验只由设计师和产品经理把关就可以了。前端工程师对用户体验的关注度会直接影响产品的最终效果。

  不管设计文档有多么详细,产品中仍然有大量的细节是设计方没有考虑到或者默认的,而这些细节需要前端工程师来把关。同样的设计,交给不关注体验的前端来做的话,会有很明显的粗糙感,而想要填平这些粗糙感需要大量的附加成本。

  目前多数视觉设计师的不足是无法以动态的角度理解产品。比如我们要出一个设计稿,PC时代我们会出一个固定宽度的稿,比如800像素,然后让工程师去还原。后来到移动时代,我们会让设计师出两三个稿,对应不同屏幕的手机。这就是缺乏动态思维的弥补措施,无论出几个宽度的视觉稿,都只是动态形态的截面。

 动机来源

  我遇到的很多转行做前端的人是认为前端门槛低,所以先从前端做起。这样的人也许能做基础的工作,但很难做到优秀。

  牛逼前端是奔着前端领域有更多的挑战和发挥空间而来的,而不是为了好找工作。事实上胜任高级前端的职位很难,我们招聘高级前端工程师的面试通过概率可能是研发类职位中最低的。

  还有的人说对前端有兴趣,所以转行做前端。对于前端的兴趣要建立在对计算机的兴趣、对编程的兴趣之上。如果一个人对于做前端很有兴趣,但是对做后端或者其它开发类职位有排斥,那么就要对他的兴趣打个问号了,这类人可能不适合做研发类的工作。

 全栈意识

  这里所说的全栈并不是真的要去做后端工程师一样的事情。对于前后端分离,很多人有误解,理解成前端不用写后台代码。真正的前后端分离指的是系统级的分离,前端有独立的系统,当然要有自己的后台,还有各种辅助支撑系统。代码构建、发布、线上运维、数据统计监控都要了解,否则没法独立承担一块业务。

  牛逼的前端工程师首先得是一个牛逼的软件工程师,他们是不会给自己的能力设限的。

  而前端工程师所做的事情是将截面延展为一个完成的产品形态。

  牛逼的前端能够主动追求用户体验的提升,对于交互、UI、视觉设计有基本的认识和审美能力,即使脱离设计师的支持依然能交付用户体验良好的产品。

 了解自动化测试

  优秀的前端不一定真的有多丰富的自动化测试实践经验,但一定要了解与自动化测试相关的基础知识。系统的可测试性本身比具体的测试用例覆盖度更重要。追求质量不是一件有时间了再去做的事情,追求质量本身是提高效率的方法,从而给你更多的时间。自动化测试是前端工程化建设的必备环节,虽然前端的自动化测试还没有形成稳定且应用广泛的实践方法,但是自动化测试这一块完全缺失的话,肯定是成为不了一个牛逼前端的。

 重视监控系统

初级前端看功能,中级前端看测试,高级前端看监控。

  前端做监控的目的就是在产品上线之后要从用户端拿到第一手的数据,毕竟用户端好用才是真正的好用。

  目前多数公司对于前端的监控做的是不够的。在前后端分离的技术架构之下,前端要有自身的一整套监控体系才行。

  很多时候后台监控到的是结果,结合前端监控才能分析出原因。我举个例子,比如后台监控到实时订单量骤减,这个是最终的结果,如果有前端的监控,我们就要看一下前端的可用性状况、各个页面的UV、加载性能、每个交互环节的点击量,各个接口的性能和出错占比、前端代码报错的量和位置,然后定位出问题所在。

  真正经历过大型项目并且做过技术架构的工程师都会重视监控系统的建设。

  做好监控需要有很好的大局观,一方面是产品的大局观,包括思考用户会如何使用产品,如何量化这些行为,每个环节数据的预期变化。另一方面是技术的大局观,要了解到整个技术架构不同模块是如何协作的,怎样测量它们是否正常工作。

 总结

  牛逼前端肯定不会只把时间花在研究浏览器上,他们所共有的特质就是:对于用户体验的追求、迎难而上的动机、全栈意识、注重自动化测试与数据监控。基础知识之外,对于周边体系的掌控状况最有区分度。

作者:张鑫

via:https://zhuanlan.zhihu.com/p/22026860

 

about ME:

  自动化测试:GUI软件测试-图形用户界面测试,我想到的功能:1 用户操作历史 2 相同结果的不同操作流程

        存在的必要:很多人只会试用一次然后就再也没有以后了,所以测试是很有必要的。

         测试用例的复杂可以使用每个页面只有两个按钮的方法。这是建立页面的时候就应该考虑的,可是这样测试确实简单了,用户的功能貌似也简单了,但是这样同时不会出现选择障碍,或许可以试试。

        根据现代的测试程度,应该差不多吧。需要实验。试一下知乎提供的几种方法https://www.zhihu.com/question/29922082

      监控:http://fex.baidu.com/blog/2014/05/build-performance-monitor-in-7-days/

     这个要完全学会啊,待定~~~~~~~~~

  • webPageTest 查看页面加载瀑布流等数据,进阶必备工具
  • Chrome 开发者工具 功能强大,值得学习
  • PhantomJS 功能强大的分析工具,高手必备瑞士军刀
  • JsPerf JS 执行性能分析网站,谁用谁知道

有人说:

维度与指标
1. 前端性能指标无非是这几个值:

    • 白屏时间;
    • 首屏时间;
    • 用户可交互时间;
    • 总下载时间;
    • DNS解析时间;
    • TCP连接时间;
    • HTTP请求时间;
    • HTTP响应时间;

但是我想要的监控,并不是这些指标,而是对用户操作路径的监控,以及根据不同结果对用户操作路径进行分类,而不是简单的几个时间啊,看来还需要找一些别的,待定~~~~~~~

 

posted @ 2016-11-13 16:24  Lydia_Wang  阅读(283)  评论(0编辑  收藏  举报