思维的力度

当一个人看到这么一段话时,他会怎么想:

尺度的进程并不仅是无穷进展的坏的无限无止境地采取由质过渡到量,由量过渡到质的形式,而是同时又在其对方里与自身结合的真的无限。质与量在尺度里最初是作为某物与别物而处于互相对立的地位。但质潜在地就是量,反之,量潜在地也即是质。所以当两者在尺度的发展过程里互相过渡到对方时,这两个规定的每一个都只是回复到它已经潜在地是那样的东西。于是我们现在便得到其规定被否定了的、一般地被扬弃了的存在,这就是本质。在尺度中潜在地已经包含本质;尺度的发展过程只在于将它所包含的潜在的东西实现出来。

 

我想可能的反应大概有两类:一类是这人胡说八道,故弄玄虚;一类是是说这个说的抽象,表达力不太行,我看不太懂。但一旦知道说这段话的人是黑格尔,就不太会有人感觉是故弄玄虚,而会觉得是自己思考不够。

黑格尔这些人并不像爱因斯坦,有一个明白的相对论在那里,但他们也确实在思考一些东西,对同样的事情他们看的更深,这背后彰显的其实是思维的力度。

 

为什么在这里说这样一个感觉上和一般人没有半毛钱关系的问题?

因为程序员干的事情最关键的一点其实是抽象,而抽象够不够则依赖于思维的力度。现在太多人沉迷在技法中了,我觉得这是不对的。我们可以知道Hadoop怎么用,并把它用的很好;也可以知道OpenStack怎么用并把它用的很好,也可以用智能手机,并用的很爽等等。但只要在思维上还欠缺一种力度,恐怕就很难创造或者说开创出这些东西,也不太整合的出非常精湛的产品。

 

感觉上现状是有点诡异的,一边是出不来竞争力高的产品,一边是人找不到合适的工作。

 

这也许可以这样理解,对大多数人而言,吃饭最重要,所以和吃饭相关的技能最关键,所以如何搞定面试这样的书籍就会比较火一点。但也正是这样的思路会造成恶果,低端的编程技能很容易过时,当缺乏对本质的认知,缺乏高度时,在特定领域里就做不到专业,做不到专业手里的活就很容易变成体力活,一旦变成体力活就很容易是吃青春饭的。感觉上故事无比简单,就是很难破局。

 

那出路在那里?

个人感觉是要稍有点大局观,选个特定领域,思考它,挖深,成为个真的专家。这个专家可以落在很多地方,技术,管理,软工,等等。当然如果想创业,那是另外的故事。

 

为什么要稍有点大局观?因为没大局观,自己选的领域可能被“通货膨胀”掉。你现在花3年把MFC弄的很精通,未必会产生多大人生价值。没有大局观也会,让自己在别人眼里贬值,变成“狂人”,“怪鸟”。这个上可以看下王垠,最近看到的博文是:半年来的工作感受。我对能独立思考的人始终是尊重的,但看完这篇多少有点为这位兄弟担心,我老感觉这是发狂的“前奏”。你不能上来看看就说这公司真傻X,竟然用这么蠢的方法来做事。不能说王垠看到的东西不对,只能说他看到的不全,像盲人摸象摸到了个耳朵,接下来用自己的认知对耳朵进行审判,这是没把思考再推进一点。比如说:Coverity 使用测试驱动这事,在王垠看来比较傻,但更本质的问题是,如果不这么做,在多人协作的项目里无法让质量稳定,多人协作时要尽可能有可见的手段(包括流程和工具)才能让质量不颠簸,依赖于天分质量水平会颠簸的很厉害,而对公司而言,颠簸不起,所以他只能用这种看似让天才有束缚的方式。王垠这兄弟如果照这个思路走下去,很可能会在公司里举步维艰,在公司里代码是商业的延续,也许他比较适合开源社区。

为了避免上述这类问题,实际上需要对身边的事业做点鸟瞰性工作,一旦鸟瞰了,很多事看着是偶然的其实是必然的。

 

我始终感觉程序员未来的道路始终有三个根本选择:一个是纯码农,如果是这个最好就落在附加值高的领域,而不要只奋斗在信息管理系统这样的领域里;一个是码农+管理,感觉架构师类的就在这里。最后一个是纯管理,产品经理,部门经理什么的都在这个方向上。我倒不觉得三类间有太大差别,做好都不太容易,关键都是思维要有力度,要思考工作自身,达到高度。下面拿管理来具体说说吧。

管理这活很容易退化成纯做吆喝,并行使权力的人,常见场景是:上司有个命令,答复立刻办,接下来向下施压。也容易变成老好人,下边说什么,往上一传达,接下来上司爱听不听,反正你也不懂技术。

但其实这是失职,管理者要综合去考虑目标与现场,人的因素与工程因素,是开发中最关键的决策者。对上,管理者是现场;对下,管理者是方向。这要求对软件做整体性思考:软件是可度量的么?估算当前可以到什么精度?文档要写到什么程度?需求描述到现在这个程度够了么?要瀑布模型么?这类很含糊的问题,管理者要能根据现场状况,给出一个清晰的答案。这些事做很容易,随便扯扯,大多时候是可以蒙混过去的;但做好很不容易,做好需要对软件开发有自己的视角和认识,还要这种认识同实际相契合。但做不做得好,其实是可判断的。

比如说吧,公司突然说需要量化管理了,不思考的管理者会立刻去做了,而思考有力度的管理者则可能会经历这样的过程:

软件是一种固化的思维 →思维的本质是概念和逻辑 → 概念和逻辑无法直接度量和精确度量 → 度量过程中需要很多的主观判断 → 以目标为导向的,以个人为中心的量化管理(相关的激励和惩罚)将崩溃 → 参照无歧义数据(函数复杂度等)的判断将成为程序员评价中的辅助手段

认识到这个之后,再去考虑就会发现Bug率这类东西去度量人是确实不行的,歧义性太大,这思路走下去甚至会发现CMMI4~5级的想法是有点问题的,这样就可以发表自己的观点,那怕最终他是错的,那怕被上司否定了。这样一点点过来,自身的能力就会成长起来。而缺乏这种思维的力度,人就会比较像机器人,别人说什么做什么,或者武断的坚持明显错误的东西。

 

不管在那个方向上,感觉上要想做到专家程度,要有独立视角,思维要有一种力度,这就像给心灵装了一双额外的眼睛,这样就能看到属于自己的东西,再在实践中一淬炼,高度可能就出来了。也就能做出自己的框架,提出自己的思想等等。

--------------------------------------------------------------

 

理想流 + 软件 = 《完美软件开发:方法与逻辑》
理想流 + 人生 = ??
理想流 + 管理 = ??
理想流 = 以概念和逻辑推演本质,追求真理。

posted on 2013-07-01 07:43  理想流  阅读(1800)  评论(11编辑  收藏  举报