成功的软件开发者需要掌握人际技能的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

相关文章

一道经典Python程序样例带你飞速掌握Python的字典和列表

Python中的列表(list)和字典(dict)是两种常用的数据结构,它们在数据组织和存储方面有很大的不同。 列表(List) 列表是Python中的一种有序集合,可以随时添加和删除其中的元素。列表中的元素可以是任何数据类型,包括数字、字符串、其他列表等。列表使用方括号[]表示,元素之间用逗号,分隔。 定义和使用 # 定义一个列表 fruits = ['apple', 'banana

警告,恶意域名疯狂外联,原因竟然是……

前言    在某个风和日丽的下午,突然收到客户那边运维发过来的消息说我司的DTA设备在疯狂告警,说存在恶意域名外联,我急忙背上小背包前往客户现场,经过与客户协同排查,最终确定该事件为一起挖矿病毒引起的恶意域名外联事件。(因客户信息保密且为了保证文章逻辑完整性,部分截图为后期追加图) 事件分析 一看域名地址donate.v2.xmrig.com

电子盖章怎么做_电子盖章软件

使用e-章宝(易友EU3000智能盖章软件)进行电子盖章的步骤如下: 一、准备阶段 软件获取: 访问e-章宝(易友EU3000智能盖章软件)的官方网站或相关渠道,下载并安装软件。账户注册与登录: 首次使用需注册账户,并根据指引完成注册流程。注册完成后,使用用户名和密码登录软件。 二、电子盖章操作 文档导入: 在e-章宝软件中,点击“添加”按钮,导入待盖章的PDF文件。支持批量导入多个文件,

BD错误集锦8——在集成Spring MVC + MyBtis编写mapper文件时需要注意格式 You have an error in your SQL syntax

报错的文件 <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.yuan.dao.YuanUserDao"><!

小红书商家电话采集软件使用指南

使用小红书商家电话采集软件可以提高商家电话的采集效率,以下是使用指南及附带代码。 步骤一:安装Python和相关库 首先,确保你的电脑已经安装了Python运行环境(建议安装Python3版本)。安装完成后,同样需要安装一些相关的库,如requests、beautifulsoup4等。在命令行窗口中输入以下命令进行安装: pip install requestspip install bea

六西格玛培训公司:解锁成功之门,让企业与个人共赴“嗨”途

在竞争激烈的21世纪,六西格玛培训公司手握一把神奇的钥匙,帮助企业及个人轻松开启成功的大门。 对企业来说: 产品质量飞跃:不再是偶尔的精品,而是每个产品都如同精雕细琢的艺术品,吸引无数顾客争相购买。 工作流程优化:六西格玛培训如同精准的剪刀,剪去冗余,让工作流程更加顺畅高效。 客户满意度飙升:深谙客户需求的六西格玛,帮助企业精准把握市场脉搏,让每位客户都感受到宾至如归的满意。 战略转型游刃有

IPD推行成功的核心要素(十一)技术规划与平台规划促进公司战略成功

随着外部大环境的影响,各企业仅有良好的愿望是不够的。预测并顺应新兴市场和技术的变化,变危机为转机,不断推出强大的产品才是一个公司持续繁荣的根本保障。而高效的产品开发往往是基于某些关键技术,针对市场推出的一个或几个产品系列,这些产品系列通常共用一些产品平台,共用一种或者几种关键技术。当一家企业进入了平稳发展期,已经建立了较为完善的管理制度和产品开发流程,但是依然认为竞争对手是那样强大,那样不可战胜。

【Qt6.3 基础教程 16】 掌握Qt中的时间和日期:QTimer和QDateTime的高效应用

文章目录 前言QTimer:定时任务的强大工具QTimer的基本用法高级特性:单次定时器 QDateTime:处理日期和时间获取当前日期和时间日期和时间的格式化输出日期和时间计算 用例:创建一个倒计时应用结论 前言 在开发桌面应用程序时,处理时间和日期是一个常见且重要的任务。Qt框架提供了强大的工具来处理与时间相关的功能,其中QTimer和QDateTime是最核心的类。本

javascript加密出问题原因

问题:js压缩和混淆都没问题,但是加密之后总是出问题,网上资料说加分号,我也加了。但是还是出问题。 参考办法: 后来我把所有if else语句里面的内容全部用{}大括号括起来并在if else语句最后加分号。然后再次加密,运行成功了。

服务器监控:运维行业的核心保障与第三方监控软件的选择

随着信息技术的飞速发展,企业IT架构日益复杂,服务器作为整个IT系统的核心,其稳定性和性能对业务的连续性至关重要。在运维行业中,服务器监控作为保障服务器稳定运行的关键环节,已经受到了越来越多企业的重视。本文将探讨服务器监控的重要性、挑战以及选择第三方监控软件的原因,并推荐一款优秀的服务器监控软件——监控易。 一、服务器监控的重要性     服务器监控是指对服务器硬件、操作系统、应用程序