我从小思维就比较奇怪。
我妈:你去剥几瓣大蒜。
我:几瓣?
我妈:5、6 瓣就可以了。
我:5 瓣还是 6 瓣。
我妈:都可以。
我:哦,那我就剥 5 瓣了啊。这大蒜怎么有的大有的小啊,剥大的还是小的。
我妈:都可以,你怎么这么呆板啊。
对普通人来说,这叫呆板,对程序员来说,这叫严谨,下面讲一个圈子里的反例故事。
产品:这个按钮给加道光吧。
程序员:好。
10 分钟后
产品:我勒个去,这是啥。
程序员:道光啊,你不是让加道光吧,我在网上找的。
产品:让你加一道光,不是加个道光皇帝的头像上去。
程序员:……
如果不问清楚,上手就做,做出来的东西肯定不是想要的东西,做完之后又要返工。
我妈:去穿鞋子,一会儿我们就出门了。
我:哦,但是一会儿是多久啊。
我妈(犹豫一下):一会儿就是 5 分钟。
我:那马上等于 1 分钟?
我妈:嗯。
我:一小会儿等于 3 分钟?
我妈:行行行,快去吧。
对普通人来说,这叫啰嗦,对程序员来说这叫规范。
程序员一般来说都需要团队作战,彼此之间需要配合,如果没有能相互统一的规范,每个人都在各自的语境下说话,就谁也不理解谁,会陷入混乱。
小时候一个人在家做作业,比较害怕,每次都把卧室和客厅灯都开着感觉好些,父母回家的时候会说我浪费电。
有一次我做足了功课后说:我多开的这个电灯是 30 瓦的,1000 瓦除以 30 等于 33,也就是说这个灯开 33 个小时才耗一度电,一度电的价格不到 3 毛钱,所以我多开一个小时的灯连 1 分钱都花不到,你们每次说这个事情浪费的时间和精力都不止 1 分钱吧,而且这个灯开着我感觉比较舒服。
这就是程序员的数学思维,很多事情大家都只是凭感觉,程序员对事情进行思考,不光要定性,还要定量,用数据说话。
小学的时候有一次语文老师因为一个事情发飙,让全班同学把当天学的生字抄完一整个作业本。放学回家以后算了一下,怎么算也抄不完啊。
尝试了一下,把两只圆珠笔叠一起抄,一次写两行字,字迹写得有点烂,好像没什么别的大问题,还好一直以来我的字都写得烂,也看不太出来,就这么办,不过得抄到晚上 12 点后去了,不行啊。
因为父母工作的关系家里有复写纸,拿复写纸垫着写试试,好像还行,不过仔细看能看出来,管不了这么多了。
写了几行后,要不然再加一层复写纸试试,写了几个字,翻开看看,最下面一页感觉有点浅,好吧,写的时候加点力气写,虽然会稍微降低我写字的速度,但是总体来说速度还是加快的。
再加一张复写纸试试,不行,最底下一张太淡了肯定过不了关,那就确定两支笔加两张复写纸写吧。
这个事给我的启示:
1、要完成一个事情,先想好方案再干,花时间想一个好的方案或者架构节省的时间,可能会让你完成这个项目的总体时间缩短,而且后续项目维护也要容易很多。要学会花时间造轮子,而不是随时都在想着往前跑。
2、方案想好以后,可以做一些小的尝试确定方案的可行性,方案中技术实现上不太确定的地方写一些小的例子试一试。
3、工作中总免不了会有领导让你去做一些让你认为在指定时间内无法完成的工作,别直接告诉领导这个不可能实现,多想一想。
你认为的无法完成实际上是按常规方法按指定的标准无法完成,实际上运用一些奇技淫巧并使用一些折中方案,往往可以打折后完成其中的核心功能。不过这个一定要和领导说清楚,一般情况下领导也不会强求。
说说这个事的后续,第二天我信心满满的带着一整本抄完的生字去上学的时候,老师根本不提这个事,因为她当时也是气头上,后来气消了也知道抄不完就算了。
我问同桌,你抄完了吗?同桌说没有啊,我就抄了一页。我说我抄完了啊,给你看,同桌大吼一声:大家快来看,这个二货抄完了一整本。
我:……
统一回答一下,这都是小时候的事,现在当然不会这样了。
什么是天赋,就是自然形成的思考方式,这当然可以通过在生活和工作中后天学习去改变,去区别于不同的情镜和不同的人使用不同的思考方式。
对有的人来说,处理人际关系就像呼吸一样自然,对我来说确实花费了很大的努力去观察去学习才表现得像一个正常人,相反,程序逻辑对我来说像呼吸一样自然。
每个人都有自己的思维特点,同一个特点在某些情况下是优点,在某些情况下是缺点,明白自己的特点才能找到最适合自己的事。
从来就没有完美的人完美的事,因为没有完美的评价标准,每个人都会从不同的角度去评价。
来源:知乎日报