写点什么

成功的软件开发者需要掌握人际技能的 3 个原因

  • 2014-02-05
  • 本文字数:1995 字

    阅读完需:约 7 分钟

Petri Kainulainen 是位资深的软件开发者,拥有多年的软件开发经历。他热衷于软件开发与持续改进,擅长使用 Spring 框架进行软件开发,同时也是 Spring Data 一书的作者。近日,Petri 撰写了一篇文章,谈到了对于软件开发者来说,掌握人际技能重要性的 3 个原因。文中谈到除了软件开发本身的技能外,要想在职业生涯中取得更大的成就,良好的人际技能是必不可少的重要因素,文中的观点对于广大软件行业从业者来说颇具实际意义,希望能给各位读者带来一些启示。

有很多人认为要想成为一名优秀的软件开发者只需掌握相关技术即可,毕竟软件开发者每天的大部分时间都用来设计软件和编写代码。从这个角度来看,显然技术本身是非常重要的。

不过,如果你以编写软件为生,那就需要与其他人协作,这包括团队中的成员、其他同事以及客户。值得注意的是,这些人对你的期望是各不相同的。

在我刚开始学习软件工程时,我并没有认识到这一点。我只是觉得可能犯了个小错误而已,但实际上这个问题很有可能毁掉你的声誉和职业生涯。在我开始从事第一份编程工作时,我认识到人际技能对于每个软件开发者来说都是至关重要的。

那么,到底什么是人际技能呢?术语人际技能的一个定义如下所示:

人际技能指的是与其他人高效协作以实现特定目标的能力。

下面就来看看为何说人际技能对于软件开发者来说是至关重要的。

1. 良好的人际技能有助于你更好地理解客户

客户与软件开发者生活在不同的世界中。不过他们有着共同的目标,那就是一同来解决客户的问题。

问题在于客户的很多问题对于软件开发者来说是不可见的。比如说,客户可能受到老板和其他利益干系人的压力,这会对客户的沟通交流造成影响。

软件开发者并不一定能够理解这一点。相反,他们会抱怨客户,觉得:

我们的客户一直在抱怨进度慢。他根本就不知道我们其实已经非常努力了,做什么事情都需要时间啊。

当然了,客户也有可能就是个不讲道理之人。不过,我认为在绝大多数情况下,客户都处于巨大的压力之下,这才会导致他的言谈和行为有些异常。

如果你能理解客户的行为是由某些你看不见的因素所驱使,那么你就应该以一种高效的方式对此作出反馈。

光是抱怨客户是解决不了任何问题的,也没法帮助你更好地了解客户的情况,从而避免产生冲突。事实上,抱怨常常会对你与客户之间的关系造成更不好的影响。这么做绝对是一场灾难。

2. 人际技能有助于更好地表达出自己的观点

如果你在一个团队中工作,那么你需要理解清楚两件事:

  • 每个人都有一个“隐蔽”的日程安排来指导他们的行为。
  • 能够激发你的事情未必会对团队的其他成员起作用。

这意味着要想传播你的观点,你首先要搞清楚团队的其他成员在想什么,什么才能激发他们。这是因为:

  • 如果搞清楚到底是什么指导着团队成员的行为,那么你就能以一种对其他成员有意义的方式来表达出自己的观点。
  • 如果理解了到底是什么激发着团队成员,那么你就能以一种吸引人且具有激发力的方式来表达出自己的观点。

每次我听到有人抱怨他们的团队成员对新事物没有兴趣时,我都认为这个人在以一种错误的方式表达着自己的观点。如果他自己能学习一些新的技术,那至少他的一些想法就能通过自身表达出来。

3. 人际技能有助于创建出更好的 APIs

在我开始以编写软件为生时,软件开发者经常会嘲弄用户界面设计师。我们那时都认为这些用户界面设计师存在的唯一目的就是用他们那可笑的想法来折磨我们。现在看看,那时的想法可真是幼稚至极。

时至今日,我认为用户体验设计是软件项目中最为重要的环节之一。毕竟,我们编写的软件是给人用的。确保软件能够提供优秀的用户体验是非常有意义的事情。

不过,这与APIs 有什么关系呢?

实际上关系很大。API 开发常被认为是一个技术工作。虽然API 的实现是个技术工作,不过API 的设计却并非如此。光是理解用户的需要还不够,因为很有可能实现了一个能够满足需求,但却没法使用的API。因此,用户体验设计也是API 开发的一个重要组成部分

那这与人际技能又有什么关系呢?

Wikipedia 是这样定义术语用户体验的:

用户体验(UX)涉及到使用特定产品、系统或设备的用户行为、态度与情绪。用户体验包括人机交互与产品所有权的实际、经验、情感等方面因素。除此之外,它还包含个人对系统的感知和认识,比如说功能性、易用性以及效率等。用户体验是动态性的,因为它常常会随着时间的流逝由于使用环境和系统变化等因素而发生变化。

换句话说,如果想要创建出具有优秀用户体验的 API,你需要:

  • 实现一个提供了全部所需功能的 API。
  • 理解开发者使用 API 的方式。

拥有良好的人际技能能够帮助你实现第 2 个目标。

你不必成为专家

软件开发并不是一项孤立的活动。相反,它是一项团队活动,软件开发者需要与客户、团队的其他成员以及同事相互协作。要想成为一名优秀的软件开发者,你不必非得是外向型人格,不过你要能理解其他人并与之很好地沟通与交流。

除此之外,你也不必成为一名人类行为学的专家,不过在这方面了解得越多,你获得的收益也会越大。

2014-02-05 11:571906
用户头像

发布了 88 篇内容, 共 261.2 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

五年Java开发者小米、阿里面经,2021最新Java框架体系架构面试题

Java 程序员 后端

从思路到不断优化,字节跳动算法工程师面试经验

Java 程序员 后端

五面阿里拿下飞猪事业部offer,腾讯Redis压轴笔记

Java 程序员 后端

作为Java程序员应该怎样去规划自己的学习路线,Java面试知识点

Java 程序员 后端

作为一个码农终于把MySQL日记看懂了,中软国际Java笔试题和答案

Java 程序员 后端

从青铜到王者的路线,mysql视频教程,MongoDB数据分布不均的解决方案

Java 程序员 后端

两年Java开发面试题,java教程视频马士兵,大厂Java面试真题精选

Java 程序员 后端

为什么StringBuilder是线程不安全的,Mybatis源码解析

Java 程序员 后端

二本Java小菜鸟4面字节跳动被秒成渣渣,【Spring注解驱动开发

Java 程序员 后端

从消息中间件看分布式系统的多种套路,Java进阶篇

Java 程序员 后端

从零开始学数据结构和算法,offer来了java面试百度云版,学Java必看书籍

Java 程序员 后端

今年最新整理的《高频Java面试题集合》,Java开发者必须收藏的8个开源库

Java 程序员 后端

从基础到源码统统帮你搞定,Spring中经典的9种设计模式,一定要记牢

Java 程序员 后端

从头到尾,都是精华,java就业班百度网盘,字节跳动算法工程师面试总结

Java 程序员 后端

作为Java程序员,java尚学堂和尚硅谷,看完我工资从12K变成了20K

Java 程序员 后端

作为一名Java面试者你应该知道的,阿里,快手,拼多多等7家大厂Java面试真题

Java 程序员 后端

Vue进阶(幺伍幺):Vue 应用 key 提升页面渲染性能

No Silver Bullet

Vue 10月月更

从基础到源码统统帮你搞定,mysql教程百度云,面试真题解析

Java 程序员 后端

从底层开始带你了解并发编程,Java资料下载

Java 程序员 后端

中软国际Java面试,java基础入门传智播客课后答案,Java开发面试技巧

Java 程序员 后端

五分钟搞懂MySQL主从复制原理,37岁程序员被裁

Java 程序员 后端

什么会导致Java应用程序的CPU使用率飙升,高级Java开发技术

Java 程序员 后端

互联网大厂面试必问的JVM底层原理,高级Java开发必看

Java 程序员 后端

京东面试真题解析,程序员极客实验室,Java面试基本问题

Java 程序员 后端

作为一名Java面试者你应该知道的,Java多进程从头讲到尾

Java 程序员 后端

作为Java程序员应该怎样去规划自己的学习路线,2021Java者真的太难了

Java 程序员 后端

为什么StringBuilder是线程不安全的,Java高级工程师进阶学习

Java 程序员 后端

京东数科Java面试,尚学堂马士兵java视频教程下载,满满的干货

Java 程序员 后端

京东面试真题解析,泪目

Java 程序员 后端

从JDK源码学习Hashmap,跳槽面试大厂被拒

Java 程序员 后端

价值2000元的Java学习资源泄露,Java中接口的使用你得知道

Java 程序员 后端

成功的软件开发者需要掌握人际技能的3个原因_语言 & 开发_张龙_InfoQ精选文章