今天工作刚好满一年,寻思着该记录一下,就有了这篇东西。

找工作

先从找工作说起吧。临近毕业了才得到复试结果,被刷掉,处境一时很尴尬。很不甘心想换个学校再考一年,后来还是打消了这个念头。五月开始吃下找工作的定心丸。最初想找摄影相关的工作,投了简历根本没人鸟我。没有人脉,又不想去太low的地方做跟班,最终放弃摄影,选择了挨踢。当时的情况是大学做过几个网站(最终都没做下去),会点HTML和CSS,在朋友的引荐下厚着脸皮去面了一家做宠物O2O的初创公司。面我的华科师兄在摸清了我的底细之后问“你学中文为什么要来做前端啊”,我说因为喜欢啊。当然我是不会说因为走投无路了只好选择做个码农^^。师兄委婉拒绝我了还建议我回家再多学点东西,最好能去培个训什么的。记忆犹新的是他说很多计算机专业的学生毕业了还不会写hello world。就因为这句话,我顿时有了信心。

回去之后我决定不再急着找工作,下载了学习视频,跟着视频敲代码。这样到了八月,会一点jQuery和Bootstrap,翻出了大学做的网站源码,重新搭建起来作为作品展示,继续投简历。

投完简历没过多久,PM周就在某直聘软件上找我聊,我看到他发的招聘信息要求1到3年工作经验被吓住了,只好表示我可能达不到要求。PM周估计看我这人挺实诚的,还是让我去面试。第二天面的时候我介绍了一分钟自己,PM周介绍了两个小时公司理念和产品前景,我们谈得很投机。PM周知道我没有面别的公司时主动表示给我一周时间再去别的地方看看,于是就有了接下来的面试。

某珠宝电商酱油面A:问了一些很基础的技术问题,唯独没有问jQuery,我答得稀烂。临走前技术负责人问了一个技术无关的问题:“你学中文的为什么要来做前端啊”,我说因为喜欢啊。

某外包公司酱油面B:等了快一个小时老板才回来,点了烟,抠着脚,没问我什么技术问题,开始大谈特谈他当时毕业每个月工资多么低,后来又是怎么发家的。这家公司准备用三个月做一个兴趣导向的社交APP出来,我表示这很难。老板说,不难啊,我们从某宝上买一套MM的代码,改一改就可以了,现在开发APP不都这样么。我……

某电商公司C:合伙人都是从华为等大厂出来的,谈得不错。临走前CTO问我,“你学中文的为什么要来做前端啊”,我说因为喜欢啊。这家公司在汉口,我又舍不得离学校太远,最终没去。

面了一圈,有些疲乏,最重要的是PM周没有问“你学中文的为什么要来做前端啊”这样的问题,我对公司Q和PM周有了好感,决定就是这儿了。

第一次工作

工作细节没什么好说的,都说刚到新公司那段适应期是进步最快的,真是没错。什么都是新的。实际工作和自己写小应用或跟着书敲例子程序是不一样的,到处倒是坑,需求总在变,bug也总会出现,恰恰是这些不确定性最能锻炼人。

总结一下在公司Q踩过的坑,很重要的有下面两点:

1.分清工作的轻重缓急很重要。我是比较懒散和喜欢拖拉的人,有时迫在眉睫的工作等着要完成我还在做无关紧要的事。有一次PM周催我修复完几个重要bug后更新APP,我当时忙着优化和重构代码,最终延迟了一周才发布更新,拖了后腿。重构是必要的,重构代表着进步,一个月后看自己之前写的东西觉得很烂就说明进步了,但显然把工作按时保证质量完成更要紧。

2.有些话可能并不适合在那样的场合说。我一直觉得自己情商蛮低的,在公司Q也吃了情商低的亏,干了一些怂怂的事情。有一天PM周去参加一个技术交流会,完了在群里跟我们分享交流,说某框架A开发Hybrid应用很好很快,大家围绕这个话题聊得很嗨。我刚好在之前看到了某框架A剽窃了我们正在用的某框架M的代码,还吃了官司,于是本着交流的精神说“A不是抄袭了M吗还被告了”。说完就没人接话了,我成了群聊终结者。确实一个剽窃别人代码的公司是不值得人称赞和尊敬,哪怕它做得再好。但是在当时的情景下,我这样说显然让PM周有些没面子,不太合适情商太低。PM周很大度,之后似乎很快就翻篇了,没人提这茬,可能也没人记得这件事,但我自己想起来,还是觉得有些尴尬。

在这样边工作边学习的氛围下,时间过得很快,转眼就到了第二年。年后公司氛围发生了一些微妙的变化,大家工作的积极性明显没有之前那么高,可能这也预示着后来产品做不下去吧。五月风声开始传出来,我们辛苦了大半年开发的产品要被终止了,公司Q可能要转型外包公司。一时人心惶惶,大家都为自己的前途做着打算。我也发觉在公司Q基本到了自己的瓶颈期,有了走的打算。终于在五月底,BOSS分别找我们到办公室谈话,BOSS证实了之前走漏风声的真实性,问我有没有考虑离开,我说有啊,BOSS一时脸都憋红了,气氛相当尴尬。没办法,我就是这么实诚的人,而且我觉得也到了开诚布公的时候了,没必要拐弯抹角。

五月的最后一天,下班之前开始收拾东西,心里有些难受,虽然可以换一个地方发展多少还是有点期待,但对公司Q毕竟有感情,这是我的第一份工作,第一家公司,这种感情是很自然和真实的。临走前和PM周握手,我终于没忍住,哭了起来,哭得像个孩子。我以为这次离别之后可能以后大家也没什么机会再见面了。事实是之后我和PM周依然是不错的朋友,经常有在一起讨论技术的机会。这不是颁奖会,但我还是想真挚地感谢PM周,是他给了我一个不错的学习机会。

在公司Q工作期间技术上的成长基本就是JavaScript基础打得还算牢固。PM周在技术上并没有做过多干涉,所以我虽然只会jQuery和Bootstrap,也基本够用了。在开发Hybrid应用时才写了一些原生JavaScript代码。作为前端熟练掌握原生JavaScript是很重要的,在我看来甚至比会某些框架(AngularJS, React等)要来得更重要一些。

入门 —— 真·程序猿

离职之后浪了一个月,在这期间投了简历和面了一些公司,也有一个不太愉快的插曲,之后或许会分享,但现在不是时候。总之在经历了4轮筛选之后我终于如愿进入公司L。

值得一提的是公司L的前端实习生,他们已经在写ES6,用过AngularJS, Vue.js, React等等框架,JavaScript基础很扎实,有时会拿一些问题来难倒我,让我这个有一年工作经验的“学长”羞愧难当,眼看着还没走到巅峰就要被95后取代了,真的有深深的危机感。IT行业技术更迭太快,原地踏步就是退步,吃枣药丸。

公司L的技术栈相对较新,之前打下的基础在这时候发挥了作用,让我能够较快地get新技术。之前每次决定学那些流行的框架和技术又每一次都因为怯弱(还有懒惰)而半途而废,内心其实是不够自信的,害怕玩不转。而现在面对未知的领域时我不再害怕了。此外在代码上也对自己有更高的要求,不再只追求完成任务实现功能,而会考虑一些更深层的东西。我想我可以说自己是一个真的程序猿了。

现在被问到是学什么专业的时候,我还是会毫不犹豫地说,中文啊。但真·程序猿 !== 真·优秀·程序猿,我很清楚地知道自己还有很多要学,还有很多路要走,这只是开始。

大公司 VS 小公司(IT行业)

这里大小的划分并没有一个固定的标准,暂且把那些初创的,技术人员少于50人的公司称为小公司吧,技术团队多余50人的就算作大公司。

小公司的技术栈可能偏保守,毕竟小公司有用人成本等各方面的考虑,可能会招那些刚好可以完成任务或者经过一段时间的培养刚好可以完成任务的人(像我一样半路出家的躺枪了o(╯□╰)o); 大公司使用的技术会前卫一点,或者因为大公司人多,各种技术层次的人都有,在技术选型的时候灵活性也更大,可以混合前卫的技术和保守的技术。这里的保守并不是一个贬义词。一些习惯了Angular的人可能会一脸嫌弃地说jQuery很老已经不能跟上技术发展的潮流了,但在我看来jQuery任然大有用武之地。技术的优劣总要放到特定的场景中去才有可讨论性。

小公司的人事变动相对更大。在公司Q期间我目睹了四个人离职,最快的来了三天就走了,也看到一些新人进来。不过整个IT行业人事变动好像都挺大的,但在大公司呆一年以上再离开的相对会更多一些。

小公司的开发流程相对比较粗放,可能没有专门的测试人员,开发顺便把测试的工作也做了,也可能没有代码审查,对规范的执行率也偏低。当然省去完整开发中的几个步骤产品迭代会更快,但也可能为之后的问题埋下隐患。

小公司更不稳定(这不废话么),但在小公司可能得到更多锻炼,一个人要完成多方面的工作。在公司Q的时候我要做前端页面,还要开发Hybrid App,但这让我成长更快,没什么不好。大公司里单个人的作用就不像在小公司里那么大了,如果想的话,完全可以在大公司混日子拿薪水,做个活死人。

以上几点只是个人看法,可能很片面,不能代表整个行业状况,但多少可以反映一些问题,作为参考依据。之前一个实习妹子问过我大公司和小公司哪个更好的问题,其实很难说哪个更好,得看你想要什么。对于应届生来说,去大公司和小公司都是可以的,关键还是看自己不是么。

这一年的一些收获和感悟

1.学会了番茄炒蛋,青椒斩蛋,荷包蛋,紫菜蛋汤等一系列大菜硬菜。很久之前我就念叨着要学做饭了,终于!

2.改掉了把要做的事情写到计划表上的恶习。想到什么就立刻去做,大不了坚持不下去再放弃就是,不用计划来助长拖拉。

3.重回130时代,之前的峰值体重是▉刮▉开▉看▉。久坐不动的程序猿很容易长一肚子肉,30岁会秃顶头发会白,颈椎病......不敢想象。

4.复试被刷掉时我曾发了一条动态表示会把摄影坚持下去,实际上这一年几乎没怎么碰相机了。终于明白,那些需要口头强调的挂在嘴上的都不靠谱,都很假。好比对一个很久不联系突然又联系的朋友说了“保持联系”,真的就会保持联系吗?

最后,借用老L的话,Talk is cheap, show me the code.

扫描二维码,分享此文章

Skipjack Yu

Read more posts by this author.