远方有多远?请你告诉我——Hello World

7/8/2019
0
随笔、年终总结

岁月之美,在于它的必然流逝,一个人总是在岁月的流逝中,在过去、现在、未来里追寻自我。人生如逆旅,我亦是行人,愿我们依然一笑如春温。

00

那天上午,学校里每个地方都留下了我们的身影。按下最后一次快门的刹那,我知道,我们即将各奔东西。

那天下午,穿过学校最熟悉的湖边小径去答辩。走下讲台的那一瞬间,我知道,四年大学生活应该在这里画上句号。

那天晚上,拿着毕业证匆匆赶到车站。火车开动的那一刻,我知道,火车开到哪里,哪里就是起点。

往日朝夕相处的室友,如今已天南海北,各自奔忙。去年国庆,春哥的婚礼,大家都参加了,自然我们坐在同桌,我们不再谈论玩什么游戏、哪个妹子好看、谁的作业借我抄,而是谁在做什么工作、谁明年要结婚……有一瞬间我还以为这只是寝室聚会,但是看看新郎和新娘,再看看发福的大家,我又确信无疑,已经毕业两年有余。回程的路上,我们开玩笑,如果按照每年一个人结婚的节奏,那么我们起码还能聚 10 次,毕竟 144 的寝室是 12 人/间。

毕业意味着选择,选择工作、选择考研、选择考公务员,这是压在毕业生头上的三座大山,可人生这所大学没有毕业的那天。回家的火车上,我在想,以前回家总是高兴的,期待回到大山里,夏天用来避暑,冬天用来看雪。但这一次,再凭我有多高的期待,也是意志消沉、无精打采,十年寒窗只为一纸文凭,但如今还是要再回到这里吗?母亲大人宽宏大度,从不和我计较,得以让我有一丝宽慰。母亲教会我坚强与乐观,大山教会我沉着与宽容。

『去北京』。我不知道这句话是谁对我说的,但是它一直在我脑海里回荡,大概是因为我身边的人都在或者去过北京罢。母亲为我打点行装,她不会问我真的决定与否,父亲也不会阻拦,因为有时我和父亲一样固执,甚至比他还固执。违离父母膝下,把牵挂和不安留给他们。再一次,故乡成为我的起点。彼时,高铁还没有通,天水去往北京的路途遥远,穿过山洞桥梁,越过树林溪涧,下一幕会不会是坦途平原呢?

01

及至北京,时值盛夏。钢筋水泥铸就的的城市,空气中弥漫着阵阵热浪。

投简历,面试……投简历,面试……6 月在这样的循环中结束,没有 break。中间我也曾有过动摇,高中选择的文科,大学专业偏向理科,又是自学的前端,普通二本毕业,这在别人看来简直就是四不像。在面试结束后通常会得到这样的回复:『你的技术可以,但我们的学历限定是一本』、『我们需要有经验的前端工程师』、『我们会再和你联系』。在这人潮拥挤的城市中立身,需要足够的勇气和毅力,但那时的我只有困惑和迷茫。

命运之神,他大概是眷顾我的。7 月 10 号,现在的东家打来了让我入职的电话。我记得当时正和我姐在她学校的图书馆,准备再一次投简历面试。我姐是一个冷静、理智的女生,在家里我最怕她生气。这段时间,她一直在鼓励着我,让我多读书,准备好面试。但有一点让我很生气,她竟然偷看了我的日记,并且加了一句评语:『陈东东是个很好玩的人』,直到一年后我才发现,算了,我也不敢问,我也不敢发脾气。

入职那天,我是骑着自行车去的,本以为能够悠然赶到公司。事与愿违,我在最后一分钟才挤进了电梯。电梯匀速上升时,我在想,『哇喔,这就是以后我每天都要经历的事情呀』!同我一起入职的有大佬,也有刚刚走出象牙塔庇护的毕业生。签了合同,办完手续,便在工位上坐了一会儿,看看四周,缠绕着电线、数据线、网线、电话线各种线,同事各自都在埋头工作,少有人站起来走动。这是一段不同于以往的旅途,前方路遥。

在公司适应了一周左右,在领导的安排下开始出去做项目。对程序员来说,投身实践永远是最正确的选择。当你苦思冥想,却仍然无法写出一行用于生产环境的代码时,你才能感觉到那种不成器的痛楚;假若你写出来了,隔几天再回看你写的代码时,大概率会脱口而出:『Shit,垃圾代码』,就像人们经常调侃程序员一样:『三个月之前写的代码只有我和上帝明白,三个月之后只有上帝明白』。但恰恰是这句所谓『脏话』见证着一个程序员的成长,疯狂写代码——重构——优化……疯狂写代码……重构……优化,瞧,这又是一个循环,只是它无需打破,因为它可能是唯一一个让程序员喜闻乐见的『死循环』。

我在公司的岗位是前端。前端在很久以前被称作『美工』,负责网页设计和美化的工作,后来随着技术浪潮起伏,美工分成了两个工种,UI 设计师主要负责 UI,前端则需要把 UI 设计稿实现为代码(HTML+CSS+JS)。随后在移动互联网的浪潮中,前端再一次走上了风口,Web 端、移动端、服务端、桌面端都开始出现它的身影,前端似乎在以一种人们感受不到的速度向各端渗透,而渗透还在持续着。就我们现在能接触到的而言,微信/百度/支付宝小程序采用的是 JS,淘宝/天猫的支持框架是 JS 实现的 Weex,以及越来越多的公司开始采用 Node.js 作为后端服务语言。曾经有这样一句话,『能被 JS/TS 重写的,都将被 JS/TS 重写』,话糙理不糙。Node.js、RN、Weex、Flutter、Electron 都是这句话的布道者,所以前端这个领域依旧蕴藏着巨大的发展空间。前端的发展很快,快的让人有点厌学。如果你关注 GitHub Trending,你可能会发现,隔三天框架就会发布一个新版本,差五天就会冒出来一个新的框架,而且 JS 的标准也是一年一个版本,如果抱着『当雷劈下来的时候,我得有避雷针(我得在场)』的心态,每个框架都要懂,每个框架都要学,岂不厌学哉?虽说技多不压身,但是如果一味地跟着框架学习会让人疲于应付,毕竟版本和框架可能每天都会有。但是,万变不离其宗,前端的三驾马车依旧是 HTML/CSS/JavaScript,一切上层建筑都来源于底层基础。毛主席曾经说:『反对两个拳头同时打人,应集中兵力向一个方向作战。』集中精力学底层知识,分散一部分精力去学习框架及其延伸知识,以便达到活学活用的程度。

所幸,程序员这个物种几乎都是『终身学习思维』的践行者,他们不懂的技术就要去学,否则无法解决眼前的 bug;不理解的代码就要去问,否则改完之后会产生更多 bug;他们习惯对未知说 Hello World。他们是我见过的最好学的一群人。前几天去另外一个项目组,我发现他们桌子上有一堆技术书籍,都是关于前端方面的,就是要为了解决在项目中遇到的问题,而此前他们可能很少接触前端。学习的过程就是从无知、迷茫困惑到『暮然回首,那人却在灯火阑珊处』的过程,这些都是必经之路,承认自己不会就是迈出了第一步。

  1. 基础。基础知识必然不能忽略,一切上层建筑都来源于底层知识。读书、了解语言标准、官方文档是这些知识的来源。
  2. 框架。框架是以解决某类特殊问题而产生的,例如 Bootstrap/jQuery 的目的是解决跨浏览器开发,Vue/React 为高性能单页应用而生,Weex/RN 是为了开发跨平台移动应用。了解自己的需求,选择合适的框架,运用于实践,『精通』就只是时间问题。
  3. 延伸。TypeScript 是 JavaScript 的延伸,SCSS/LESS/Stylus 是 CSS 的延伸,Node.js 使前端向后端延伸,这些延伸往往能提高代码的健壮性,以及提高开发效率。而程序员的工作就是延伸自己和用户的能力。
  4. 趋势。GitHub Trending 是了解发展趋势的好地方。Serverless/CSS Houdini/Web Components/GraphQL,了解趋势,把握当下。雷如果真的劈下来,即使我们不在场,也要最快到现场。
  5. 实践。实践是检验真理的唯一标准。

工作和兴趣的契合是一件比较不容易实现的事情,做自己喜欢的事情有时候真的遥不可及。我现在能够做自己有兴趣的事情——编程,其中一部分来自于运气,高中文科毕业,在经济管理学院学了这门计算机专业,无疑是幸运的。其次是兴趣,小时候对游戏的痴迷,之后对手机的兴趣,最后兴趣又转移到的计算机,这才走上了靠技术实现脱贫的道路(内心 OS:也不知道能不能在 2020 年和大家一样一起奔入小康)。但我在工作中发现,对工作的兴趣是可以培养的,与其深陷自己不喜欢某份工作的泥潭中,倒不如去了解这份工作,大问题化成小问题,小问题可以用最熟悉的知识解决,然后再把答案拼起来,借此感受完成某个任务的成就感,而成就感能够促进我们完成任务的主动性,通过这种正向循环提高对工作的兴趣。

下面这段文字纯属『流水账』——非典型程序员的一天:

7:00 起床洗漱,如果加班,可能稍微晚点

7:20 挤上地铁,玩手机(大部分时间信号差,站等 5G 啊),通常会带着 Kindle

8:30 到达公司,打卡、打卡、吃早餐

8:40 - 9:00 刷刷新闻、微博、划水摸鱼的时间

9:00 - 11:30 专心致志写 bug,写完 bug 改 bug

11:30 - 13:30 吃午餐,围着写字楼溜圈,助消化,午休

13:30 - 14:00 午休刚睡醒阶段,偶有起床气,经常性迷糊

14:00 - 18:30 专心致志写 bug,写完 bug 改 bug,偶尔插科打诨

18:30 之后,如果加班,则加班(时间待定),否则回家睡觉。

00:00 上床睡觉

……

又到了这样的夏天,热浪涌动的大街,密不透风的办公区,柏油马路的温度似乎不会随着黑夜而下降。只有窗外偶尔淅淅沥沥,才能为这城市降下 1℃。

02

高晓松说『生活不止眼前的苟且,还有诗和远方的田野』,可生活却又把它们颠倒,『生活不止诗和远方的田野,还有眼前的苟且』。穿行于生活与梦想的夹缝中,瞪大眼睛猜世故,磨尖牙齿学谈吐。半夜含泪诉说雄心壮志,醒来时继续对生活咬牙切齿。这些幽暗的时光,那些坚持与慌张,都将成为远方田野里的一首诗,微风吹过田野,细雨打湿泥泞,阳光映出彩虹!

『身体和灵魂,总有一个要在路上』。这句话古人早就说过,『读万卷书,行万里路』。读万卷书,阅己凡心。读书是一件能让人放松的事儿,拿起一本散文集、历史书、长短篇小说,抑或是一本杂志都能让自己从凡间琐事抽身出来,享受片刻宁静,只与自己。读书亦不是一件有 bigger 的事儿,它只关于自己的精神世界,开卷有益便是证明,若是人人都读『高级书』,哪里还有『百花齐放,百家争鸣』,喜欢就读,不喜欢就放在一边;行万里路,历己尘身。怀揣灵魂是行万里路的前提,单纯的『网红景点打卡』是没有意义的万里路,有些路是不能白走的。我想『读万卷书,行万里路』其实应该是一个结合体,而这个结合体就是『知行合一』。

总想在工作闲下来的时候写点儿东西,但真正闲下来的时候那股热情却已然不见。讷于言并不代表没有表达欲望,我写的那几篇文章可以作证,聊胜于无。有人会问我,为什么你一个程序员这么文(jiao)艺(qing)?大概,白天保持理性能让我写出的代码 bug 少点儿;每当夕阳西下,每当感受时间流逝、忙碌与挫折的时候,如果要为这些情绪找一些托词,借李清照的词来讲:『花自飘零水自流……「矫」情无计可消除,才下眉头,却上心头』(李清照的粉丝不要打我),我想写文章的欲望大抵来于此。其次,我觉得写文章没有好坏之分,只有不同观点之分,上学读书时候的作文,工作时熬夜加班写的文档,每一篇都算是文章。但是,我讨厌『贩卖焦虑文』甚于『鸡汤文』,鸡汤多了可能会撑着,焦虑多了可能就撑不住了,所以为了健康着想,坚决抵制『鸡汤』和『贩卖焦虑』的文章。想来,除毕业论文之外,这是我写过最长的一篇文章。子曰:『内省不疚,夫何忧何惧?』,写这篇的文章时候,恰好是工作的第三年,仅以此文内省。原本的标题叫做『三载一省吾身』,觉得有点傻,所以改成了现在的这个标题。

李健评价梁博『边缘、独立、自信』。边缘,意味着一个人能够找到自己的位置,做合适的事;独立,意味着一个人有一技之长,立足于当下;自信,意味着一个人有明确的主张,不随波逐流。我想只要具备这三点,一个人才能够称之为『社会人』。

CODERFEE 是我在很多平台和网站的昵称,也是我的域名 coderfee.com。有很多人问这个词是啥玩意儿,什么意思,怎么读?我想解释一下,coder—码农,fe—front-end 前端,e—因为 coderfe 已经被注册了,它是我随手敲出来的。

行文至此,思绪已了。所思所闻,后文再叙。

Hello World! Hello Life!


商业转载请联系站长获得授权,非商业转载请注明本文出处及文章链接,您可以自由地在任何媒体以任何形式复制和分发作品,也可以修改和创作,但是分发衍生作品时必须采用相同的许可协议。
本文采用 CC BY-NC-SA 4.0 - 非商业性使用 - 相同方式共享 4.0 国际进行许可。