毕业这两年

少女dtysky

世界Art

时刻2017.08.04

路标

毕业

青年H在某个周末的午后,望着IDE中色彩斑斓的代码,发了会呆。在回过神后,他为此感到惊讶——患有穷思竭虑综合征的他几乎从未能成功放空过自己的大脑,而这次他似乎却是成功了。他努力回想,回想方才是否真的什么都没想,但脑子中却是一片混乱,这不禁让他回想起两年前的那个下午。在那个下午,他似乎也同样发了会呆、也记不起自己是否真的什么都没想,甚至面前也同样是一行行代码。不过与现在不同,那时的他打开的是Vivado,写的是Verilog,而现在,他打开的是Webstrom,写的是Typescript

青年H在两年前,还勉强可被称为少年H。尚被校园庇护的他本因对未来充满着希望,但事与愿违,在投了一堆简历却回应寥寥之后,他痴痴望着各大公司的职位列表,只能苦笑一声。确实,作为一介本科生的自己,如何让别的公司相信自己具有FPGA的开发能力?他之前投入近两年心血完成的体三维显示器和此时投入心血完成的开源项目FPGA-Image-Library仿佛也不过是笑谈。不仅如此,通过这段时间的观察,他也终于接受了在现今环境下,硬件领域相对于软件领域疲软的事实。此时的他本是有机会再精进一下自己的Python和WEB后端功底,进入互联网公司的。但出身于硬件的他心中早已埋下了对WEB的偏见,又如何能够如此轻而易举得放弃呢?诚然,他确实有一个做游戏的终极梦想,但他认为将梦想和工作结合会是一个巨大的悲剧,所以仍然还是准备走硬件的道路。

在反复的思索权衡之后,他叹了叹气,回应了某个同学的邀请,进入了著名的通信设备商H厂的内推名单之中。他其实是很讨厌的H厂的,毕竟在寻找工作的过程中,关于此厂的负面消息自然而然得从四面八方不断灌入了他的眼中和耳中,“血汗工厂”、“奋斗者协议”、“四大名著”这些东西在他的脑中早已挥之不去。但现在确实已然毫无办法,他只得选择这条道路。将近一个月后,他接受了面试。

面试是在一个早晨进行的,由于确认的比较晚,他的排号在比较后面。在等待区的后人选已然所剩无几之时,他应着叫号,去了面试去。第一个面试官看起来很年轻,不到三十的样子,笑了笑招呼少年H坐下,简单寒暄了些“有没有女朋友”、“哪里人”之类的问题后,问了点像是“DLL和PLL有什么区别”、“FPGA内有哪几种RAM”、“三态门的使用”这类简单的问题就结束了。他很疑惑,觉得H厂这种企业不应该这么水,但后来得知的状况让他理解了这种状况——H厂就是这样的一个公司,就算你是白纸,他们也能把你培养成能产出的人,不错,你只不过是大流水线中业务性的自动化机器罢了。

接下来是部门BOSS面试,BOSS看着有四十来岁,有种中年男人特有的稳重,身材稍稍发福,挂着红光的面容上却有一双透着疲惫的眼。BOSS面没说什么技术问题,只说了说对未来的发展规划,还有如果公司安排别的方向的工作怎么办,对于这些,他当然回答自己虽不愿意,但也会服从安排。BOSS似乎挺满意,但在满意之余,意味深长说了一句——“还是多看看软件,别钻在硬件里了”。少年H当时很是不以为然,以为BOSS在嘲讽他的硬件水平,但在一年后,他终于读懂了这句话后BOSS的表情。

入职前他去了趟日本,玩得很尽兴。回到南京后他开始规划未来。“现在工作定了,基本等于确定了FPGA这个行业,但华为也不能久呆”——抱着这个想法的他想起了之前一个前辈发的帖子,其中这个前辈说自己“已经在FPGA行业呆了五年了,之前都是在写一些接口和简单的协议,硬件和开发流程已经非常熟练了,也知道如何规划和平衡资源、功耗以及FMAX这些东西,但总觉得自己没有核心竞争力,总是不上不下的样子。”他觉得这个说的很有道理,字字扎心。“核心竞争力”这个很重要的东西自己似乎也没有,论开发,一定年限后谁都能做到,论算法,自己在图像方面有些基础,但也只是那些经典的算法实现了一遍,现在都是神经网络的时代了,虽然自己对在FPGA上实现神经网络加速也有兴趣,但工作后想必也没有那么多时间去投入研究吧?况且工作后还要抽出一些时间做游戏和写小说......他越想越烦,觉得自己可能并不能在研究上下很大功夫,所以又想起了自己实习过的那个公司——X厂。

X厂是FPGA供应商,其国内部门招人要求很高,基本都是工作经验五年以上。它在国内主要有两个分部,北京那边主要负责研发软件(主要是HLS,即高层次综合),上海主要负责产品,主要是销售和FAE这些。他觉得FAE是个不错的选择。先在努力在H厂干几年,然后凭借过去的关系,找个内推,快点进去当个FAE,待遇不错,加上外企也挺悠闲,也有闲时间做自己的游戏。他觉得这个规划很不错,于是安心打了几天游戏,随后等到了入职。

此时H还保有一些少年气概,所以在入职培训的时候锐气不减,也认识了几个朋友。而有一点令他感到疑惑——这几位几乎都在劝他不要在H厂呆下去,说他这种爱好自由和创造性的性格迟早会被H厂磨平。他一开始觉得不以为然,既然面试时小主管都说过了硬件部门不怎么加班,有时间做自己的事情,那还有什么好担心的?但当培训期过去,实际入职后,他终于明白了朋友们所言非虚。

他加入的是企业网的逻辑研发部门,主要负责数据链路层和网络层的一部分协议,简单来说就是用FPGA做“收-拆-校验-封-发”的工作,也有一两个人负责视频算法,不过看来短期和自己也没有什么关系。这工作不可谓不无聊,并且在这些之外,H厂还要求新员工去进行一系列考试,技术业务类的考试也就罢了,还有几门安全、价值之类的考试,这一点使得少年H非常不满。加之工作环境十分暗和闷,周围的同时基本都比自己大五岁以上。让他在这个团队中找不到任何的意思。对于这些同事,无论是聊开源、聊新技术还是未来都无法继续。不过转念一想,这也是十分正常的,毕竟在这种地方呆久了还不跳,基本都是和公司绑定了——一边要养家,一边技术落伍精力不足,出去基本是找不到现在这种程度的工作的。少年H此时感到绝望,一个是强制性的加班使他无法继续做游戏,一个是当前同事的状态使他觉得非常恐慌——“我绝对不要和这些人一样,成为无聊的中年人”,在这种念头中,他选择了离职。

接下来有几家公司可以选择,有初创的硬件公司,有游戏公司,也有纯软件小公司。游戏公司对于他而言似乎是最佳选择,但国内游戏行业的方向又令他担忧。

“你不是要做游戏吗?是不是还是舍弃的不够多?你连舍弃都不愿意还真的能成功做成游戏吗?”带着这些对自我内心的深沉拷问,加以良久的思索之后,他选择了工资高的那家。

新公司是一家以激光传感器为主业的初创企业,他入职时,是其中的第十五号员工。公司内学历普遍清北Master以上,这也让他安心了一些——毕竟刚毕业不久,学习环境还是蛮重要的。另一方面,之前华为的经历让他对国内硬件行业的就业前景十分悲观,所以也放弃了老本行,以软件工程师的职位进来。此时他内心虽已有些沧桑,但仍有少年的锐气。入职后他首先接下的是无人机定位方面的工作,其中首先是差分GPS的研究,在发现并没有适用的场合后,他又转向研究UWB室内定位,研究了许久却又发现并不能适用。此时,已然是他进入公司后的将近第五个月。他觉得有些焦虑,毕竟这么久的时间基本没有任何产出,这对于一个初出茅庐的学生是很可怕的。此间种种加上之前对自己未来的规划,他向上面提出要求——让自己转到纯WEB岗位,上面同意,于是他开始进入前端(全栈)领域。

在他转成WEB工程师之前,这个公司只有一个纯应用软件工程师,作为一个十五年经验的程序员,公司所有产品的WEB、移动应用都有他一手维护。这里不得不说,少年H对这个可以被称为老师的男人是抱有很大的感激的——虽然他并不会去表露出这样的情绪。他本身有一定的前端基础,然后被带领着学习NodeReact等等技术,这使得他一入门就接触到了对于当时国内而言非常先进的技术栈,接下了第一个传感器采集、展示、数据处理的工程后,他介入了第二个无人机项目,又学习了MongoDBMySQLFlaskReact NativeOC等一系列技术,虽然很多是懂个皮毛,但也极大扩展了他的眼界,使得其对自己的未来渐渐有所把握。当无人机项目基本稳定后,他又接下来激光雷达项目的软件部分,分析了业界优秀雷达的数据格式,进行了封包拆包等试验,然后选用并学习ElectronThree.js完成了包含录制、重放等功能的可视化软件。此时他感觉自己已经可以独立研究一些东西并作出实际的东西了,那种无能为力的感觉渐渐消失。

在工作之余,他还积极利用新学习的知识进行业余产出。首先,利用新学习的ReactFlaskExpress等,他重构了自己的Blog为SPA。其次,他利用新学习的Electron完成了一个笔记应用MoeNotes。除此之外,他的女装也终于进阶到了Lolita,并逐渐接触了一些圈内人。在文学方面,他以之前大坑剧本中的主角们为原型,启动了短篇小说训练计划,并完成了寒苍-晗樱-S1-α寒苍-晗樱-S1-β弗莱士-雏末-S1-α这几篇。

好景不长,在第二家公司工作十来个月后,他陷入了一种奇怪的状态——虽然其他人都很忙,但上面却已经三周没有给他任何工作任务了。作为一个很容易陷入焦虑的人,他觉得很不妙,加之自身总是喜欢在被加之伤害前先果断断舍离的风格,他开始寻找下家。可能是命运安排,他正好在V站看到了B厂的内推帖,于是就毫不犹豫去面试并通过了。但本着小心的态度,他还是尝试了几家其他的公司,其中也有满怀情怀的游戏公司,最终他还是选择了B厂——虽然给的钱不是最高,但他心中还是想着“这辈子还是作为建造者,为二刺螈出过一份力比较好吧”。

入职B站后的少年H,内心已经基本转化为青年H了。

进入B站后,青年H首先进入的是活动管理后台项目,这项目刚立项几个月,基本处于勉强可用状态,还只有两个人在开发,作为加入的第三个人,组织显然给了他很高的期望。但虽然这是一个很不错的任务——做这样的一个后台,无论是前端还是后端开发能力、架构能力都能有很大的提升。但他还是提不起什么兴趣。他追求的还是更多的富有交互性的、酷炫、可以给人带来感官冲击让人思考的东西,所以他的开发模式基本就是按部就班。但拜这个后台的福,他对ReactExpress等框架以及思想了解得更加深入了,他学习了React + ReactRouter + Redux + Immutable的技术栈,还学习了中间件等等思想,加之之前学习的很多像是流水线之类的理念、以及在做底层开发时的经验,他对WEB开发越来越得心应手。在些许总结之后,他完成了一个PPT在前端组内做了分享。在之后的公司年度技术会议时,他又用新的PPT现代前端-近年的发展与有趣实践代表前端部门去做了分享。

工作之余,他用新学习的技术对自己的Blog进行了又一次的重构——BlogReworkPro,在用RRR的基础上加了服务端渲染和缓存,还写了几篇教程:【React/Redux/Router/Immutable】React最佳实践的正确食用姿势React/Redux】深入理解React服务端渲染【Flask/React】此博客服务端的缓存实现。并且还努力用C++刷了一遍自己并不擅长的基础算法Algorithm,填补了一些知识盲区。文学方面,他又完成了弗莱士-雏末-S1-β弗莱士-雏末-S1-γ梦-S1三篇。

活动后台基本稳定后,他和其他两个同事一起启动了一个React的UIKIT项目并成为主负责人,花了两三个月将其基本达到可用状态(预计某一天开源)。之后他便暂时离开了活动后台,开始负责BML主视觉,在几个月的奋战中,他学习积累并运用了大量之前并不熟练的CSS知识、强化了动画方面的能力,还引入了Typescript替代传统的ES,总之在踩了很多坑之后,BML终于上线,这意味着他拥有了开发复杂特效的能力。之后他将开发中的一些心得写成了文章发表了出来——BML2017主视觉技术剖析

现在,青年H正在负责另一个纯WEBGL项目的开发,这个项目也和他的梦想有一些接近,这让他感到很欣慰并干劲十足——虽然他也知道这和实际期望的差距。他还有了一个已结婚为目的发展的女朋友,这是一个很好很可爱的姑娘,和自己算是同类。平时可以互相理解,虽然平时也有些争端和摩擦,但这也是常理,整体没什么问题,这让他感到很安心。

青年H对未来的发展方向越来越明确,但也越来越迷惘。虽然不想承认,但技术人员的线路抉择确实很痛苦——这痛感在他认清自己只是一个普通人之后更为剧烈。那曾经使他恐惧的虚无主义的幽灵又在不时出现,而他自己写的某短篇小说中那主人公的一生仿佛挥之不去的梦魇,似乎正在化为现实生活的投影、亦或是反向投影到现实。不过此刻的他仍旧是乐观的,或许认清自己是普通的失败者之后,才能够开启真正的“向死而生”吧——这也正是曾经的他想做而从未做到过的。

如果不是自己的创作,少女是会标识出来的,所以要告诉别人是少女写的哦。