程序员的魅力:你也需要这7大优点

在这里插入图片描述
除了魔法师,程序员可能是这个世界上最吸引我的职业了。

虽然我几乎完全不懂编程,但却很享受和程序员们聊天,讨论各种各样的话题。比起从事市场营销、互联网运营、文案写作、企业管理等工作的人,程序员们更多地散发出一种气质:基于实用主义的较真。

究竟是什么造成了这个bug?该如何设计出某个程序以实现某个功能?该如何优化这个能实现某功能的程序?

许多程序员喜欢刨根问底,不断追问“为什么?”。同时,他们或她们也会在某个时刻停下来,不再去问“为什么”,而去把时间花在更有用的地方。设计一套有用但还未最优化的的程序,比玄想一些难解的哲学问题要更有实用价值。毕竟,迭代优化比一步到位更可行。

那句“talk is cheap,show me the code”十分吸引我。语言被发明出来,除了用来求真,还可以用来欺骗和扯淡。如果某个领域存在更基本的判断标准,能代替花言巧语,为不同的表现给出相对完备的评价,那我会很喜欢这个领域。

心理学靠实验设计和统计分析说话,哲学靠严谨的论证和清晰的概念分出高下。这两个领域都算有相对客观的判断标准。那些仁者见仁智者见智的领域,比如对艺术品的鉴赏,很难让我提起兴趣。

其实,我每天都要思考的问题和程序员们差不多。1950年往后,认知心理学的影响已经盖过了行为主义范式。人脑就是电脑,心智就是软件,这两句话已经不是类比和隐喻,而是事实了。我每天都要花时间思考,人类心智中有什么bug(认知偏误)?为什么会有这些bug(演化心理学)?如何debug(基于心理学的教育方案)?如何设计新的心智软件,从而实现更多更强大的功能(批判性思维何以可能)?

不过,也许是我接触的程序员太少了,对这个群体还不够了解。程序员这个职业中,各种各样的从业者都有。有的人很认真,有的人则不太认真。

但综合看来,我喜欢的程序员,大多有下述特征:

1.擅长利用互联网搜索信息。

许多人很反感“伸手党”,就是那些留下自己的电子邮箱,让别人把所有的好资源全都发过去的人。这些人太懒了,不愿意动一动脑筋,自己去查找那些资料。程序员大多不是伸手党,他们更愿意自食其力。只需要别人提醒几个关键词,他们就知道该怎么找到相关资料。

扫描二维码关注公众号,回复: 5697355 查看本文章

2.坚持终身学习,与时俱进。

绝大多数人的学习与进步之旅,可能就停留在了毕业那天。一旦步入职场,人们就拒绝更新自己的知识,不想去了解非自己专业领域的信息。大家会给自己找很多借口,说自己已经不是学生了,不用学习了。自己已经是领导了,应该去指挥别人了,一旦去学习,就会显得很没面子。而我见过的那些领导力很强的人,几乎都有阅读的习惯。他们至少每个月会读完一本严肃的书籍,不断追求更多跨学科的知识。

3.基于逻辑而不是联想来思考问题。

人们似乎有一个误解,认为不受约束的想象力比跨学科的知识更重要。然而,不受约束的想象力,没有任何价值。我刷个牙的时间就能从牙釉质结构联想到人类演化史再联想到灵长类动物所处的生态位。这种联想如果不符合实际,那就没有什么用。科幻作品或奇幻作品中最吸引我们的,不是那些光怪陆离的设定,而是假定那些不可能之后,又能合乎逻辑地推理出哪些可能的结果。不受知识约束的想象力,就像小学生写的幻想作文一样。如果作者只是小学生,我们还会说他们很可爱。如果作者已经是成年人了,那我们只会说他们太幼稚。

4.以严谨的语言表述问题和问题的解决方案。

从分析哲学的角度看,之所以存在难解的哲学问题,原因仅仅是因为人们陷在了语言的圈套里,无法自拔。当我们用清晰的语言来表述问题时,解决方案就一目了然了。而这很不容易,它需要我们学会给概念下操作性的定义,明确句子的真值条件,掌握一阶逻辑的演算规则。朦胧的确是一种美,隐喻也能给我们带来新知识。但至少,我们得先知道浓雾下的景色,看到隐喻森林中的那块空地,这样才能谈论朦胧和隐喻。

5.始终发挥出怀疑精神,不放过可能的瑕疵。

软件工程属于工程学的范畴。工程学说白了就是造东西。造出来的东西有一定的容错性,但容错空间不会太大。一旦某个瑕疵超出了能被允许的范围,那就会出现故障。程序无法正常运行,客户便会上门投诉,要求把问题解决。程序员如果不肯发挥出怀疑精神,最终坑的还是自己。

6.直率地表达自己的想法,不惧权威或大众的观点。

一段代码,一个程序,它有效就是有效,无效就是无效。权威人士或资深专家编写的代码不会比普通人更有效。某种编写代码的方式不会因为使用这种方式的人变多而变得更加好。这里的因果关系应该反过来,正是因为某段代码有效,它才变得流行。而那些编出有效代码的人,才会被大家当作杰出人士来佩服。在编程领域,评价是相对客观的。编程者既不需要博取权威人物的青睐,也不需要媚俗。

7.当发现自己的努力方向不对时,能迅速舍弃沉没成本,调整方向。

就我有限的观察来看,乙方比甲方更容易舍弃沉没成本,程序员们当惯了乙方,似乎更愿意舍弃之前付出的努力,按照甲方的需求,迅速调整方向。不过,我也不确定程序员能否在工作之外的场合,也愿意舍弃沉没成本,毕竟人类都很难做到这点。

我并不清楚是什么原因让我喜欢的那些程序员有这7个特征。也许是严格的离散数学训练,也许是编程这门手艺要求程序员熟练掌握形式语言,也许和计算机科学这门时新的学科有关。

或者是本身就有这些特征的人,最终选择了做程序员。再或者是没有这些特征的程序员们被我忽略了,我只看到了程序员中的极小一部分。或许,其他职业中的佼佼者,也都具备这7个特征,只是我没有格外留意。

只是,我相信这7大特征不仅适用于编程或者科研领域。在任何需要智力投入的领域中,这7大特征都是不可多得的优点,值得大家拥有。

最后资料分享

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

欢迎工作一到五年的Java工程师朋友们加入Java高级互联网架构:714526711

群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,
MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)
合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

猜你喜欢

转载自blog.csdn.net/javaxueyuan_yezi/article/details/88847650