打这个标题的时候,心里很愧疚。也就是说,我一向不喜欢发表这些看似虚假空洞的话。每个人的职业规划都是独一无二的,可复制性不强。发布自己的经历很容易误导人家的孩子。只是最近很多小辈(不要问我为什么都是小辈,我想静一静……不要问我晶晶是谁!)问到这个,发表一下我对前端工程师基础的看法根据我自己的经验。以供参考。距离接到第一个前端需求已经五年了。我也从一个愣头青变成了快三十的大叔,时间过得真快。这五年其实可以分为三个部分:前1~2年,第3~4年,第5年。在最初的1到2年里,我疯狂地学习知识。刚毕业的时候,满腔热血,一心想发展前端事业。刚从学校出来的时候,看到的一切都是新鲜的,什么都想学。最疯狂的时候,一个星期的晚上看完了整本Rhino书+做笔记,然后就再也达不到这个速度了。幸运的是,我能够加入AlloyTeam,依靠WebQQ,让我的编码能力和项目经验duangduangduang起来。同时,我也从事过很多奇怪的业余项目。基本上,无论什么与JS相关的“新”技术(对我来说是新的),我都想尝试一下。对于刚毕业的初学者来说,前两年真的非常重要。激情、学习速度和熬夜能力都能得到充分发挥。这个阶段通过大量的编码提升JS能力,同时尝试各种JS框架和库,找到适合自己的框架,甚至自己写一个JS库和构建工具。初学者应该忽略“不要重复造轮子”这句话。你不造轮子,怎么知道别的轮子好不好?你怎么知道造轮子有多难?你怎么知道如何改进车轮?我觉得一个新手是看不懂jQuery源码的,反正我当时就晕了。第三到第四年,在JS/CSS/HTML摸索了2年之后,突然发现学的越多,懂的越少。HTML5出来后,看了WebSocket想学,结果还是要看网络协议、HTTP/TCP、服务器开发。突然觉得10个分身未必能学好。为了跟上潮流,我不得不在头皮上下功夫。当我终于明白了服务器、网络、前端、浏览器的各种知识时,移动化趋势来了!OMG、Android、iOS、WP……生活无止境,学习无止境。其实在这个阶段,他或多或少是一位经验丰富的攻城工程师。开发一般需求不成问题,偶尔可以承接一个架构设计。在提升JS能力的同时,开始多方面的发展。前端工程师远不止是JS。要做出高性能、交互性、视觉美观的页面,需要前端框架选择、架构设计、构建工具,后端通信机制、设计与交互、网络与浏览器优化等方面的知识。前端工程师的最终目标是拥有多种技能。有人说的对:一个学位代表你无可替代,多长时间代表你可以替代别人。这样,你在团队和公司的地位会更强,公司也会为你提供更多的资源。同时,你也要着手提升自己的名声。可以发表技术博客,提交和参与开源项目,做部门级公司级和行业分享,参加行业会议等等。在这个信息瞬息万变的网络时代,保持沟通会让你不落伍。同时名声大了,也容易找到更多志同道合的人一起研究技术,甚至想跳槽。第五年,探明前路。这个时候,如果不出意外,你也应该成为高级工程师了。工作中编码的比例不算太高,更多的工作是承担技术审查、架构设计和项目管理。工作中除了完成自己的事情,可能还需要指导新人,做新人培训,带领新人完成项目。同时,也会有一个选择摆在你的面前:继续深入学习技术或者往管理方向发展,或者创业、跳槽等等。不管你往哪个方向走,没有对错,只有对错。有些人不善于交际,但同时又喜欢专攻研究,因此可以继续走技术之路,发展成为专家;有的人可能领导力很强,能带领一群人完成项目,然后转管理,成为TeamLeader,或者创业等等。无论你选择哪个方向,你都已经是一个优秀的人,你应该把这种卓越传承下去。成为导师,让新人优秀;成为面试官,发掘优秀人才;成为讲师让更多的人学会优秀,等等。
