日记——几点思考(1)

有感而写,以后每月计划写一篇吧。

  关于多多益善的思考

看了这一篇文章 《从全栈工程师到全周期工程师》,全栈工程师是从前端到后端,从软件到硬件都懂的通才;之后 DevOps 流行,强调开发和部署的连贯性,所以逐渐有了全周期工程师,即一个人负责完整的软件生命周期:设计,开发,测试,部署,操作和支持。当然这两个概念的转变还只是限定于技术范畴,不知道哪天出现全能工程师,除了负责技术,还得负责运营和市场。近年来,语言不断从低级到高级,汇编、C语言、Go语言,那么代表门槛越来越低了吗?代表工程师更容易集多种技术于一身吗?这就如同以前关于技术广度和深度的讨论。宏观上看,从古到今有一个规律,即每18个月新增的数据量是18个月前数据量的总和,世界的科学知识(注意不是智慧)确实也在不断累积;对于一个单位的人其科学知识也在不断增长,但是不可能有宏观上的规律,毕竟人的时间是有限的,宏观上的时间是无限的(宇宙没有起点,也不会结束)。所以我更倾向于深度的学习,而且当某一项技术学到了较深的程度后,眼界就不一样了,再学其他的技术也容易达到类似的境界。然而现在的技术错综复杂,相互依赖,就以 Web 优化为例,运维和技术是高度融合的,这时候避免不了要有广度,从这一点,我也并不排斥广度学习,但是心中要有一把尺,知道达到多广就应该收敛学习。

下面引用韩少功在深圳坪山图书馆开馆之际说的一段话: {% blockquote 韩少功, 深圳坪山图书馆开馆与读者分享与互动 2019/03/23 %} 读书越多越好这种说法并不可信,一个医生开出的处方不可能适合所有的病人,在知识爆炸的年代,不能浪费时间去“暴饮暴食”,要有针对性地选择知识,并与实践结合起来,知为行之始,行为知之成,要用我们的实践把书中的智慧、精神重新激活,才能变成有血有肉的东西,变成自身的智慧。 {% endblockquote %}

  关于学习阶段的思考

技术学习是有曲线周期的,我的理解是:指数增长 - 线性增长 - 水平停滞 - 重点突破,周期性的提升。

  • 指数增长:当前技术门槛低的更低,高的不变或者更高,所以要入门其实越来越容易了,相关的学习资料也丰富。
  • 线性增长:前期较为容易的技术阶段过去后,增长速度会放缓,第一可能会稍微进行广度学习,但是广度学习给人的技术感没有那么强烈;第二可能迷失了学习方向,比如后端人员花大量时间去学 JS、CSS等,未有体系的学习,没有高人指点;第三可能是工作性质的原因,公司要你学那些知识;
  • 水平停滞:这个就是俗称的吃老本,大部分是重复性的工作,家庭生活,自身的懒惰。这些综合影响导致停滞不前,有时候你还能工作下去,但是遇到公司变动调整,你可以就在裁员的名单里面。而且这个阶段也比较不利于跳槽,如果不进行再学习,你很快会发现无处可跳了。
  • 重点突破:能不能转折重新进入指数增长阶段,重点就在于能否有重点的突破,哪些是重点?这个很难界定,但是你能感觉到。比如一个 PHP 后端人员前期一直做业务编程,当进行总结得出编程模式的时候,当在 Linux 编程有所突破的时候,当翱翔于各种 RFC、密码学、算法的时候,你就会发现一下子知识有了长足的增长,有一种重点突破的感觉。

学习不在于一目十行,而在于人过留名,雁过留声。把你学的东西写出来,留给自己复习也好,当作他人阶梯也罢,你会发现这进步是实实在在的。

  关于时间换金钱的思考

最近有 996.icu 网站以 10 几万的 star 引起人们的关注,技术人员为自己的时间利益呐喊。其实这就是一个以时间换金钱的无奈之处。下面引用阮一峰的一段表述:

{% blockquote 阮一峰,http://www.ruanyifeng.com/blog/2019/04/weekly-issue-50.html 2019/04/05 %} 前几天,我听一个广播节目。主持人问,现在很多人开网约车,这样能赚多少钱,能够赚到大钱吗? 这个问题很容易回答,答案就是不能。出租车司机的收入,主要由营业时间的长短决定。基本上,一天开12个小时,就是比开6个小时,收入高出一倍。每天只有24个小时,因此收入存在上限,不可能偏离平均水平很远。 出租车是"时间换收入"的典型行业,投入的时间越多,收入越高,在家休息就没收入。很多行业都属于"时间换收入”,所有此类行业都赚不到大钱。因为你能用来交换的时间是有限的,而且进入中年以后,你就拿不出更多的时间来交换。开出租车赚零花钱,或者作为短期过渡,这是没问题的,但作为终身职业是很糟糕的。 我觉得,越来越多的程序员正在落入这个陷井,用编码的时间换取收入。只有不停地做项目,才能拿到钱。项目做得越多,收入越高。这个项目开发完了,公司又让他去干下一个项目。 忙了好几年,项目完成了一大堆,但是自己什么也没留下,以后的收入还要取决于从零开始的新项目。这样的话,你跟出租车司机有何两样,哪一天你不写代码了,不是照样没收入。 那些赚到大钱的人,没有一个是靠时间换取收入的。他们要么通过积累资产致富,要么购买他人的时间,为自己创造财富。你应该警惕,不要落入"时间换取收入"的陷井,不要只顾着为别人生产代码,而要注意积累自己的资产,以及适时开展属于自己的业务。 {% endblockquote %}

这是一个新程序员要想的问题,更是一个老程序员要解决的问题。 当你在写代码的时候,别人在撰书写论文;当你在餐桌上只管品菜海侃的时候,别人在左右逢源,让所有宾客感到满意;你在内部会议上发言都显拘谨,他们面对突如其来的话筒也能侃侃而谈。总之,不是不够努力,就是努力不够;不是没有方向,就是斜风歪向。