前端开发工程师是做什么的(前端开发工程师是做什么的工作)

前端开发工程师是做什么的?最近有很多网友都在问这个问题。还有少部分人想搞清楚前端开发工程师是做什么的工作。对此,武陵观察网整理了相关的攻略,希望能为你解除疑惑。

先解释一下什么是大前端。前端工程师很好理解,不管是我们日常用浏览器访问网站时看到的Web页面,还是微信、支付宝上面的小程序,都是用JS、CSS等语言写出来的页面。一般来说,IT公司的大前端团队除了包含前端工程师之外,还包括Android、iOS等手机软件开发。
本质上来说,
他们都是负责一个软件系统中与用户交互的界面开发,所以我把他们统称为大前端。

大前端工程师的日常任务就是在浏览器、手机操作系统等平台上,用编程语言去发起网络请求从服务器上把数据获取下来,然后利用平台提供的UI控件,把数据转化成文本、图片、输出框、按钮、选择框、对话框、列表、音视频等用户可见、可交互的元素。当然,不同的平台可能会存在一些适配问题,比如,不同手机版本支持的音视频格式、图片格式可能不同;不同浏览器版本对摄像头、地图、录音录视频能力支持可能不同。
我们来拆解一下,
一个大前端工程师的核心工作分为几个:网络请求获取数据、UI控件使用、大前端代码所在平台的适配。

如果要把大前端的工作做好,每个领域都需要深入进去研究学习,这里我们举一些例子。

第一、网络请求
一般来说,大前端用到的网络请求就是向服务端发起一个HTTP请求,把数据从服务端拉下来就可以了。但实际开发工作中会有很多的细节问题,比如:
请求数据量比较大,比如,请求几百M甚至几G的大文件时,如何保证不超时、断点续传、不出现设备存储空间不足的问题等。
网络流畅时一切好说,那如果弱网环境下如何优化?
每个设备承受的并发量是有限的,比如一台Android手机,可能最多承受同时并发几十个网络连接,分配我们App上的可能只有5~10个连接。如果我们短时间内发起大量请求,就可能阻塞住,用户就会看到一直在加载却出不来数据。甚至弱网下出现TCP层的僵尸链接导致整个App所有的网络请求都拉不回来数据。

第二、UI控件使用
正常情况下,如果我们想显示一段文本,那就用代码操作把一个文本控件放到屏幕上指定的位置,然后把需要显示的文本内容传给控件就可以了。但如果文本过大超出了一屏,要怎么处理呢,是滚动还是省略?
还有图片,网络上的图片有大有小,大的可能几个屏幕显示不完,需要增加滚动、缩放等操作按钮,小的可能几个小素,比如一条修饰效果用的线条。
一个项目启动之后,通常会有设计师来画视觉稿,有的设计师会在视觉稿上提很多特效。比如,点击按钮时有平静的水中被扔下一个石子之后的波纹效果,可系统提供的按钮控件可能没有这种特效,需要自己手动实现。这也是体现大前端工程师功力的时候。

第三、不同平台的适配
有的控件在不同平台上面表现不一样,比如,输入框这个组件,在Android上面默认只有英文键盘,而在iOS手机上面默认可能就是全键盘,根据需求这些可能都需要花时间定制。
同样时Chrome浏览器,不同版本对摄像头能力的支持可能不一样,申请权限的流程、系统返回的错误码可能也不同。同样是开发小程序,不同微信版本中安全机制可能不同。
以上这些一个个的小坑只有那些多年开发经验的人才能提前预知到并估算到项目的开发工期当中去。

除了上面这几大类日常工作内容之外,
如果一个工程比较复杂,大前端工程师还会花很多精力在架构优化、组件沉淀上面,不过所有的事情目标永远是那么几个:降低开发成本、提高开发效率、提升用户操作体验。

讲到这里,大前端核心工作就简单介绍完了,下面介绍一下大前端工程师在日常工作中的基本工作流程。

开发工程师在日常工作中基本都是以项目为维度去干活的,一个项目接一个项目的干,有大有小,直到跳槽去另外一家公司,再重复相同的工作。当然,如果工程师晋升到了团队管理者,那一般就不需要做项目了,精力会专注到做好资源调配、关注团队的需求吞吐量、组织人力攻坚关键技术、优化工程架构、通过通用能力沉淀提高工作效率等事务方面。

拿互联网行业来说,一个项目的核心流程有:项目启动、需求评审、交互评审、视觉评审、技术方案评审、测试用例评审、工程开发、代码Review、提交测试、灰度部署、正式上线等。
除了正式进入开发工作之后所有工程都要做的技术部分之外,这些流程中跟大前端关系最大的就是PRD评审、交互评审、视觉评审。
需求评审时,涉及到用户交互的部分,PRD一般都是从功能、页面、组件、文案等几个视角描述需求,这里是大前端工程师重点关注的,需要一行行的读需求、消化需求、思考实现方案。而交互评审、视觉评审则会时不时出现一些让人头大的交互方式或者视觉效果,有时一个重要而特别的效果可能会让一个资深的大前端工程师花上几天时间才能实现。

到这里为止,相信你对H5、小程序、手机App等大前端工程师的工作职责已经有了初步了解,接下来我从就业方面谈谈对这个岗位在就业方面的一些理解。

第一、坑位数量
程序员找工作时自然也会受到供求关系影响,而任何系统都需要有用户来使用,那就少不了大前端开发工程师的参与。小到刚起步的创业公司,大到世界范围内的Top大厂,研发团队中的大前端工程师都是数量仅次于后台工程开发的一群人。
前些年手机App火爆,Android、iOS开发工程一度登顶,所有工程师都想转手机App开发。最近几年微信、支付宝这些平台类的超级App一统天下,很多中小型公司不再需要单独开发手机App,只需要前端工程师在这些超级App提供的基础技术能力之上做做小程序就行了。但大前端工程师的需求量却一直在上升,只是风口上的“猪”从最火的手机App开发工程师变成了做小程序、H5的开发工程师。

第二、待遇
初、高级工程师的角度来看,除了最近几年风口上的算法工程师之外,前端丝毫不弱于其它类型的工程师。但对于资深开发来说,相比大前端相比后台开发,如Java等,天花板比较低。

第三、发展空间
以我十几年的互联网软件开发经验来看,大前端工程师绝大多数情况下都是只关注交互效果,不关注业务逻辑,所以不会成为软件开发中的最核心角色。举个例子,一个互联网公司如果想找个CTO,通常都是需要做后台开发出身的人,如Java。因为后台关注业务逻辑,是整个技术架构的核心。
在我经历过的大厂团队也经常会出现这样的情况,大前端开发这个岗位做到基层技术团队管理者之后就很难再往上晋升了。

第四、技术深度
与后端开发工程师相比,大前端的纵深、广度要弱很多。同是大前端工程师,H5、小程序开发工程师的技术纵深、广度又比手机App开发工程师更弱一些。H5、小程序开发需要掌握的技术栈就那么几个:平台特性、JS、H5、CSS,对于大多数工程师来说,掌握了这几个基础技能之后的工作生涯就是在不停地按照PRD和视觉稿做一个又一个的页面。

最后,简单总结一下我的结论:
如果你对技术并没有太高的追求,做个普通的程序员,找份不怕失业的工作,那就选择大前端开发。如今手机App热潮已经衰退,那就去开发H5、小程序。
如果你是跨专业进入IT行业想做软件开发,前端是个不错的选择,技术门槛要求比较低,技术栈也比较简单,相比后台Java开发来说,深度、广度要求都不高,大厂的要求和小厂的要求也没有其它工种那么大。
如果你的目标是在技术领域成长为CTO这样的高级技术专家,不要选择大前端,一定要去做后台,关注业务逻辑、关注业务架构,去做模型拆解和领域设计。

版权声明:本文内容部分来源互联网用户自发贡献或其他公众平台,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们,一经查实,本站将立刻删除,如若转载,请注明出处。

发表评论

登录 后才能评论

评论列表(0条)

    联系我们

    在线咨询: QQ交谈

    邮件:

    工作时间:周一至周五,9:30-18:30,节假日休息