刻板的程序员
一提起程序员,很多人的第一印象是:格子衬衫,黑框眼镜,长期熬夜的黑眼圈,空洞无神的眼睛,面容呆滞,神情木讷。总结起来就是:人傻钱多死得早。
程序员是一个比较奇特的群体,别的群体,看到有人攻击他们,大多会选择为群体辩护。而程序员却是在其基础上再黑自己一把。网上盛传的各种程序员段子大多是程序员群体写的。
大多数优秀的程序员,其性格特质是这样的:不喜交际,耿直,宅,认真专注。这种性格的形成与日常工作是相关的,编程是很耗脑力的工作,需要长时间的专注才能解决问题。解决问题带来的愉悦感会让程序员觉得自己在程序的世界中如同上帝一般,相比应付复杂的人际关系,与计算机打交通更加容易。
程序出问题,一步步调试总能找到问题,这种问题是确定性的,是可重现的。而现实世界要比程序复杂得多,充满着各种不确定的变量。
这种性格如果仅是用于编程,自然是很好的选择。可人生并不只有编程,生活并不只有代码。程序员,不仅要掌握编程这种硬技能,更需要掌握软技能。
所谓软技能:是指非技术能力,如沟通能力,学习能力,自我激励能力,影响力等。一言以蔽之:软技能,是让你的生活变得有趣的能力
关于软技能的重要性,大多数程序员都认识不足。有些人存在这样的认识误区:我又不想当管理层,就一直往技术方向深入可以了。因此只需要把技术学好就可以了。
但,学好技术就真的能实现人生的完美吗?除非你属于那种一辈子只跟电脑打交道的极客。普通人的生活是复杂的,需要在不同的场景切换不同的角色,而不是只有程序员这样的一个角色,我们的交互对象也不会像计算机那样实时地给予我们确定性的反馈。
如果人际交往像编程一样简单,那该有多简单,对方将一切细节都暴露给你。你只需要像调试程序一样一步步修正即可。这样的世界,很简单,但也无趣透顶,不存在惊喜的生活,是难以忍受的。
那么,在编程之外,程序员应该学会哪些方面的软技能,才能让人生变得丰富而有趣?
软技能分类
约翰·Z.森梅兹的《软技能:代码之外的生存指南》(以下简称为《软技能》)给出了很好的答案,我觉得每个程序员,甚至于每个人都有必要阅读此书,此书从以下几个方面展开阐述程序员应该的软技能:
事业规划
如何规划自己的事业,是纵向往技术方面深造,还是往管理方面横向扩展?或者是成为独立开发者? 还是要成立公司转型为企业家?
这些问题,越早想明白越好,才不会在每天的庸碌中耗费时间精力。如果上班仅仅是拿时间换薪水,上班的意义就相当局限了。
自我营销
很多程序员对于营销这个词感到反感,一下子就联想到那些骚扰电话,垃圾邮件,大街上拉着你销售各种保险、保健品的销售人员。
但在互联网时代,每个人都应该有自我营销的意识,应该通过写作、演讲、教学、做产品等各种方式建立个人品牌,形成个人影响力,让自己所学的知识能成倍放大效应。
学习能力
自学能力是技术人员最为重要的能力。尤其是在知识快速迭代的时代,每个人都患有知识焦虑症,惟恐被世界淘汰。因此,学会如何筛选知识,如何高效学习知识,是极为重要的能力
生产力
想要提高生产力,就需要将完美主义、懒惰病,拖延症等坏习惯逐步戒掉。
要学会合理地利用自己的时间,将注意力投入到有价值的事情上。
理财
如果不懂得如何管理资产,那么可能直到四五十岁,还需要通过写代码来换取当月的房贷车贷,生活开支。
在中国,很多人的理财基础观念薄弱,却同时有些很强烈的一夜暴富心态。
而国内的投资环境尚不健全,这些幻想一夜暴富的人,往往就成了股市,楼市,币市,各种披着理财产品外衣的庞氏骗局的韭菜。
如果没有基础的理财观念,可能就会成为”省吃俭用养骗子“中的一员,想想”e租宝“,”钱宝网“的投资者,有多少人是全资产投入其中,一夜之间回到解放前。
健康
程序员不应该与病恹恹绑定在一起。如果真的意识到身体健康的重要性,就需要从现在开始注意饮食,坚持锻炼,塑造体形
精神
除了物质上的充裕,精神上也需要升华。生活节奏超快的今天,人更加需要精神上的慰藉,否则很容易产生虚无感。精神上的修炼,能激发内在的积极性与创造力。
小结
以上是《软技能》的章节前言概要,各章节的具体内容,后续结合实际逐篇解读。
再次推荐每个程序员都去阅读这本书,我认为软技能的重要性远大于硬技能。硬技能是职业属性,可以让你成为一个技术优秀的职业员,一个代码输出工具。而软技能使一个人拥有健全的人格,积极的心态,开朗的性格,高效的生活,有趣的人生。
如果硬技能不行,你可能会失业,你可以选择转行。你只是在这个职业上输了。
可如果你缺乏软技能,不管你从事的是什么行业,什么岗位,收入有多少,输掉的会是你的整个人生。
想想那些因为过度加班而猝死的,因为情感被骗,经济危机而自杀的程序员,我们在同情他们境遇的同时。不妨设想下,如果他们具备相应的软技能,是否就不会因此而输掉了整个人生。