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

2023-10-07 01:38

本文主要是介绍成功的软件开发者需要掌握人际技能的3个原因,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文来源于我在InfoQ中文站原创的文章,原文地址是:http://www.infoq.com/cn/news/2014/02/human-skills-useful-for-dev


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

你不必成为专家

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

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

这篇关于成功的软件开发者需要掌握人际技能的3个原因的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/155232

相关文章

Linux samba共享慢的原因及解决方案

《Linuxsamba共享慢的原因及解决方案》:本文主要介绍Linuxsamba共享慢的原因及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux samba共享慢原因及解决问题表现原因解决办法总结Linandroidux samba共享慢原因及解决

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

Java报NoClassDefFoundError异常的原因及解决

《Java报NoClassDefFoundError异常的原因及解决》在Java开发过程中,java.lang.NoClassDefFoundError是一个令人头疼的运行时错误,本文将深入探讨这一问... 目录一、问题分析二、报错原因三、解决思路四、常见场景及原因五、深入解决思路六、预http://www

Java8需要知道的4个函数式接口简单教程

《Java8需要知道的4个函数式接口简单教程》:本文主要介绍Java8中引入的函数式接口,包括Consumer、Supplier、Predicate和Function,以及它们的用法和特点,文中... 目录什么是函数是接口?Consumer接口定义核心特点注意事项常见用法1.基本用法2.结合andThen链

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

pip install jupyterlab失败的原因问题及探索

《pipinstalljupyterlab失败的原因问题及探索》在学习Yolo模型时,尝试安装JupyterLab但遇到错误,错误提示缺少Rust和Cargo编译环境,因为pywinpty包需要它... 目录背景问题解决方案总结背景最近在学习Yolo模型,然后其中要下载jupyter(有点LSVmu像一个

SpringBoot中的404错误:原因、影响及解决策略

《SpringBoot中的404错误:原因、影响及解决策略》本文详细介绍了SpringBoot中404错误的出现原因、影响以及处理策略,404错误常见于URL路径错误、控制器配置问题、静态资源配置错误... 目录Spring Boot中的404错误:原因、影响及处理策略404错误的出现原因1. URL路径错