既能软又能硬,程序员这样才能更持久

259 阅读5分钟

文 / 王不留(微信公众号:程序员生存指南)

前同事,跳到一家软件公司,从事技术多年,开发能力不错,但职位没有提升,郁郁寡欢。

找我吃酒,欣然应许。

酒过三巡。话匣子打开。“自己任劳任怨,经常加班,老婆孩子都不要了,领导就是看不见!论技术,我在团队里面开发效率最快的,但领导对我的工作成绩一直不感冒。”

我问,“这些年一直在搞开发?”

“是啊,主流的框架我都玩了一遍。”

“你们公司的产品演进思路有没有考虑过?”

“没有。考虑那么多干什么了。我认为技术是第一生产力。我只负责将功能尽快实现。产品演进,太虚,都是他们领导应考虑的事情。”

我不再接话。默默吃菜。

他若有所思地冒出一句:“是不是领导看我不爽?”

停顿一会,我和他碰个杯,猜测“应该不会的。你主要是硬技能太强,软技能太弱了。”

相对硬技能,其实软技能在咱们程序员职业发展中作用会更大。

硬技能的学习材料汗牛充犊,各种语言、框架、工具,只要想学,随便一搜就是一堆的材料。只要有足够的时间和耐心,学好一个硬技能不成问题。

而软技能就不一样的了,更多的是要靠你在工作和生活中自己去领悟。

另外,现在的软件开发,已经不是一个孤单英雄的时代,要靠人与人之间的协作。一个人的硬技能只能做好一个人的工作,但如何让一个团队产生合力,达到1+1>2的效果,那就需要人与人之间相处的软技能了。

咱们程序员有个通病,就是 技术唯一论。其言谈一瞥:

1、测试的兄弟,我和你说,我代码没问题,不要对我写的代码指指点点。

2、需求的兄弟,我跟你讲,功能不符合你们的需要,是因为你们需求没提清楚。下次想清楚再找我。

3、现场的兄弟,我告诉你,系统出故障是因为你们考虑不周全,与我开发的代码有什么关系?!

……

其实,在职业发展中顺风顺水的人,不一定是技术最强的。

程序员的硬技能和软技能,很难有一个明确的定义。打个简单的比方吧。

硬技能就是与电脑打交道,捣鼓代码、学习框架等都属于硬技能。

软技能就是与人打交道,这个话题就广了,比如,沟通能力、表达能力、组织能力……

一说到软技能,可能会与“情商”联系到一起。情商高的人软技能就一定会高吗?这可不一定。有一些和人打交道的技能,比如写作能力、演讲能力,依然需要训练获得。

所以,情商高只是基础,软技能仍要训练。

程序员要提高自己的“软技能”,可以用下面方法尝试。

1、学习到的技术知识点,尝试用通俗话语或类比的方式,让不懂计算机的人也能听明白。

2、能够把一件事情条理清晰地说明白。

前天刚给老板的微信发了一条信息,针对一位核心员工的调薪申请。短短的几百个字,我写了1个小时,就是要把领导的顾虑考虑周全,解释明白。

3、**控制自己的情绪。耐心听别人的意见。**观点不一样,也不要吹胡子瞪眼。多听取他人意见。即使自己非常不同意其观点。那也不要情绪化的表达。

前年春节,我拜访另一位前同事,也是忘年交,销售出身,现已跳槽到一家软件公司出任总经理,属于出圈成功人士。

闲谈中,我就问了他一个很具体的问题:作为技术人员,有没有方法,做一件事就能够提高自己的软技能?

他问:“你觉得你日常所能接触到的人里,谁的软技能最高?”

我想了想,答曰:“我们部门经理。”

他又问:“为什么这样认为?”

我说:“他情商高,知识丰富,说话风趣,抗压能力强,复杂痛苦的事情他不表现在脸上。虽然他是领导,但和他交流没压力,相处很愉快。”

然后,他给出建议:注意观察他的言行,多和他接触,学习他的做事方式,向他看齐。

后来我就按照这种的方式做了,发现这一招非常好使,当有了一个明确的榜样去学习之后,看似虚无缥缈的软技能也变得具体易学。

所以提高“软技能”不复杂,方法很简单:

找到你接触范围内的“软技能”的榜样,然后努力让自己变成他那个样子。

这个榜样,可能是一个逻辑缜密的架构师,或许是一个能言善辩的市场经理,也能是一个情商超高的客户经理。

我们最重要的是要认可他就是你几年后想要成为的样子。有了这个榜样,你就可以和他多交流接触,看他平时都看些什么书,有哪些好习惯,看他如何为人处世,怎么与别人交流,看他平时怎么处理问题。

即使你只学会榜样的十之一二的本事,你很快会发现自己成为大不一样的人。

这时候,你的眼界更高,就可以设立一个新的榜样,迈向一个新的台阶。

这样,你就可以能软能硬,在职场叱咤风云,无人能及。

来,啤酒倒满,走一个。

吃完饭,他要去买单。我按住他,刚才离桌一会,我已经付过了。