已经许久没有更新博客了,2020年的两个月也已经快没了,相信大多数人和我一样,因为疫情的原因一直待在家里,为国家做贡献。曾经很多次想写一些东西,比如2019年总结、2020年计划、过去这一年中的一些感悟以及一些技术文章等等,要么是搁置了,要么是写到一半就没有继续写了。计划类的说实话,结婚后都没有仔细做过规划和总结(婚姻的锅咯?),每次都是内心定了一些大方向,后来随着时间也就忘记了,今年也是有几件重要的事情要做,但也没有定特别细的计划。可是毕竟博客还是有一些读者,不能辜负那些好朋友,以及萍水相逢关注你的人。所以还是决定写一下今年的博客计划,顺带写一个精简版的感悟。

博客计划

工作也好些年了,接触的东西也不少了,从偏向硬件的嵌入式,到后来的PostgreSQL数据库内核,容器云,大数据,以及一些AI技术都有作为主要工作内容涉及过,慢慢的觉得技术这些东西很多地方都是相通的。真的是“术”一直在变,但“道”却多是永恒的。比如各种不同的编程语言,虽然设计上各有各的特色与长处,但一些编码的技巧其实都是通用的;各种不同的系统虽然是为了解决不同的问题而设计,但其背后的主要思想很多都还是以过去几十年的理论作为指导的。特别是最近四年多时间做的东西,虽然领域不同,但背后其实主要就是分布式技术,所以今年打算通过博客,系统的总结梳理一下分布式技术的知识。另外因为一些其它原因,也打算学习一下机器视觉方面的内容。所以今年的博客主要有两个方向:

  • 分布式系统技术
  • 机器视觉

计划保证平均每月至少1篇,争取3篇吧。还是那句话,不求数量,但求质量。

一些感悟

如刚开始所说,其实经常会有一些感悟想写出来分享,但最终都没有写。主要还是觉得自己也不是什么成功人士,大谈道理或感悟容易被人反感,而且说实话这两年我自己的一些观点和想法也在一直变化,谁知道今天言之凿凿写的感悟会不会在明天,明天的明天就啪啪啪的打自己的脸,被自己否定。还有一个考虑就是有些东西不自己经历,或者还没到某个阶段,光靠别人给你说,也是没多大用,要么是不知所云,要么就是今天觉得简直是真理,明天依旧该怎样就怎样,最终就是“晚上想想千条路,早上起来走原路”。

所以,这里就简单写一些自己过去一年的感悟,供有兴趣的人看吧:

  • 写代码绝对是件要用心,要注意细节的事情。以前阅读过不少代码,但基本都是开源项目的代码,去年开始做团队的代码Review,感触就是很多时候大家觉得代码里面用了高级的数据结构、经典的算法、神乎其技的设计模式才算牛逼。但现实就是,连最基本的变量命名、代码结构划分可能都没做好,而且还感觉不到。这些东西我觉得更多的不是因为技术不到位,而是心态的问题,就跟有些人觉得变量命名不太好这些小事情、小细节又不影响功能,没那么重要。讽刺的是,对于这种破窗效应,还很难特别有理有据的给出鲜明的反面教材。
  • 写文档绝对是件要用心,要注意细节的事情。工作中,我们经常会和别人通过书面形式交换信息,你会发现有些人给你的东西看着很清楚,很赏心悦目;有些人的虽然信息没有遗漏,但看起来就是不舒服。作为程序员,我建议大家写文档的时候,不要只关注内容,格式也同样重要。标题就用标题的样式或语法,内容就用内容的样式或语法,不要光从字体大小上区分(有些连这个都没有区分)。按标准来,很多工具能自动生成目录或者TOC,看起来真的很清楚、很方便。给你一个几十页甚至上百页的电子书,不给你目录,你是什么感受?对于Word、PPT之类的富文本,务必注意通篇的字体是否统一,不然真的很丑。万一运气差碰到像我这种挑剔的人,还没看内容就已经心里默默给了一个差评了。真的不要觉得这些东西很虚,你看不上的东西往往就是因为你做不好。
  • 作为研发,不要瞧不起其他角色。不要觉得产品经理啥都不懂,就会瞎提瞎改需求;不要觉得测试、运维、市场的同事技术不好,说啥都不懂,很难沟通;不要觉得业务SE啥事都不干,就会写文档;不要觉得写业务代码的同事只会写CRUD。其实很多时候只是大家的工作分工不同,导致的术业有专攻而已。你瞧不上他,是因为你拿你擅长的东西去跟他比了。换个角度,让你去设计产品,产品经理会觉得你就是个傻X,啥都不会;让你去做测试,结果发现很多场景你都遗漏了;让你去做市场,可能没两天就被客户投诉了;让你去做业务SE,你会发现连个Word怎么修改整体标题样式都要去百度。现实中的确存在一些不怎么样的人,但这个任何岗位上都有,程序员里面也有很差劲的,大多数人还都是比较OK的。所以,工作中与其他同事,特别是不同角色的同事沟通的时候,心态首先要放好,这样你会发现其实大多数人还是蛮好相处的。
  • 磨刀不误砍柴工,磨刀真的不误砍柴工。这句话人人都知道,可是真正能做的不多。碰到一个需求,一个功能,不要急着开始写代码,一定要花时间先跟别人沟通清楚需求,然后自己想清楚,再去做。我发现很多时候代码自身的开发量并不会占很多时间,但最终项目却还是花了很长时间,甚至延期了。最后复盘过程,其实就是很多东西没沟通清楚,后面不断返工调整;要么就是开发者自己没先想清楚,写了一半发现,唉,不对不对,然后推到重来。也许这就是大公司都需要有严格的流程,必须先有完整、详细的设计,然后再开始全面开发,即使这样,还经常会出现返工的情况。所以,写代码前一定要先想清楚,想清楚要做什么、怎么做。我觉的,只要想清楚了,一般就就能避免掉大部分比较大的失误了。磨刀真的不误砍柴工!
  • 不要反感公司的一些流程和规章制度。每个公司都会有一些让人反感和不适的流程或规章制度,对于这种建议还是调整好心态,不仅要去抗拒,还要去适应和遵守。一方面,不是所有人都是perfect的(或者说人本来就是不可靠的),所以的确需要有流程和规则来规避掉一些风险,只是有些制度可能的确有些过了;另一方面,你反感、抗拒也没什么用,只能影响自己的心情,何必呢。如果真的觉得不好,可以选择离职,没必要一直待着,还一直骂着。
  • 上班时间,尽量保持专注。我问一个问题,你上班的时候,有没有经常跟别男朋友/女朋友/xxx闲聊微信,如果有的话,建议还是少聊吧,除非是有急事。这的确是对公司不负责,但我觉得更重要的是你在浪费自己的时间,对自己不负责。闲聊真的特别影响工作效率,而且如果工作真的不忙,建议去学点东西。做技术你不学东西,就不要在发奖金的时候说为什么我的少,在调薪的时候说为什么不给我调,在裁员的时候说为什么裁的是我。即使不学技术,学一些自己感兴趣的东西,那也比闲聊的好。一句话,人还是要对自己负责。
  • 娃真的是时间黑洞,养娃真的是痛并快乐着。有娃的大多应该有同感,没娃的还是先造个娃,或者先去找个女(男)朋友吧...(我有一本尘封已久的撩妹秘籍,你想不想要?)。
  • 学点理财的知识。也许像我这种活了二十多年了还没有理财知识的人不多,但有的话,赶紧学点吧。而且这东西吧,有钱要学,没钱更要学。作为小白,不多细表。
  • Last but not the least,身体很重要,多锻炼。这个是给我自己说的。

最后,祝大家2020年身体健康,尽快走出家门!