记录第一次写库


结果:写了一个叫 storage-timing 的库。

Some days I feel different than the day before.

---《本杰明 · 巴顿奇事》

入行那年

当年高考英语才 40 多分,勉勉强强上了个本科,C 语言第一节课我就懵了大 13,漫天的英文单词和 60 岁高龄的大舌头讲师两堂课上得我丢盔弃甲,下课我彳亍于走廊,我已经盘算着转专业了,高考选了软件工程被调剂到网咯工程,就因为当年 LOL 和基友的五黑吗?尼玛 ~,两节课 C 语言课我就看懂了标点符号。

我想转专业,但是理科大学几乎全部专业都要学 C 语言。刹那间我仿佛看到了十年后我顶着盛夏,在村头接水晶头的场景。

军训半月,所以才两星期的课就到了十一,高三的的余晖告诉我,我是为了梦想而来的大学。于是拿起那本 《C 语言程序设计基础》,一头栽入了图书馆。

上海的本地学生都很厉害,他们高中就开设了程序课,十一期间,他们解决了我很多的 while(true)if(true == true),我向他们投出崇拜的表情。有些事情,现在看来是笑话,可我真的写出过 int mian,还排查了许久,什么重装软件,关机重启。

十一的特训终于让我初入茅庐,我频繁的在群里提问,也为比我更菜的同学解答。学习永无止境,两个月后,我翻烂了 C 语言的教材,班长在 qq 群里给我设置 “编程大神” 的头衔,我膨胀了。二级考我花了 20 多分钟敲完了答案离开了考场,100 分。

俗话说得好,骄兵必败。入门编程后我没有了一开始的压力,高中的棱角也被磨平,数据结构和基础算法都没学好,计算机网络和数据库也是个半吊子。心法没学好,修炼自然变得坎坷。

第二门语言是 PHP,当看到 “PHP 是世界上最好的语言” 这句话时,因为目光短浅,真就信了这个 B。大三下学期去找了七八家公司,人家看都不正眼看我一眼,这玩意儿已经废了,起码就上海的市场来说。不过学习 PHP 给我唯一的好处就是,对面向对象有了清楚的认识(当年学校并没有教 C++)。

大四上我开始着手学习前端,当学完 html4、css2、es5 时,我觉得我无敌了,还有谁?直到我遇见了 jQuery。当学完 jQuery 后,前端很难吗?直到我遇见了 Vue。(当然现在我也不再写 Vue 了)。

因为前端,我很容易的入了一个企业实习,我进去那会儿身边还有两个菜逼实习生,当我在想我的 Vue 水平能不能胜任实习工作时,隔壁俩菜逼还在研究数组里面能不能放对象,是的,他们是零基础进公司开始学习,服了个狗。后来问下来才知道它们是学校分配过来的,公司为了拿 zf 补贴,才接受了这学校的俩实习生,说白了就是他们加起来 6000 一个月,但是公司可能从 zf 那边就能拿到十几二十 w,俩工具人。主管把我和他们化成一个等级,当我们写轮播图,我日嘛,我是那怂人吗?进来实习就为了写轮播图,还是练习不是正式项目。其实摸鱼拿工资我也不是很介意,毕竟那时还是学生,3k 的实习工资对于我来说简直就是天堂,我大学一个月生活费也就 1500 左右(包含衣食住行),穷的一批。可是这破壁公司,5:30 下班 5:30 开会,我吐了,天天下班没人走,6:30 才开始有人起身。罢了,虽然我不是 00 后,但是我还没毕业啊,我能受这气?俩月不到我就跑路了。

我有点精神衰弱,晚上睡觉戴耳塞带眼罩,大四的环境大家知道,总有一两个摆烂的,我在寝室直接睡不着,摆烂组晚上不睡白天不起。失眠一两天没啥,天天这么搞,我那段时间情绪极差,毕设,找工作一堆事,还要忍受摆烂组折磨睡眠,所以那会儿极其渴望工作,争取早点工作跑出去租房子。我一个人拿着 PHP 的 Laravel 和 Vue 硬撸了一套电商模拟系统作为我的毕设,包含了 web 移动客户端,后台、商家后台三个小应用,现在看来漏洞百出,不过拿出去唬唬面试官倒是很容易。因为寝室带来的环境压力,我拿着毕设面了没几家就入职了第二家实习公司。老板是乐观派,一月没几天在公司,做完事就可以摸鱼。我其实没怎么面试,当时公司人还挺少,相当于拿着毕设就拿到了实习。有一个前端比我先入职,我以为是大佬,结果他还在写 jQuery,“脚手架?那是啥?” 这是他给我的回答。

第二年

人总是要学习,一开始我也很倦怠,拿着绵薄的工资上着绵薄的班,就想着混混工作经验,过两年跳槽之类的想法。但是倦怠产生的罪恶感堆叠到一定程度后,又会从阴霾里挤出点 “丁达尔效应”,让我发愤图强,于是这年我学习了 nodejs、webpack、typescript、react。

这一年让我对前端有了基本的认识,算上道了。我知道了 “npm build” 是 nodejs 的库 webpack 加上一堆插件打包本地文件的操作,而不是魔法,也从 Vue2 中了解到了 “Object.defineproperty”,还从 React 的 hook 中认识了设计是多么的重要。

人总是昏昏沉沉的过日子,我第二年的下旬决定回到老家的省会贵阳开始第二波发展,但是贵阳那边的互联网风气实在太差,都是些用 uni-app 一个 web 扛起整个用户层的,工资低不说,屁事还多,也没有规范的开发,最重要的是我租房还被骗了 8000 多块。万恶的骗子,几百上千万的骗局,也没个新闻,就是蛋壳公寓那种骗术。

心灰意冷的我回到老家,准备做一套简单的入门教程,到网上碰碰运气,我低估了当老师需要的能力,口才太差,花了好几个月做的课程也无人问津。不过也有那么一两个学生,但是转化率太低,我放弃了后续课程的工作。这期间倒是让我把基本功完整的复习了一遍,发现了以前学习时遗留的很多盲点,虽然没有经济收益,但是让我受益匪浅。

回家那段时间,奶奶病逝,我从小到大第一次经历家人离世,其实这次回老家也是对奶奶的一种陪伴,她时日无多,在她离世时能够握紧她的手,让我减少了遗憾。悲愤感让我从新跨上了旅途,我又来到上海,进入了之前的公司。我有想过换一家公司,但是工作经验才一年多,不好谈价钱,本来是去旧公司和同事叙叙旧,但老友很多,给了我很多台阶,我报的价格老板后来也同意了,那我就恭敬不如从命。

你和我说感情?不可能,工资 1w 老板你是老板,工资 2w 老板就是我叔,工资 3w 公司就是我家,以此类推。没人跟钱过不去是不是。

第三年

为了学习一个波浪特效,我学习了整个 svg。其余部分,还着手研究了下更底层的构建,webpack 这个超级缝合怪让我认识了很多新的库,babel、postcss、eslint 这些乌七八糟的东西,这些我后来都大致实操过,知道了 js 是通过 babel 编译降级,css 通过 postcss 添加前缀增强兼容性。之后看完了 rollup,我的第一个库就是使用 rollup 构建的。

程序写得好也不如命好,身边一个又一个的例子告诉我,幸福与学历、智慧、情商没有直接关系。那些我觉得以后没出路的大聪明,很多现在拿着金饽饽过着小康的生活,然后看着我就像个大聪明。也不乏菜鸡选对公司 15k,端着 “user is not defined” 问我错在哪儿。凭什么啊?

其实一路过来,早就忘记了最初的目标,过着得过且过的日子。在追逐的路上会失去非常多的东西,让我也逐渐偏向躺平派。不过我还是想在最后向生活妥协前,做点什么,不留遗憾。程序是不可能一辈子写下去的,但是能在这片海洋里,留下些许足迹,是对我人生的一点欣慰。

引用

storage-timing