UI设计师负责原稿设计、html、css以及一些简单的js特效实现。研发工程师负责将视觉设计融合到具体的业务场景中,也就是实现产品。测试工程师负责 产品的单元测试,自动化测试框架。运维工程师负责整个流水线的搭建。
在整个产品的研发环节中,大家是紧密在一起工作的。UI设计师一些效果不会写,可以找研发帮忙。测试工程师可以指导研发写一些单元测试。当然,有些厉害的公司还有特性团队,专门解决一些行业的复杂问题,他们作为技术专家帮各个团队解决问题。在全世界范围内,几乎大部分好的互联网公司都是这样的运作模式。
我是计算机科班出身的,这个专业里面从来没有前端这个专业。至于现在前端流行的各种框架,也不是所谓的”前端程序员“创造出来的,他们基本是研发工程师。还有,像google这些公司面试的时候更多地是面试算法,编程,程序设计,计算机基础知识。你进去后,很有可能去写React、写Go,甚至一些听都没听说过的语言和技术栈。而且,公司可能会用新的语言去替换之前的技术栈,你的技术栈会随着一起迁移。
国内的一些初创公司也是学这一套,但招到的人都参差不齐,可能刚毕业甚至是跨专业的让你去干设计、写前端、写后端、写SQL,什么活都干。几年之后,你会变得很迷茫,因为没有对编程的基本功积累,所有都停留在很浅薄的认知上。比如,学个php再去转go,发现学不过来。学前端也只是在vue和react这些框架建立起来的围墙内堆砌代码。比如:react的hook和vue的composition api带来的变革是什么很多人都不知道,只是觉得它有这个东西,那我就要学,不然会被淘汰。
然后像BAT这种公司,八股文似的面试手段,导致大部分的人天天都在背一些概念性的东西,比如js的this指向问题,这个明显是语言的一个历史包袱,一个缺陷,经常会有人拿这个来考面试的人。真正能为公司创造利润的东西,比如如何写好代码,不把一个项目堆成一座屎山,反而没多少人关心,因为这个对面试没多大用处。所以很多人都把时间花费在研究vue或react源码上,研究一些几乎用不到的api,而不是编程本身,真的很悲哀。当然,如果真的是兴趣使然,那就另说了。有篇很有意思的文章: 他开发了 redux,昨晚“字节一面”却挂了?
整个行业的导向导致了”CSS一般是由美工来写还是由前端程序员来写?“这样的问题。当然,类似的问题还有很多:
我应该学vue还是react?
我作为一个前端程序员,要写后端代码吗?
go很火,java程序员要转go吗?
全栈工程师有前途吗?
... |