本文指出的一些问题,并非针对所有人,请勿对号入座。
最近新入职的前端跟我说,他跟不上我们项目的进度,觉得我们的项目进度太紧凑了,自己能力不足,下周不来了。这才刚入职不久,就扔下做了一半的东西跑路了。
再到上一个前端,入职2个月之后,跟我说他不喜欢我们现在这套系统,他喜欢做完全前后端分离的项目,他还不喜欢维护现有的系统,想做新功能的开发,在他离职一个月后,我们开始进入小程序的开发了,可惜。我对他的期望还是比较大的,他的前端技术能力还可以,但是跟他聊了一个多小时后,我果断地选择了不再挽留他。
这几年来,我多多少少也都面试了几十个前端了。对于现在的前端,我只能说是很无奈,但是又偏偏缺少不了他们。
自从移动互联网兴起后,尤其是微信公众号以及小程序的诞生,前端开发就变得特别的炙手可热。稍微想跟互联网扯上关系的公司,都想要有自己的公众号、小程序,这就导致了前端开发职位的需求量特别大,薪资水平也拔得比较高,但是大多数人的能力却是跟不上,良莠不齐,甚至非科班的同学也会去转做前端。
许多公司都会有这样的经历,为了赶项目上线,就凑合着招一个前端来用,最后却发现要填很多坑,不仅事情做不好,还拖延了项目进度。对于招一个怎样的前端,我们会从以下几个方面进行考察(这也可以给前端同学进行一些参考)。
关于前端招聘
做事态度
为什么我会把做事态度摆在第一位?
对于公司来说,招聘一个员工就是来做事的,在能力满足当前工作的要求的前提下,关键的还是做事的态度。
比如,你做事会主动不?遇到问题你会尽力去解决不?
比如,交给你的任务,能按时完成不?上班时间完成不了,你会主动加班去完成不?
再比如,已经定好下班后上线,你会等到上线成功再下班回去不?还是认为自己开发的任务完成了,测试也通过了,那下班了就可以直接拎包就走?
在我们招聘的前端同学中,碰到这样的情况。他们到点就走,才不管任务到时候是否能按时完成,或者上线会不会有问题。有时候下班准备上线的时候回头一看,what?前端同学呢?一问,原来已经在回家路上了,你说,这还能不能上线了?
说这些并不是要求大家加班,但是这确实体现一个人的责任心问题。
对于现在的90后,大部分还是很有傲气,并且大多都是特立独行的。他们不喜欢太多的规则,喜欢按自己的方式行事。相比我们以前,在工作中总是担心做不好,甚至加班一遍遍地检查自己的工作。
做人诚恳踏实,做事负责任,这就是态度。这也是一个人在职场上在任何时候都应有的态度。
学习能力
现在前端技术发展得太快了,在4、5年前还是jquery一统天下的时代,到现在无论是框架、还是各种工具,都让人应接不暇。我们的项目早期用的Vuejs1.x、webpack1.x到现在都已发布好几个大版本了。在面试的时候,发现很多说是精通熟悉Vuejs甚至做过几个项目的前端同学,只会用vue-cli脚手架搭个项目运行起来,对于它的运行要点却是一问三不知。这就体现了一个人的学习能力了。在面对一个新的东西,也仅仅只是会对着文档或者对着网上的例子做,却没掌握它的精髓所在,证明学习能力不行。
进入不同的公司,面对的问题,面对的技术会不一样。而对公司而言,基本上没人会手把手教你,公司招聘你进来,给你工资,就是希望你能做事情,解决问题,而不是进来上课学习。面对问题,面对新技术,只能自己快速地去学习。
基础能力
有很好的学习能力的人,一般来说基础都不会差,因为他懂得怎样去学好一样东西。现在的前端技术简直是百花齐放,要想真正地去搞懂他们,其实回归到本质,还是基础性的知识。
虽然说现在很多事情可以框架做、工具做,但是面试的时候,我们还是很看重基础知识水平。因为它贯穿在整个开发过程中,框架、工具只是提高了效率,提供了解决方案而已。我们面试过挺多非科班的前端同学甚至有工作经验的科班同学,普遍的问题都是会用用框架,跑个项目,但是基础还是太欠缺了。可能也是现在的公司招聘都要求要会什么什么框架,什么什么工具,多数人都是冲着这个去的。
解决问题的能力
微信公众号、小程序开发,移动端复杂的网络环境,各种不同的手机,越来越复杂的业务,各种新框架新工具的应用,等等等等,现在前端要面对的问题越来越多,越来越复杂。
现在的框架、套件,已经帮我们做了很多事情,你随手就可以搭出一个标准的项目,马上就可以进入开发。这时候怎么体现你的竞争力?
那就是解决问题的能力。
每个公司都有自己特有的业务或者问题,你能快速地去实现业务,或者找到方案去解决问题,那你就是不一样的。很多前端同学喜欢新的东西,喜欢现在先进流行的技术。就像是我上面说的那个前端同学。 他说他喜欢写前后端分离的项目,喜欢做单页面的项目,不想做旧项目的维护开发,他觉得他不想也无法去改进我们现有的项目。其实我觉得要改进并不那么难。
没有任何一个公司的项目都是完美的,都是多多少少会有这样那样的不如意。很多时候,我们可能会是在填坑,但是很多人没想过的就是用什么方案可以完美地填坑,或者减少以后的坑,这个过程本身就是在解决问题,对个人来说是很大的提升。如果一个项目没什么问题,很完美,你只是在堆砌业务代码,那对你能有多大的提升呢?
拿我们的一个项目举例。 这个项目开始开发到现在,接近4年了,那时候我们用的是zeptojs,还没听说过vuejs呢,vuejs当时也才0.x版本,当时为了快速开发上线业务,后端直接写前端代码,采取半前后端分离的写法,也即页面嵌入后端模板,但是所有的数据都是通过接口发起获得。有前端同学加入后,就引入了vuejs(当时也才1.x版本),同时自行写了一套gulp+webpack的自动编译打包工具,当时webpack也才1.x的版本,我记得当时为它的打包性能看了很多资料做优化,后来又升级到webpack2的版本。除此之外,我们也做了比较完善的开发、测试、发布环境与流程。到现在,webpack都到4的版本了,vuejs发展到现在也更加的好用,vue-cli脚手架,开箱即用,大家都很喜欢。对于这个项目而言,我们是想逐渐去改进它,引入新的技术栈,做到完全的前后端分离,编译打包更加好用更加智能化,性能更好。
在我们的项目演进过程中,我们填了很多坑,解决了无数的问题,大家的技术能力提升很多。其实就是这样,你踩的坑多,填的坑多,解决问题的能力越强。只可惜,很少人能看到这一点。
我们的团队
我们的团队不是一个保守的团队,反而很希望去拥抱新的技术趋势。
我们一直期待能做一个专业化的技术团队,让大家能做出更好更有成就感的项目,也让大家觉得这是值得加入的一个团队。
经过我们团队锻炼出去的前端,不乏混的好的,去大公司的也有。我们欢迎各类有态度、有志向的前端同学加入我们的团队,来一起做专业的前端。