细节与功利主义:致那些同我一样想突破自己技术层级的朋友们

2019-12-25 09:08:17 +08:00
 xiaotianhu
介绍一下身份背景:年薪离百万很远,人不在美国,刚下公交。
  不好意思串场了,小公司( 10 人开发 team )技术主管,PHP 后端为主,JS/Vue Golang Swift 都写点。野鸡大学机械工程,上不起培训班,野路子自学成才。

  作为工程师,终日的 Trade off 使我变成了纯粹的实用主义者,也或者说因为实用主义的信仰导致我走上了工程师的道路。简单来说,就是崇尚『简单粗暴』,实现了再说。

  有一次有个来面试的哥们,在我问完了一大堆『原理』后跟我说,你说这些我是不太懂,但是你就说做啥,我都给你整的妥妥的,你相信哥。虽然我相信他确实能『整的妥妥的』,但是对原理的一无所知还是使我不耻的,请他走了。


  但是君的一席话却让我很感触。


  我当然知道原理很重要。懂得原理,用起来才会游刃有余,作为 PHP 后端,没看过源码的框架怎么就敢用在生产环境呢?出了问题心里没底。但是对于原理,我也就喜欢『看看别人的博客』,知道个大概,感觉就够用了。比如:
PHP 的垃圾回收,引用计数嘛,都懂的。加一减一,不用了清了,妥。

  其余的细枝末节,更进一步的研究,就感觉是在浪费时间。无非就是把这几句话展开成一篇论文,用赤橙黄绿的颜色来避免循环引用,也不能指导我写的更快写的更好了。而且总觉得有一种文人的酸腐之感,整日研究『茴字的四种写法』。有这个功夫研究一下 golang 它不香吗?

  所以技术一直就停留在『高不成低不就』的状态。曾经我也觉得,小公司,没场景,几十万的用户,我也没招啊。

  最近这半年,跟朋友一起在公司内部做创业项目。负责技术之于,探讨产品的方向,运营的思路,UI 的感觉,参与也很多。体会到了,什么叫『打磨细节』,一个点赞按钮,从写完开始改了四五版,交互的反馈,振动的手感,网络的优化,最后终于趋于完美了。

  突然之间,我对于『细节』这件事儿就有了新的认识。原来自己也做过前端小项目,体验确实差。原来一切细节都是有意义的,人是非常敏感的动物,一切最细微的感受汇集起来,就会让你觉得,『恩,是不太一样』。

  思想和观念是非常有力量的,文字也是。我与大神之间的智商差距是有,但是我不信大到不可弥补;况且,我只要跑赢大部分屌丝,我就已经很知足了。转变观念之后,再去看一些技术的东西,比如很简单的一个事儿,『打开文件』

  各个语言都有这个功能。PHP 它很符合『简单粗暴』的思想,一个 fopen 两个参数,是读还是写,搞定了。但是当我回头再去看『 UNIX 环境高级编程』这本书讲打开文件的章节,发现有很多玄机。之前直接扫了几眼就跳过了的章节(不就打开文件么 搞那么多幺蛾子),再读起来津津有味啊,一个写入缓存到底是 1024 还是 4096 的说道和影响也有这么大。还有一大堆参数,他们存在的历史和意义,都有趣了起来。

  除此之外的另一个心态转变,也是最近思考了很久的一个想法:

  『功利主义害死人』。

  实用主义很容易就会变成功利主义。产品经理挂在嘴边的『先上线再说』,说多了就变成了真理,大家都信了。于是写代码的初心也慢慢变了,最开始无非都是喜欢,一个东西调不通半宿半宿不睡觉也要弄明白,也因此收获了巨大成就感。现在的心态,在 KPI 与真理的驱动下,速度变成了第一位的,那么从 Trade off 的角度而言,当然最简单的成本最低。这个库太复杂?换一个;懒得看英文文档?找个中文说的 6 的;大部分的问题,都有现成的轮子可以绕过,小公司能遇到的问题,不就那么多,前人早就走过了。

  当你急着去做完一件事儿的时候,其实你已经不喜欢做了,只是想尽快结束掉这件事儿而已。

  在这个心态的驱使下的另一个结果就是期望通过一门技术来发财,走上人生巅峰。

  听说大数据火了,年入百万!买一本 Hadoop 学起来!
  挖 语言排行榜 PHP 不行了啊,Go 大法好,学起来!
  新出的 Flutter 好像很屌啊,听说薪资高,得看看!

  至于打开文件到底有几个参数,有甚么关系?面试又不问,也不能加薪,都是 CURD Boy 就别装逼了,发财要紧,好好学习 AI 早日去修福报才是屌丝该有的心态不是。

  到了这一步,就很难享受解决问题带来的成就感了。焦虑的心态也就日益起来,再也看不下去大部头的枯燥的神书了,让李哥王哥的 xx 速成视频来抚慰一下痛苦的心灵是唯一方法了。

  然而在这一波又一波热炒的大潮里,能真正收割红利的,很可能是早就已经布局了的。年薪百万的 AI 大数据大牛,有多少人在大浪还没来的时候就已经开始研究了,只是潮起潮落,来的巧了。做一个赶潮人,又有几个能真的变成弄潮儿呢,至少与我无关了。

  想明白这些,虽然离大神之路还很遥远,但是仿佛看到一曦微光,不再那么迷茫。享受过程,自然也就不再焦虑。一点感悟,共勉之
12178 次点击
所在节点    程序员
102 条回复
mumudm
2019-12-25 10:19:11 +08:00
多看源码可以锻炼自己编程思维的能力,更好的理解也无需求,才能更好的实现业务代码,当然学习过程是比较痛苦的就另说了
PixelMage
2019-12-25 10:23:28 +08:00
老哥写得不错
ylsc633
2019-12-25 10:23:45 +08:00
如果在一家正在上升期的公司.. 是没有时间让你仔细去打磨一个小细节的..

用户或者说 资本最重要! 比如 以前那个 直播答题的! 一个月内,几乎每家大中型公司都出了.. 谁先出,谁就能占一部分市场和用户!

深究 技术原理是 锦上添花, 如果对于一个小公司或者刚起步的公司,快速出品我感觉是最重要的!

可以优化,但没必要过度优化..

可能角度不一样,我可能是站在公司角度来看的.. 毕竟 公司得活,攻城师得能拿到工资..
ZredoC
2019-12-25 10:24:36 +08:00
好文!!!
mrdong916
2019-12-25 10:26:16 +08:00
快速实现功能后,项目死了,在那个要求自己代码质量、搞懂原理的道路上偏离的越来越远
coderluan
2019-12-25 10:26:36 +08:00
虽然我相信他确实能『整的妥妥的』。

不,你不信,换我也不信。
zerosrat
2019-12-25 10:27:16 +08:00
功利主义可能被滥用了。功利主义又名效益主义,是道德哲学的一个理论,主张追求最多数人的最大利益。
taogen
2019-12-25 10:29:42 +08:00
沉下心来修炼内功认真做事的人太少,投机取巧花里胡哨的人太多。最后在浮躁中迷失自我。
taogen
2019-12-25 10:30:40 +08:00
老哥写得不错,有思考。btw,可以关注一下你的博客吗?
surewen
2019-12-25 10:33:54 +08:00
avoid success at all cost.
atwoodSoInterest
2019-12-25 10:34:17 +08:00
其实了解细节不是必要的,是因为人的比较。
如果人人都看了源码,那懂源码就变得不值一提了,就还需要懂编译器了;那么大家都懂编译器之后呢,就还需要知道硬件特性了。这种比较在理论上是无穷尽的,在社会中需要做的就是努力变成人群中的 1%就好了,当你到了 1%之后,社会就会包容你的错误。
这一切都是比较,跟学到多深没有关系,努力比别人更优秀才是问题的本质。
liuzhedash
2019-12-25 10:39:53 +08:00
楼主说的很有意思,这也是我最近几年经常的感觉。
一个软件项目的细节很多,作为负责人想全部搞清楚不太现实,何况时间总是有限;
我觉得技术探索的乐趣,只有在没有交付压力的前提下才可能获得,否则多半是劫后余生的庆幸。
coconut5200
2019-12-25 10:39:56 +08:00
我自认为也是一个实用主义,甚至对细节决定成败这件事情持一个怀疑的态度
细节决定成败在我读书的时候老师就一直在强调,但是我的理解这是针对于 90 分冲 100 分的同学,而对于 40 分冲 60 分或者 60 分冲 80 分的同学来说,可能并不会给你带来质的变化
xiaotianhu
2019-12-25 11:03:43 +08:00
@coconut5200

就是我原来是这样想的.

现在的想法:
细节是有意义有价值的.
能不能带来"质的变化",不就是能不能赚钱么.不重要了
有意思有乐趣就行.毕竟公司不是我开的,除了对钱负责,还要考虑我自己的可持续发展.如果失去乐趣,那就是在痛苦里煎熬.
fank99
2019-12-25 11:07:19 +08:00
老哥写的很好
Wilon
2019-12-25 11:14:07 +08:00
社会不等人,竞争对手不等人,对于大多数根本接触不到技术壁垒的公司,速度和时间才是最致命的因素
zappos
2019-12-25 11:14:38 +08:00
久经考验和 peer review 的框架才能用于生产环境,不是什么“看过源码”。
lewinlan
2019-12-25 11:25:03 +08:00
与楼主有类似的感触,支持。
转行而来,靠的是兴趣,所以我也最怕自己的兴趣被无穷无尽的低级需求给磨损了。
但其实这个问题也可以很简单,只要比多数人(同龄人)学得更多就可以了。保持自己的节奏,持续发力,总有一天会成为所谓的大神
jydeng
2019-12-25 11:26:28 +08:00
好文
raysonlu
2019-12-25 11:31:29 +08:00
好文,同是楼主题目中说的那些人,你说的我都很有触感,但感觉思考方向上好像开始出现了偏。
引用我大学听的一个讲座:你极度口渴的时候面前有一杯清澈的水,你是先直接拿来喝,还是先去研究水里面有什么分子、离子然后再喝?先生存是大自然硬道理,把技能学习了找到工作了,把项目上线了凑到资金了,然后再去了解其所以然,以提升自身水平或项目稳健性。当然如果一上来就是老师傅内功深厚,或者像楼主那样厉害的创业团队,就更好,但这不普遍,而且需要的成本也大。
生存下来后,自己找时间去找“生活”。如果花一天的上班时间来研究 fopen 的原理,老板不打不死你?懂得运用能让你生存,懂得原理能让你活得更久更有意义罢了。我们已生存,向往生活,但也要正视一下在努力求生存或停留在生存层面的吧。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/632044

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX