关于程序员工作的一些想法

时间:2021-10-01 23:57:54

工作有几年了。对于软件开发工作,吸引人的标题都是鸡汤,激励人的日志多是废话。

那么,什么不是废话,一个程序员最终想听到,并需要听到的是什么呢?

哪种语言最好,什么职位挣多少钱,伤到自尊或洋洋得意,看完了,也就完了,过一阵,和没看过没什么区别。

在我看来,写程序是一项科学研究工作,程序员工作需要一些实实在在的方法论。并不是努力、练习之类的空话套话而已。


首先说,科学是什么?是一种辨识对错的方法论。有基础也有边界。

一、参与讨论的人要有共同的认知基础。

一个产品,你说要性能优先,他说要用户体验优先,还有人说要安装方便,这个问题就是不可讨论的,因为参与者并没有共同的基础,最后肯定是大家引经据典,嗓门很大,各种比喻最后不了了之。你说牛顿是对的,我说牛顿是错的,那么我们就不能合作去解决一个由牛顿定律需要解决的问题。

二、发言人的发言一定要可以被证伪

努力一定会成功。我很努力,为什么还没有成功呢?他会说,因为你还不够努力。努力一次无法被量化,这句话不能被称作是命题,因此没有办法被证伪,也因此这句话是没有意义废话。这也就是为什么成功学并不能让人成功的原因。

在程序员解决问题的过程中,很多问题就是需要猜想的,提出的猜想一定要可以被证伪,这样你才有下一步的计划,项目才能有进度,如果只是停留在大家都公认的问题上,不去细化问题,问题根本得不到解决。

三、事实证明不了事实,事实可以证明抽象,抽象可以指导行动,这才是我们最终要的东西

公鸡打鸣,太阳升起。公鸡打鸣并不能作为太阳升起的证据,因为公鸡哪天睡过了太阳还是会升起。这是两个事实。一个事实并不能证明另一个事实。“公鸡打鸣,惊醒了太阳神,因此太阳升起了”,这个是抽象的理论了,我们暂时称它为公鸡打鸣定理,这条定理是可以被证伪的,因此是一个有用的理论。我们可以此定理来通知自己及时起床下地干活,这条理论是有用的。从某一天开始所有公鸡被杀掉吃肉,公鸡不打鸣了,但是太阳也准时升起,毫无例外。这就说明公鸡打鸣定理不完善,需要进化。当一个科学定理,被不断地证伪树立过程中,这个科学定理就实现了进化,这条科学定理也就越能贴近事实,对人行动的指导意义也就越大。因此,可以证伪是科学的根本。从事实中,抽象出定理,是科学进化的根本。因此科学才比其他文化更具活力。


所以在生活过程中,我们要检讨,自己说的话是不是废话。

“之前人就是这么做的,我这样做肯定没问题”,"人家搞了好久都没搞出来的问题,被你一下就想出来了?",“这个项目这么大,一时半会肯定搞不出来”,“大家都这么用,肯定没问题”

其实改善生活就是从少说废话开始。小程序员的最大问题就是爱炫耀自己。一丁点的小成就都要夸大其词地说。其实大家都是从事科学工作的,什么工作,什么难度,你做了多少贡献,和你朝夕相处的同事的心理都是一清二楚地。没必要可以强调。不如多提出一些合理的假设,经常确定一下项目组人员的共识,多挑挑别人的BUG来得实在。


回头看看整篇博客,程序员写文章真是硬伤,我刚才到底写的什么,完全前言不搭后语。