part 03:
不同背景下的前端工程师如何自我定位和成长,这是一个非常有意思的话题,我简单归类了几个角色给大家看一下:
非科班的初学者,或者跨行业想进入前端领域的人,没什么计算机背景,没接触过编程的人。
其实我也算是这一类人的一个典型,我大学是学艺术的,虽然专业是平面设计,也有设立网页设计这门课程,但是其实和现在定义的前端开发工程师来说,那时候学的东西简直什么都不是。
这一类的人如何给自己一个正确的定位呢?我觉得通用性的我们分析下来,如果把前端当成自己的一门吃饭手艺,那快速切入这个领域的还是css+html,我不建议上来就学javascript,后端语言这一类的东西,虽然很多人说,这样你根本找不到工作,但是我没什么太好的办法,这一类人从一开始就输在起跑线上了,无论你是去培训机构,还是自学看教程,这是必须认清的一个现实,通过学习简单的css和html,可以快速的在文本编辑器里开发出在网页里现实的各种内容,通过不同的标签和样式,实现之前从来没接触过网页制作的人看来非常有意思的效果,比如一个表单,比如图文展示,比如简单的一个静态的个人介绍,甚至个人网站。如果觉得自己对这个有兴趣,喜欢,爱好,那么下一步才是开始深入的学习,如果不感兴趣,快速止损也是不错的。
接下来就是正式入门,看了一些html和css的简单教程,搞定了开发环境,或者说装好了subline或者dreamwear这一类工具后,我建议没基础的初学者几个取巧的学习方法。
1,找带入门教程字样的视频,培训课程,书籍等,只看目录。看上7 8个之后,找到他们的并集,确认真正的入门目标。
2,去招聘网站,看用人单位的招聘需求,记住只看初级岗位,只看小公司,甚至只看二三线城市的公司(不是人人都在北上广),看一下美工,网页制作,或者前端初级程序员的招聘要求,找到他们的并集,确认真正的求职要求你掌握的技能树。
3,确定了要学习的目标和求职目标,开始把每一个不懂的名词,全部汇总起来,一个一个的通过搜索引擎,了解掌握他们的意思,也许一时半会理解不了,但是看个大概应该可以,切记,搜索的时候带上,入门,新手,深入浅出,等字样,这样搜到的内容多半你都能看懂。
4,买书,纸质的,我这里推荐一些实战型较强的书,当然,选书之前也要记得看书评,看目录,对比不同入门书籍的目录,找到并集最多的那一本,买来看。
5,通过概念和名词解释上的第一印象,结合书,教程,视频进行demo练习。
6,学习photoshop的使用方法,下载一些网页psd的素材,进行『网页制作』的练习,从静态网站开始。
7,下载主流浏览器,测试兼容性,掌握css hack的用法,看一些css布局的教程,看见一个网页就琢磨他是怎么布局的,f12打开看看实现原理。 大概经过这么一系列的练习,我相信一个非科班,初学者,哪怕不报培训班,也能够在短时间内掌握网页制作这一项技能(大概1-4周)看天分了,也许有人2星期就能达到这个程度。
然后呢,我建议有精力的同学,学习一下javascript的基本语法和jquery的用法,然后就可以去试着投简历了,我这里需要说明的是,简历投递的技巧。
如果你是应届生或者在读学生,直接去找实习就好了,我不推荐大家去bat投实习,因为既然你是一点基础都没有学习前端开发,以临时抱佛脚的方式学习,面试上bat的实习生岗位基本没戏,我当年也是,根本想都没想过能进百度,阿里。那些单位只是传说,我非常实际的给自己一个定位,找到一个工作先干着。
我觉得以我个人的经历来说,这是最优的方案了。我相信在2-3线城市,一个能够快速实现静态页面切换成html的应届生找一份实习或者兼职或者页面重构的职位是不难的。如果你还会一点js的基础外加一些jquery的用法,我相信只要姿态低,找一份糊口的工作是可行的。
以上的方法我在这里强调下,只适用于非科班,没计算机编程基础,完全跨行业转行的同学,算是一项保底的方案。
然后我们来说一下非应届的跨行业转型的一些入门方法论。
真是不凑巧,我刚毕业的时候实习确实是网页制作,切页面,但是我做了几个月就不干了,回了老家我还是做了学校教的专业,一个做印刷的小公司做传统广告美工。
所以到这里,基本上可以开始下一类人的玩法了,我当初ps玩的非常6,我相信设计师这些肯定都是基本功,网页设计和平面设计的区别其实非常简单,1是字体的使用,2是排版的方式,这些互相转换起来是非常快的。只不过可能设计师不知道,如何把ps里的图和字,线转换成代码而已。
这里不重复,重复上面的1-7步骤,他同样适合UI设计师,平面设计人员,我当时也是,在老家做了一个月的广告设计工作后,投的第一家公司是一个做企业外包站的公司,面试题目非常简单,给了我一个需求,1小时做一个详情页,拿ps画,然后再1小时制作成静态网页。
我相信如果是做设计的,第一步非常简单可以做到,第二部的话,通过之前说的明确目标练习,也是非常容易达到的。
所以说,在某些公司,页面设计和静态页面开发还是会集合在一个工种上的,当然我说的这是一些小城市,小作坊公司。
如果是正规点的公司的话,只需要掌握常见的一些效果插件用法和css布局技巧,切图技巧,找个待遇低,没什么发展前景的工作还是可以的。
野生之路。
当你找到了一份真正的实际的前端工作时,无论是美工也好,页面开发也好,还是初级前端开发工作也好,这是你其实才是你职业生涯的第一站。
后续的你会非常的痛苦,这个阵痛过程可能持续1-6个月不等,到什么时候结束呢,说白了,当你觉得你制作页面的时候基本不用过脑子,现成的网上常见效果都能找到js插件实现,浏览器兼容经过正式线上产品检测,移动端和pc端都有过开发经验后,感觉自己需要开始javascript的学习时,基本你就从一个美工入门到目前大家嘴里说的,入门级前端开发工程师了,或者说初级前端开发工程师。
熬到这一阶段的人,一般是2级分化的,我见过切页面切上5 6年的,我也见过js一学就学好几年,也入不了门的人,我相信大家身边也有这样的人,而且其实不在少数,我怎么评价他们呢,其实也不能怪他们,毕竟不是每个人都适合这个行业,他们被淘汰只是时间问题,可能5年,可能10年,网页制作,我认为,迟早会成为一门像excel或者ppt制作一样的技能。
好了,不说这么悲伤的话题了,当你度过了学习javascript的初级阶段时,我觉得这时候,这个定位的人,他既有实际的工作经验(切页面经验),职场沟通技巧(团队配合),常见的代码管理工具和一些css压缩性能优化的常识,一些基础的javascript知识,会使用jquery或者vue开发简单的业务模块,对浏览器一些新特性,移动端新特性有所了解。
好了,这时候基本就是一个准标准职场初级前端开发工程师了,这时候可能需要1年或者一半年的时间,但是蜕变一定是非常明显的。
师父领进门,修行在个人,从初级到中级到高级,这些等我说完后端入门前端的一些套路之后,我统一一起讲解。
你现在是一个有过4年科班经验的计算机专业的学生,或者有过1-2年后端开发经验的后端语言程序员。
我们分析,你拥有的优势是什么,相比较小白来说,你可以直接跳过HTML和CSS的入门学习部分。可以直接跳过javascript的基本使用方法上,只需要关注语法糖部分和浏览器API上,而且你的学习能力应该是非科班的至少3-4倍以上。
相比较UI设计师来说,你的ps功底,或者说艺术细菌可能低到令人发指,当然也有艺术细胞好的计算机系同学,掌握ps这个软件我觉得肯定是分分钟的事,找几篇教程,下载一些psd模板,对着书苦练几天,我觉得也不是一个非常难的事情。
在校学生应该大概在个把星期的时间就可以彻底掌握上面我说的非科班学生可能需要半个学期掌握的东西,然后你还会占据数据结构,算法,计算机原理,高等数学的专业优势。
所以和非科班同学来相比,科班同学只要大学不天天王者荣耀,真的是太幸福了,毕业可以直接碾压很多非科班同学,如果你身边有很多非科班的前端工程师,一定替我抱抱他们。。哈哈。
所以总结一句话,科班生找it行业工作,优势很大,是必须直面的一件实事。如果你够努力,够有兴趣,大三,或者大二的你,可以尝试去冲刺bat或者一二线互联网公司的校招岗位,面过了是好事,面不过也可以轻松进入一些较正规的企业,缩短在那些不专业的公司和团队浪费的时间。
后端工程师就更吃香呢,因为相比较学生来说,项目经验和实战经验你最大的优势,你需要的只是在公司内部,协调和一个前端开发工程师,进行工作内容的稍许交换即可。经过几次实战的洗礼,完全可以快速在公司内部转岗或者去面试新的岗位。
但是还是会有许多的坑,比如对photoshop的练习需要下一些功夫,对javascript的原型理解需要下一些特殊的功夫,对于第一语言不是js的同学来说,其他语言的直观面向对象的写法,到了js会比较绕,需要多跟专业前端交流和code review。最后就是对细节的把控能力,我不是脸谱化各位,只是我见过很多理科生,后端工程师对前端交互的细节,兼容性,一像素的执着,等这些点不够有把控能力,或者不care,导致去做了后端开发。
好,现在不同背景的同学,我们现在都站到了同一起跑线了,我们都是初级前端开发工程师。
我们如何从初级晋级到中级?从中级晋级到高级,甚至资深呢?
下面我们可以开始我们下一个章节了,找到最适合自己的技术学习路径。