学历背景

我是一名11级普通渣本计算机科班出身的学渣,大学几乎是荒废了,唯一让我感到欣慰的是,毕业论文的课题选择了我最喜欢的前端方向。要知道在当时前端并没有成为高校的专业,也普遍不被高校认可。当我走上讲台进行答辩的时候,老师对我的项目不屑一顾,认为我只是做了一个好看的皮肤而已。当时也是有些心灰意冷,还好我找到了我的院长导师,他告诉我这样是没问题的,这个课题的目的就是为了用HTML5的技术实现一个新闻网站,不需要考虑后端数据库的部分。几经波折,我的论文答辩总算是顺利完成。

职业选择

其实当初大学的时候,专业是我自己选的,因为我从小就对计算机感兴趣,以前看过比尔盖茨的传记,觉得懂计算机的人都很厉害。我没有什么别的特长,学习成绩跟很多同学比起来都自愧不如,但他们一旦遇到计算机相关的问题,都会第一时间来找我帮忙,例如硬件装机、手机选购、网上购物、系统安装等等。当年的智能手机主流还是诺基亚,淘宝尚未流行,大家用的最多的通讯工具还是QQ。通过这些事情,让我毅然决然选择计算机作为我的大学专业。

但上了大学后发现,大学课程似乎并没有我想象中的那么有趣,老旧PPT、照本宣科似的教学让我感到厌倦,也不知道以后学了这些能够做什么样的工作,十分迷茫。有人告诉我Java是一个很热门的编程语言,技术扎实在市场上很吃香。之前学校也跟一些培训机构搞过校企合作,免费给我们培训Java基础课程。当时有个五子棋游戏的项目,有些算法和逻辑,实现起来的确有难度,学会了这个对技术的提升很有帮助,但我一看到那个简陋的UI界面,顿时就失去了兴趣。尤其是学到面向对象那一块,一脸懵逼。每天面对着难看的IDE、简陋的UI界面,感觉十分枯燥,即便这个东西做出来了,我也没有太多成就感。后来我了解到前端是一个新兴的职业,比起后端的重逻辑,前端更注重交互设计和用户体验,在所有类型工程师中,前端是离用户最近的,前端的界面是可以直接被用户所感知到,而这些也是我非常感兴趣的地方。大三大四的时候经常逛各种社区,对产品很感兴趣,考虑过以后做产品经理,后面我了解到,优秀的产品经理,很多都是优秀的工程师或设计师出身,例如微信之父张小龙,网易云音乐王诗沐、最美应用马力等,随后我得出了这样的结论:

只有那些拥有一技之长的人,才有机会成为一名优秀产品经理,无论这个技能是开发、设计还是运营。什么都不懂的人,其他人很难配合你去实现你的想法。

经过一些尝试后,我决定选择前端工程师这个职业,一方面前端页面很容易出效果,能快速给我反馈;另一方面做前端可以完全按照自己的想法,做出属于自己的产品。从几年的发展看,前端技术日新月异,不仅仅局限于前端页面,还能做服务端和跨平台应用,学习门槛低,学习曲线相对平缓。这些发展趋势虽然我当初没有遇见,但我坚信一点,应用程序不仅仅是功能实现就可以了,设计、交互和用户体验的提升,一定是未来产品发展的趋势,而前端技术在这样的趋势中大有可为。回想起来,我很庆幸当初做了这样的正确的决定,作为一名前端我很自豪

职业成长

第一份工作:网站编辑

我在大三实习的时候,在自己家乡找过一份网站编辑的工作,这个偏运营,技术含量并不高。之前公司JD上也是要求计算机专业毕业的学生,因为当时确实存在一种现象,非科班的学生对软件的使用 非常生疏,甚至任务管理器的快捷键都不知道我偶尔会修改下网站的CSS样式。由于计算机科班出身,对常用的软件使用比较熟练,也能用PS改改图啥的。工作日常说来惭愧,只不过是搬运各种文章,搞搞SEO让百度排名靠前。刚开始不是很懂,觉得有些知识可以学下,毕竟大学也折腾过搭建论坛博客啥的,后来发现上班日常不过是做大量重复、效率低下的工作,短期可以赚点钱,长期来看对个人发展十分不利,于是我选择了辞职。

第二份工作:Node.js工程师

这份工作也是在家乡本地,只是当时看到这个招聘觉得很有意思,这边前端的岗位跟我国的大熊猫一样稀少,竟然有招Node的公司。我欣然投递了简历,面试邀约也很快发出了,我跟老板简单聊了几句,觉得我很适合,便收到了offer。

其实入职后发现做的事情并不是用Node写后台啥的,做的工作其实还是前端方面的。一开始老板没有让我做公司项目,而且丢给我一个几年前Three.js的Demo,让我先研究下这个,作为以后的技术储备。记得知乎轮子哥说过,程序员有三大浪漫,分别是编译原理、操作系统和计算机图形学,一上来就给我整这个图形学,没有相关基础的我觉得很茫然。不过我没有打退堂鼓,我还是硬着头皮去看WebGL相关的知识,阅读Three.js的文档和API,看了一本相关电子书,还给业界知名前端女神发过邮件请教问题。大约花了一周时间,终于把这个demo跑通了。看到这个“迷你版的魔兽世界”成功运行,觉得很有成就感。后来机缘巧合认识了这个项目的作者,他感到很惊讶,感叹那会儿他还是一名211的在校学生,几年前的项目居然还可以跑起来。虽然他现在在BAT不做前端了,但还是给了我一些切实的建议,以及分享了他对未来前端数据可视化方向的思考,让我受益匪浅。

后面我做的项目就很常规了,PC官网、小游戏啥的,在这边工作很安逸,不需要担心下个月房租是不是交得起,也操心这个月吃饭交通够不够。收入在当地也还可以,只不过我还是想看看外面的世界,想知道那些厉害的人都是怎么工作生活的。后来我找到一个合适的机会,跟老板说了我的想法,他也表示支持,并且欢迎我以后回来。

第三份工作:Web前端工程师

在第二份工作结束之前,我其实去过北上广深杭这样的大城市,每一座城市都很繁华,有着各自独特的魅力。也许是不够自信,亦或是有自知之明。我不认为自己能够在大城市很好的生存,如果无法生存下去,那么我的前途必然是黯淡无光的。出于折中考虑,我的第三份工作选择在离家不远的二线城市。我知道在SegmentFault里面逛很多都是大牛,可能很难理解作为初级工程师面临的困难,在找这份工作的过程中,我有一些经验想简单分享一下,希望能够给入行的同学一些小小的帮助。

首先我找到二线城市的亲戚暂住,然后开始在拉勾、BOSS直聘这样的专注互联网招聘的平台投递简历,其他的平台一律pass。简历我没有像很多人那样找一个Word模板把自己的信息往里面套,而是选择用程序员习惯的Markdown写简历。简历我写了两页纸,导出为pdf发送到HR邮箱,方便打印。按照这个方法,我大约每天都能收到面试邀约。经过了一周的面试,我最终选择了前端人员占比最多的公司,并且在周末迅速在公司附近租了房子,开始了新的工作。

这家公司氛围很好,基本都是同龄人。由于前端同事较多,每当我工作遇到棘手问题,在没有思路的时候,我可以随时向他们请教,他们也乐于帮助新人。后面我也会学习总结各种经验和技巧,把这些收集在我的为知笔记中,以便于后续的查找。在这家公司,除了技术部门,我还认识了很多有趣的同事,比方说UI设计师、手绘师、后期制作等,他们都极具想象力和创造力,能带给我很多不一样的思考。比起第二份工作,当时觉得公司的设计,各种设计都能做很厉害,来到大城市才发现,具有这样才能的人比比皆是

前几个月工作的确很开心,能学到知识技能,也能赚钱养活自己,还能结识一群有趣的同事。只不过是幸福总是短暂的,年后公司业务急剧扩张,内部管理跟不上,同时也很缺人,这样就导致我们每个人的工作量比之前大了2-3倍,严重时候出现全组通宵加班的情况。有人说,如果一家工作能够满足以下三个条件任意一个,那么就值得继续做下去。这三个条件分别是——有钱、有限、有成长。可我这边好像三个都没有,付出得不到回报,而我目前已经把这份工作能学到的东西都学的差不多了,我想我是时候该离开,只是不知道什么时候离开,下一步作何打算,我再次陷入了迷茫。

幸运的是,那时我结识了一位前端大佬,一次机缘巧合,我获得了一次跟他深入交流的机会。我说明了我当时的情况,面临的困境,以及对未来职业的思考,他站在我的角度,不断的了解我的情况,给了我很多非常实际的建议。包括应该优先选择什么样的公司团队、在技术上需要学习哪些知识、如何跟团队更好的协作等等。通过这次交流,更加坚定了之前的想法,同时变得愈发清晰。大概一个多月后,我向上级提交了辞呈。离职前,我完成了手头工作的交接,在内部做了一次技术分享,给部门同事和领导买了奶茶和水果,表示感谢。公司BOSS得知我要离开,觉得有些遗憾和惋惜,也期待后续有一天我能够回归。

现在的工作

现在的公司我很喜欢,团队更加年轻,氛围更加自由。在这里每天可以吸猫午睡,也可以跟同事在会议室上展开头脑风暴,每个人都能发挥自己的主观能动性。除此之外,我还能获得更多的学习机会,比方说可以申请主动出差,参加各类技术线下活动;鼓励内部分享,让大家都能学习交流。在这种环境下,我可以有更多的时间可以提升自我,开拓边界。现在相比于之前,我的时间并没有多出多少,我还是处于一个比较忙碌的状态。只不过之前的我是被动加班式的劳累,而现在的我是主动成长式的勤苦。在这里,我可以做很多想做的事情,不仅仅是技术,业余时间也可以阅读、写作,向更优秀的人学习。我喜欢这样的充实又快乐的状态,会发生更加有趣的事,有趣的人也会纷至沓来,比方说正在阅读本文的你。

总结

以上是我这个菜鸟的前端成长之路,虽然从成长速度和结果来看,我依旧没有达到大城市相应工作年份工程师应有的技术水平,但我仍在坚持往前端的方向发展。以后会怎样我不敢说,至少目前来看,我是在往好的方向发展。如果你曾经跟我一样迷茫找不到方向,找不到坚持的理由,那么你可以看看当年跟你同样条件的人,是如何度过那段艰难时光的,比方说stormzhang那条在知乎上那个超过8k的回答「如何自学Android开发?」,相信每个新人看完后都会有所感触。

如果一个人本身起点就很高,从小大大顺风顺水,什么问题都难不倒他,那么他的成长经历,对绝大多数人来说,是不具备参考价值的;

如果一个人跟你有些相似,甚至有很多共通的地方,那么这个人的成长路径大概率是可行的,即便你达不到他今日的成就,按照这个路径走下去,至少也能成为一个有点厉害的人。

最后感谢SegmentFault思否举办的这次活动,也感谢SF思否小姐姐对我们广大程序员的鼓励和支持,希望我们能够在SegmentFault思否这样优秀的技术社区,学到更多的知识,结识更多的朋友,成为心中最好的自己。

Thanks for reading.

03-05 19:46