什么是软技能?

所谓软技能,就是相对于「硬技能」而言的技能,对于程序员来说,「硬技能」就是计算机专业技术能力,软技能则是专业之外的所有技能,包括职业规划能力、处理人际关系能力、专业态度、做事的方式和方法等。

工作中需要哪些软技能?

比如时间管理、沟通、学习方法、工作方法、价值观、大局观、人际交往、逻辑思考、领导力等等,这些加起来可能几天都说不完。这里面很多软技能是因人而异的,比如学习方法、领导力等,所以今天的分享主要举例一些笔者认为非常重要、每一个人都要知道且运用到工作中的八种软技能。

程序员最重要的八种软技能

一、人际交往能力

有一本书叫做《软技能—代码之外的生存指南》不知道大家都看过没?这本书最先提到的软技能就是人际交往,这是程序员们软技能上最缺失的。

  • 不要只是埋头写代码
    程序员遇到的所有的需求都来自于人、使用软件的是人、上下沟通的是人,而埋头写下能够让计算机执行的代码只是我们工作目的中的一个环节而已。写一手好的代码是我们的基本技能,但是过于埋头写好代码却忽略了人与人之间的连接,这往往会带来更大的问题,比如信任感、亲切感的丢失对工作协同的影响。与人打交道是我们的基本职场技能,这跟我们上学时的语数外是一样的,一旦偏科严重,想考一个好成绩就很难了。当然了,除非你是「北大韦神」这种神级人物,自带光芒。

  • 主动与人打交道
    《能力陷阱》一书中,有一段话记忆深刻:「许多人认为,人际网络本质是虚伪的,认为是在“利用别人”,认为带有目的性的人际交往让自己变得“虚伪”、“不干净”、“像舔狗”,从而拒绝在舒适区域以外建立人际关系。」,大家觉得这段话对吗?其实是不对的,当你抱着双赢的思维去沟通,就不会有这种负担了。

    《能力陷阱》中还有一个非常核心的观点:大意就是「当一个人擅长解决某一场景的问题的时候,时间越久也许越离不开这个场景,也许这一生就定格在这个场景里面出不来了,可能一辈子都是个程序员。」特别是对于管理者来说,管理者要做一个连接器,自己部门跟外部部门之间的连接器,走出去是走出「能力陷阱」的第一步。

    LinkedIn 的创始人德·霍夫曼发现,当你在职业上要寻求帮助时,最远不会超过三度,即我们通常只需要通过两个人就能与其他人取得联系。但是我们并未能很好地利用这些关系,因为我们大多数人都没有意识到我们的人际关系网络力量到底有多强大。

  • 别独自用餐
    有一本非常畅销的书叫做《别独自用餐》,核心观点也是论证社交的重要性,如何建立自己的人脉圈子,如果你不知道如何建立自己的人脉圈子,不防重工作日的午餐开始,试着主动约人吃饭。一段时间以后,你会发现自己的圈子以及获取的信息跟以往有很大的不同。

    记得之前听到过一个公司的段子:“公司的大佬,如果人不在工位或会议中,那一定在园区的咖啡厅”。层级越高,资源、信息的共享就变得尤其重要。把用餐时间利用起来,是一个很好的点子。

  • 换位思考
    学会倾听、关注他人感受,具备同理心。在跟人打交道或沟通之前,换位思考一下,如果你是对方想听到什么或看到什么,时常锻炼换位思考的思维,时间长了会发现非常有用。如果不知道对方是如何思考的,那就不要说话,倾听即可。

    举个例子:我们常常会为了视觉还原问题而烦恼,设计同学找到我们解决像素级别问题的时候,我们往往是不是会烦躁,功能都开发不完,哪有精力去还原视觉,常常就会不耐烦的沟通,这个时候换位思考一下,他的设计作品最后做出来不是他想要的,他自己会不会有落差,这是他的工作职责,我们只需要站在他的角度思考,给他一个合适的解决时间即可。

二、结构化思维能力

结构化思维是一种从无序到有序、从混乱到清晰的思维能力,可以帮助我们快速加工处理繁杂的信息,提炼要点,从而更加清晰的表达。这个话题很大,我们只说关键的两个点:

概念不能多

有研究证明:人类短期记忆的容量大概在 7 个左右,范围是 5 到 9 个,所以尽量不要超过 7 个概念或项目。这在演讲或沟通中也非常重要。

有逻辑关系

大脑容易记住有逻辑关系的事物,逻辑关系分为纵向逻辑关系和横向逻辑关系

  • 纵向逻辑关系

    演绎逻辑:线性的,最终会为了得出一个由逻辑词“因此”引发的结论,比如因果关系

    归纳逻辑:将一组具有共同点的事实、思想或观点归类分组,并概括其共同性/论点,比如不同的群体

  • 横向逻辑关系

    时间顺序:比如按照事务发展的时间线划分

    空间顺序:比如按照地点空间来划分

    程度顺序:比如重要的,不重要的来划分

    金字塔原理: 麦肯锡 40 年经典培训教材《金字塔原理》,每个职场人都必须看,强烈推荐,就不多介绍了。

黄金圈法则(What、How、Why)
很多时候我们都知道 What 和 How,但是不知道 Why(或者说没有仔细思考 Why),就容易陷入到成长瓶颈。黄金圈法则也是一个经典的学习的三部曲。① What,是什么、② How,如何实现、③ Why,为什么是这样(而不是另外的样子呢?)。

举几个例子:

我们接到一个功能需求,先思考可能的本质(为什么有这个需求),再去思考怎么做。别停留在 What(一个产品需求)、How(怎么做)而没有 Why。

我们知道一个技术框架怎么用,做什么用的,但是知道它底层原理和为什么这么设计的人并不多。

我们要做架构迁移,比如一路向北,要做 Pouch 容器迁移 ASI,有做凌霄独立化部署,有没有去理解背后的 Why,为什么要去做这件事情。

三、沟通能力

3.1 上下/平级之间的沟通

记得 刚带团队上侠客行课程的时候,老师说过一句话至今记忆犹新:「向上沟通要有胆量,平行沟通要有肺腑,向下沟通要有心肝」。这句话背后的思考我已经记不得太多,只能重新理解一下:

  • 向上沟通要有胆量
    通常我们对上级沟通方面有几个常见的误区,比如:

    • 和上级能不聊就不聊

    • 他太忙了,我可能会打扰他

    • 我只要做好上级交代给我的事情就好了

    • 有事他会来找我的

    • 拿捏不好该不该和上级聊的分寸和尺度

    • 我很难领会到上级的意图

    这些其实就是一种安慰自己的「逃避」做法。前面讲的,「脸皮薄容易耽误事」,这句经典的话也可以放到这里。

平行沟通要有肺腑

  • 双赢思维:沟通的目的能够对对方是有意义的,而不是站在主观的利益上去沟通

  • 放下面子:你不服我、我不服你,相互避让、多一事不如少一事的态度是横向沟通最大的障碍

向下沟通要有心肝

  • 要有视人为人的态度,员工不是机器,是需要情感输入的

  • 不能对人不对事,不能围绕人的某个标签来做事的评判

  • 批评员工要有讲究,要对事不对人,批评事,不要打击人,更不能给人贴标签。之前看到过一个如何批评员工的 AID 批评三步法(也称为发展性反馈)。

      - ACT:指出具体的言行上的问题,而不是人的问题- Impact:指出该问题带来的影响- Desired outcome:期待的结果,以及探讨取得结果的行动
    

3.2 沟通中的非暴力

在日常沟通中,「暴力沟通」其实无处不在,比如:“你这个做的不太好”、“这让我很不满意”、“这个需求实现不了”、“你不爱我了吗” 、“你懂我意思吗?”,等等让人很难回复的对话。思考一下,这些话都有什么样的问题?

《非暴力沟通》一书中提到了经典的表达框架:

观察 - -----> 感受 -----> 需要 -----> 请求

对应的还有一个倾听框架:

倾听 - -----> 体会 -----> 反馈

更多细节参考《非暴力沟通》一书,每个职场人必读,强力推荐,就不再文中多赘述了。

3.3 沟通中的结构化

重要的事情说三点,比如三个论据、三个论点、三个观点、三个好处等等(最简单的结构化表达)

先说结论,再说过程和原因,然后再说结论,这也是用好「三点」这个好的结构化工具

说清楚 What、How、Why(黄金圈法则),笔者遇到过好多类似的对话都是不带 Why 的,这让人感觉无法回答的对话,比如:

英布,申请一个紧急发布,麻烦审批下,X 业务线上有个 bug!(具体是什么 bug ,带来什么影响?)

英布,X 项目比较赶,这周末可能要申请下加班!(哪个项目不赶,为什么你的这么特殊?)

英布,有没有资源支持下 X 需求?(没有资源的原因是什么?)

这个问题,X 老板说下周一定要上(老板有没有说为什么,为什么是下周?)

只讲 How 或 What 不讲 Why,是一个非常典型的表达问题。

“理解了 Why,才有可能做到知行合一”。—刘润《底层逻辑》

3.4 说话的方式简单点

举例:下面两段话,你看得懂吗?

“对于现在这个业务,暂时还没有跑通一个模型,毕竟基础业务逻辑没有形成闭环,更别说做成生态了,我们还在夯实基础的阶段,好好打磨一下我们的产品,最终形成一套组合拳打法,才能有效赋能生态圈,最终反哺整个经济体。”

“过去我们主要依靠推荐技术赋予的信息分发能力、跨端联动多个产品自研,实现深度共建,形成组合拳,打造内容生态闭环,以此赋能客户用户创造价值。未来我们要增加横向不同场景价值,延长服务链路。同时纵深满足用户需求,借助人类年龄的自然势能,在小中青多个年龄用户深度渗透……

互联网黑话、空洞大词,以及各种让人听不懂的专业术语,这些在前几年已经在互联网社区备受诟病了,我们记住说话尽量接地气就好。

3.5 改掉那些不好的口头禅

每个人都有自己的口头禅,很多时候无意识的就会说出来,如果觉得自己有口头禅,不防思考下,口头禅会不会有一些「暴力」因素,比如以下左边这些,都可以有更好的改进:

“我*、***” —> “ null ”
“你懂我意思吗?” ----> “不知道我表达清楚了没…”
“我和你说实话” ----> “我内心真实的想法是…、我的直觉是…”
“我之前就说过 xxx” ----> “之前我们有过一次这样的沟通,结论是…”
“你这个逻辑不对” ----> “我的观点跟你不一样,我认为应该是这样的,…”
“我觉得你应该” ----> “我的建议是…”

四、写作能力

排版

良好的写作能力,这对于程序员这个高学历群体来说都不是问题,但是我发现很多同学写出来的文章、设计文档等都没有一个良好的结构以及排版,良好的结构和排版可以让人读起来更愉悦和易理解,强烈大家按照《中文排版指北》来排版。

结构化的写作

写文章之前先列出大纲,语雀右侧的大纲或思维导图都很是很好的工具。自己先读完大纲换位思考下看看是否易懂,好的骨架可以牵着读者的思路走,推荐《金字塔原理》这本书。

周报/月报的表达

很多同学,写周报或月报的时候大部分都是流水,这是最典型的「应付型」报告。笔者认为,周月报有两层意义:自己梳理和总结,让其他人看到自己的思考和总结,如果全部都是流水账,就失去了总结的意义了。总之就是:「没有思考的周报是没有灵魂的」。

五、自我营销能力

为什么要自我营销?

一线演员与歌手的硬实力真的比酒吧歌手和十八线配角强吗?明星发微博只是想分享自己的动态吗?笔者认为核心是要:「提升影响力」。

影响力的两种分类

之前看过两种不同的职场影响力类型,职权影响力与非职权影响力,分别由不同的因素组成:

  • 职权影响力:

    • 传统因素:下级对于上级有一种天然的服从感,层级高比层级低的天然有影响力

    • 职位因素:从组织架构的角度,由于更高级别职位的人有一种敬畏和遵从感

    • 资历因素:有资历的人,在人们的眼中是更值得敬重的,比如新员工对老员工的尊敬

非职权影响力:以下几个都会影响他人的「非职权」因素

  • 人品和品格
  • 历史表现
  • 专业能力
  • 亲和力

因为「职权影响力」需要时间的积累,所以对于大多数需要提升影响力的人来说,「非职权影响力」更需要关注。

提升影响力的几种方式

ATA(阿里内部技术社区):把思考和成果都记录和沉淀下来,分享给更多的人

分享会:多参与分享会,不论大小,都是提升影响力的机会,但切记要在不影响工作进程的条件下

技术会议

碎片化讨论:碎片化讨论有助于即时思考的表达,但不要为了发声而发声

文章写完别忘记推广

  • 群发(团队/部门/阿里云前端联盟)
  • 周报/月报中附带宣传
  • 认识的同行/同事(大牛、翰林院推荐等)
  • 找技术运营推广(F2E 大群/ATA )

六、演讲能力

不知道大家发现没有,层级高的同学演讲能力通常都不会差,而好的演讲水平不是天生的,需要我们不断地进行学习和训练,一场好的演讲通常由一下几部分组成:

  • 提前了解听众的诉求:针对面向的群体类型,以及听众的诉求来设计这一次的演讲

  • 好的开场是成功的一半:开场可以来一些小互动以及调研等等,把听众的思绪带进到分享主题里来

  • 好的内容结构:参考「结构化思维」的内容

  • PPT 只是配角:把结构内容呈现到 PPT 上,切记不要把一个好的演讲全部归功到 PPT 上

  • 把控好整体节奏:思考如何让听众跟着你的思路走,一旦跟不上,就算不上号的演讲

  • 趣味性的互动:合适的情况下可以来一些互动,避免单向输入带来的乏味

  • 肢体语言:好的肢体语言可以让演讲更生动

  • 声音控制:流利的表达、抑扬顿挫的表达会让人更能接受你的信息

  • 收尾时强调重点:跟写文章的中心思想类似,把听众的思绪拉倒中心思想上来

有一个演讲法则称为“10-20-30”法则,具体来说就是幻灯片不要超过 10 张、演讲时间不要超过 20 分钟、字体大小不要小于 30 号。

七、协同/领导能力

在工作中我们基本上都会遇到团队内部协同、跨团队协同、以及跨部门协同的情况,特别是到了一定的层级,做项目管理、团队管理之后,协同与领导能力更为重要,我们也称为「借人成事」的能力。这里我们要学习很多协同领导相关的能力,比如:

  • 项目管理(预期、过程、质量、风险):项目管理也是一个比较专业,每个程序员必学

  • 开好会:当需要协同的角色越多,开会的效率就变得尤其重要,在大厂有多少程序员的时间是花在了开会上,这部分建议参考集团内部的《高效会议指南》

  • 复好盘:柳传志在《我的复盘方法论》中说到:在这些年管理工作和自我成长中,「复盘」是最令我受益的工具之一,可见复盘对人成长的重要性,这里推荐一本书叫做 《复盘+:把经验转化为能力》

  • 做到事事有回应、件件有着落、凡事有交代:做一个靠谱的职场人,三个最重要的要素

  • 诚信:说到做到,提升信任感

  • 保持正能量:多传递一些正能量,谣言与八卦在职场中常常被人津津乐道,但往往也会影响我们的职业发展

  • 严于律己,宽以待人:领导者必备

领导力方面,重点推荐《冯唐. 成事》一书

八、抗压能力

人的一生中不可能不会遇到压力和挫折,抗压能力的高低,会影响我们的生活与工作,抗压能力越高,我们越容易适应当下的环境,所以说,提高抗压能力是非常有必要的,这里可以给一些提升抗压能力的建议,也是我个人在工作之外会经常保持的习惯:

  • 培养兴趣爱好:把兴趣爱好作为自己的灵魂伴侣

  • 有三五好友可以交流与倾诉:遇到压力和挫折的时候,身边如果有人能够相互鼓励,压力会小很多

  • 保证充足的睡眠:很多时候,我们遇到压力和挫折的时候会失眠,但我们尽量在挫折不出现的时候就保证充足的睡眠的习惯,压力来的时候不至于影响太大,压力越大越无法入睡,会进入一个恶性循环。(这里没有理论做支撑,自己的感受)

  • 保持运动习惯:保持对自己兴趣的运动习惯,和三五好友打球,充足睡眠自然来

【Android -- 软技能】聊聊程序员的软技能相关推荐

  1. 软考初级程序员下午题题库

    前言 本篇文章包含2005年到2022年,软考初级程序员下午真题,针对个别的题会做一些知识点讲解.答案有错误请评论,我一定会看!每天更新几题,2023.4.9–??祝考试顺利. 2005年下午题 答案 ...

  2. 计算机软考知识点,计算机软考《程序员》常考知识点总结

    2016年上半年计算机软考时间预计为5月21-22日举行,对于即将参加考试的考生们,要想在有限的复习时间里将计算机软件水平考试的重要考点.及考点的出题方式掌握透彻,需要进行大量的积累知识.为此,小编特 ...

  3. 软考初级程序员有什么参考的书籍,主要考什么?

    软考初级程序员的参考书籍是官方教材--清华大学出版的<程序员教程>,复习的时候买这一本就好了. 主要考哪些知识点可以考试大纲里面的说明,考的其实都是一些基础的计算机知识. 既然是程序员,那 ...

  4. 微软中国CTO:不思进取、放弃基本技能的程序员在34.9岁会被淘汰!

    文章来源:为来科技 前言:在近日腾讯新闻愿景演讲上,微软中国CTO韦青提到了码农这个词,并表达了自己的看法. "我觉得在国内目前教育最为缺失的就是逻辑性的教育,首先大家都在说35岁要淘汰程序 ...

  5. 这6大核心技能,程序员升职加薪的利器

    "人如果没有梦想,那和无忧无虑有什么区别",听起来好像很有道理,但作为当代社畜,日常996,越没钱越想花钱,想无忧无虑奈何生活不易. 经常会有人在后台留言,"想成为一名程 ...

  6. “不会SQL,干啥都不行!”资深研发:这是程序员的必备技能!

    国外有人曾做过调查显示:"SQL的使用人数仅次于JavaScript". 更有统计,世界上一流的互联网公司中,排名前 20 的有 80% 都是 MySQL 的忠实用户. 你一定很好 ...

  7. 聊聊程序员35岁危机

    聊聊程序员35岁危机 hello,这里是潇晨,今天来聊一个老生常谈的话题程序员的35岁危机,分为以下几个部分,以及结合自己的经历,提供一些解决方案,非常正能量,不是鸡汤,不制造焦虑,不瞎逼逼,希望大家 ...

  8. 程序员:必备技能 Git

    程序员:必备技能 Git 文章目录 程序员:必备技能 Git 每博一文案 1. Git 的概述 1.1 版本控制 1.2 SVN 1.3 Git 1.4 Git 和代码托管中心 2. Git的安装下载 ...

  9. 利用《死亡打字员》提高程序员的命根子技能——打字速度(附游戏下载)

    <p><span style="color: red;">其实我只是需要一个简单的缓解压力的游戏</span> </p> <d ...

最新文章

  1. Google推出数据集搜索!百度,你怎么看?
  2. java 绑定事件_Javascripts事件基础和事件绑定
  3. split join append
  4. python读取邮件发送日期和时间_Python读取指定日期邮件的实例
  5. java实现sql批量插入参数
  6. php 自定义条件,php – 使用两个条件自定义排序数组数组
  7. C语言程序设计二期末考试,9第二学期期末考试《C语言程序设计》A
  8. leetcode981. 基于时间的键值存储(treemap)
  9. 写python笔记本推荐_写个python程序帮你清理垃圾
  10. mysql 深入视图和索引
  11. 移动App测试实战 第2章 功能测试自动化
  12. wallys//Routerboard/IPQ4018/IPQ4028 802.11ac Wave2
  13. 从零开始制作小车TB6612控制电机
  14. echarts拖拽echarts实现多条可拖动节点的折线图
  15. OpenPose:实时多人2D姿态估计
  16. 论文发表费用大概需要多少
  17. 03Java常用API-16. 日期Date类型及其常用方法
  18. Linux环境使用授权码实现软件授权
  19. latex数学公式编写(一):latex矩阵编写
  20. linux mint安装中文包_Linux Mint 安装中文后菜单字体变成楷体的解决办法

热门文章

  1. python实心点怎么画_python 绘制随机实心圆,保存标签
  2. Android检测App的内存占用和泄漏
  3. html5 磁力链播放器,荐片播放器,据说是一款专治迅雷被封链接的看片下片神器...
  4. gprs模块http mqtt_基于GPRS模块的MQTT至MODBUS协议转换器
  5. 清华大学计算机学院博士后在学待遇,清华大学博士后待遇怎么样
  6. 现在想读博以后去高校,还值得吗?
  7. 【转】上海居住证和户口的区别
  8. 单机服务器docker搭建mysql5.7主从同步
  9. Android RxJava操作符的学习---过滤操作符
  10. 量子计算机双刃剑,科技是把双刃剑,“脑机接口”的利与弊,让人细思极恐