成为一名成功的开发顾问所需的 14 项技能

2025-06-08

成为一名成功的开发顾问所需的 14 项技能

作为开发顾问,我们通常与客户合作,其中大多数客户都不懂技术,以帮助他们提供解决问题的软件解决方案。

这并不总是那么容易,因为单靠技术技能并不能让客户满意。我很好奇,要想成为成功的客户,需要具备哪些关键技能。于是我和麦迪逊当地的几位开发人员聊了聊,讨论了我们认为这些关键技能是什么。

以下是我们要点的总结以及每个要点背后的聊天记录。

1.学习

学习能力学习速度会影响你与客户的咨询关系。有很多东西需要学习,例如客户的业务、他们的需求/问题(谁知道具体是什么),甚至他们的代码库和技术栈。这与适应性类似,拥有积极的态度“我能做到”的态度无疑会帮助你应对所有需要学习和适应的事情。

Steve:员工需要一定的时间来适应技术栈、公司、文化等等,而顾问则需要尽快投入工作。这意味着整个项目都取决于顾问尽可能快地学习——了解客户的业务、需求、问题、如何从公司其他人那里获得成果、与谁沟通等等。

克里斯蒂娜:啊,那么这也意味着适应性吗?

史蒂夫:我认为有很多重叠之处

克里斯蒂娜:是的,我认为积极的态度也很重要。

克里斯蒂娜:有很多事情需要解决

克里斯蒂娜:拥有“我能做到”的态度会让你在所有需要做的事情上保持坚韧。

史蒂夫:当然。这也是接触广泛领域的绝佳方式。“当然,我接受”的态度能让你与时俱进,跟上科技和业务的步伐。

2.倾听的能力

倾听客户的意见,提出更多问题,并理解字里行间的含义,以确定他们的要求是否真正符合他们的需求。很多客户在咨询时心中已经有了预设的解决方案,而顾问的工作之一就是确保客户获得符合需求的合适解决方案

但这很棘手。在这样做的时候,你必须小心,确保客户仍然觉得自己被重视了,而不是觉得你傲慢自大。

博:你必须能够仔细倾听,了解客户真正想要什么,而不是他们表面上想要什么。“倾听”包括提出好的问题。

克里斯蒂娜:哦,是的,读懂字里行间的意思!

史蒂夫:说得对。客户通常认为你对他们的业务了如指掌,甚至了解他们遇到的问题。有时候,想要取得成果,就得戴上猎鹿帽。

Bo:例如:我们从惨痛经历中吸取了教训,客户并不总是真正清楚他们应该瞄准哪个平台(!)。我们开发过一些网页应用,客户后来决定应该做移动端,反之亦然。如果在早期阶段进行更仔细的调查和探索,而不是简单地接受表面需求,我们双方都能节省时间和金钱。

克里斯蒂娜:而且,客户需要感觉到他们的话确实被听到了,对吗?

克里斯蒂娜:这是一种谨慎的做法,需要仔细倾听字里行间的意思,让客户感觉他们没有被听到,而只是感觉到顾问的傲慢。

博: def

3. 期望管理

设定期望不仅适用于顾客/客户,也适用于团队成员、老板和高管。它也适用于你的个人生活,例如与另一半、朋友、孩子、父母、亲戚或熟人相处。

确保他们了解你的期望,这样你才能更好地管理并建立他们对这段关系的信任。这意味着你需要积极主动地沟通,如果有什么不确定的地方,可以提出问题进行澄清。

Cristina:我所说的期望管理是指开发人员应该能够与客户和团队成员(如果适用)设定期望值。这意味着,让他们知道接下来会发生什么,会有什么期待,哪些是好事,哪些是坏事。

克里斯蒂娜:错误的期望会导致人们感到不安,因为期望没有得到很好的管理。

克里斯蒂娜:例如,我正在与一位客户合作,他们要求我开发一些东西。

克里斯蒂娜:如果我没有很好地管理期望,我会说我会在一周内完成这件事。

克里斯蒂娜:如果我知道的话,我可以说我需要更多信息和一些时间来研究,而且我还不知道确切的时间表。

史蒂夫:我发现这对于与客户建立信任至关重要

博:管理客户期望非常重要,但并不总是那么容易。

博:所以 — — 是的,很好。

4.谈判

如上所述,客户/顾客可能心中已经有了具体的解决方案,有时这意味着要求不可能的事情。这段YouTube 喜剧短片展示了这有多么困难。能够在保持信任的同时,回应并协商他们的要求,才能确保客户得到他们真正需要的东西。

克里斯蒂娜:客户往往会提出一些不可能实现的要求。如果能够反驳他们的要求,并以客户能够理解的方式解释,就能为客户节省大量成本,并带来更高效的解决方案。

博:也不错

史蒂夫:这个方法很好,但掌握起来也比较难。我还没掌握😟,但我常用的策略是了解客户的驱动力,从而实现三赢。

克里斯蒂娜:我觉得没人能掌握这个。太难了!

肯德尔:在转行做科技行业之前,我从事园艺咨询工作时发现,自我价值在谈判中至关重要。这样,你就不会因为寻求一份尊重你的时间和财务预期的协议而感到内疚。

史蒂夫:我在某处读到过,谈判应该始终从权力的角度出发 - 即使唯一的“权力”就是你可以放弃。

克里斯蒂娜:嗯。

克里斯蒂娜:听起来不太对劲?

克里斯蒂娜:在顾问职位上,你没有那么大的权力

史蒂夫:我觉得这要看个人情况。最近我被派去一个客户那里,发现经理人太差劲了,这对他们的开发团队来说非常糟糕。我告诉老板我不会再回去了,我觉得这事儿太不道德了,我老板要么留下我,要么就把我丢掉。几周后,经理就被解雇了。

克里斯蒂娜:哇哦

克里斯蒂娜:我很高兴听到你得到了雇主的支持

史蒂夫:每件事都有其强度,但如果发生最坏的情况,总会有另一份工作

克里斯蒂娜:我认为这对那些拥有多年经验的人来说更容易

克里斯蒂娜:对于刚起步的人来说,这很困难。他们的议价能力很低

史蒂夫:我觉得这里面有个钟形曲线。没有经验肯定会削弱这种权力。3-6 年经验的人权力最大,因为这个年龄段的职位数量最多。7 年以上经验的人权力再次减弱,因为选择余地更小了。

克里斯蒂娜:等等,有意思。你觉得为什么7+会降低威力?

史蒂夫:但归根结底,我认为这关乎自尊。为了摆脱这份糟糕的工作,得吃几个月拉面?那就吃吧。

克里斯蒂娜:不过,对有家庭的人来说更难。尤其是如果你没有足够的积蓄,根本不在乎保住工作。

克里斯蒂娜:仍然好奇为什么 7 年的工作经验会减少选择的数量

史蒂夫:在我看来,这取决于专业技能和薪水。7年以上通常意味着你在一个细分领域拥有深厚的经验,或者对某个特定行业或技术领域拥有深入的了解。换个领域的工作意味着你的薪水会有所降低,因为你的水平基本上相当于在该领域拥有2-3年经验的人。没有多少人愿意采取如此激烈的措施(尽管最近我公司就见过一些)。

克里斯蒂娜:哦,说得好。我没有意识到这一点。

史蒂夫:家庭/积蓄确实是一个限制因素,但总还有其他工作。TekSystems 会接受任何僵尸状态不超过四五个月的人。

克里斯蒂娜:没错,但是这个职位的质量值得怀疑,对吧?

史蒂夫:哦,毫无疑问,但如果这只是寻找“真正”工作期间的临时工作,那么这是一种支付账单/养家糊口的方式,直到找到更好的工作

克里斯蒂娜:确实如此,说得好

5.解释技术概念

当你去看医生时,他们会用医学术语来描述你所患的疾病,但却不解释它是什么,你是否感到很沮丧?

在我们的技术软件世界中,很多术语都是行话。我们每天都习惯使用它们,以至于忘记了哪些词是行话。与客户合作时,我们需要更加注意所使用的术语,注意他们困惑的面部表情,并能够以不居高临下的方式进行解释,以确保并维持双方的信任。

最近,我们家的猫咪因为上次体检时发现肾脏比正常大,不得不接受很多检查。整个过程中,兽医都用我能听懂的浅显易懂的语言解释了一切,我对此非常感激。

克里斯蒂娜:能够向不理解技术概念的人解释技术概念的能力将使顾问脱颖而出。

Cristina:想想向客户解释 CORS,能够用一些非技术人员也能理解的常见对象来更好地解释。或者解释技术债务。这样做能帮助客户理解你希望他们理解的概念。🙂

史蒂夫:我们经常看到这种情况,因为我们的很多客户对自己的业务只有模糊的概念,但对技术、电子、材料或设计一无所知。如果我们无法解释为什么他们的产品会有一个用户账户管理之类的项目,他们就会很沮丧。

Bo:是的,这样客户就不会觉得自己很笨。我很难一直跟上并行技术的概念,尤其是它们的缩写。而且事情变化太快了……

克里斯蒂娜:是啊,非常关键!如果你用居高临下的语气解释,那你就是在破坏客户关系信任。

史蒂夫:哦,我要用这个

6.不可知论

作为顾问,我们的职责是以最佳方式解决客户的问题。因此,我们应该谨慎选择最适合客户的解决方案技术,并尽量避免仅仅因为喜欢或想试用就使用这些技术。

Bo:选择自己喜欢的技术或工具链很容易,但它未必总是最适合你的客户。没有放之四海而皆准的方案。

克里斯蒂娜:哦哦!!

克里斯蒂娜:我喜欢这个

克里斯蒂娜:选择最适合企业/客户/用户的技术,而不是你最喜欢的技术。

史蒂夫:说得好!有些客户已经把他们的技术栈固定下来了,不愿意顺从可能会丢掉生意,或者让项目变得更加困难。

7.组织

软件开发非常复杂。它包含大量的任务、需求说明、错误、实施步骤等等。你的组织能力越强,就越能追踪未完成的任务,了解哪些任务需要跟进,规划全局,并确定哪些任务是当前必须完成的关键任务。能够做到这些,就能提高效率,从而随着项目的进展,降低成本。

克里斯蒂娜:组织能力可以帮助您跟踪今天和以后需要完成的所有事情。

克里斯蒂娜:它可以帮助您记录与客户讨论的内容、过去的决定以及未来的道路。

克里斯蒂娜:了解今天和以后可以做什么也有助于你保持专注,并知道何时设定期望并与客户沟通;

克里斯蒂娜:专注意味着高效地花钱,从而降低成本。

博: +1

史蒂夫:很好。这也有助于构建一个井然有序的项目——设定适当的优先级(例如关键路径项目),并尽早关注客户的需求。

8.现实主义

我们都希望事情尽可能顺利,但情况并非总是如此,尤其是在软件行业,这个行业充满不确定性。因此,能够以现实的视角看待问题,有助于管理预期,也有助于与客户建立信任关系。

Bo:这可能和其他几个想法有重叠,比如期望管理——但这也可能是我个人最不擅长的领域之一。比如,制定切合实际的时间表——我发现自己几乎总是过于乐观,即使我做了很长时间这样的事情……

克里斯蒂娜:嗯,是的,这既相关又不同。我想我们都想保持乐观,但现实并不允许我们实现预期的时间表。

克里斯蒂娜:向客户传达现实情况可能很困难

Bo:是啊,是啊

史蒂夫:我把最坏情况的估算翻了三倍,结果完全准确。不是开玩笑——最终估算出来的结果总是和实际工作时间相差几个小时。

克里斯蒂娜:估算很难。如果系统已经存在,估算还取决于你对系统的了解程度。

克里斯蒂娜:如果这是一个新系统,那么在与新技术/现有技术的集成方面就会有更多未知数。

史蒂夫:这绝对是艺术而不是科学!

9.同理心

能够理解你的客户并从他们的角度看待问题,将有助于你更好地解决他们的问题,并建立信任。同理心不仅在你的客户关系中发挥作用,而且在你职业生涯的各个方面都发挥着作用,例如与同事建立信任,或与你的开发团队建立信任/保持士气。

史蒂夫:这实际上只是客户关系的一个方面——从客户的角度理解他们的动机、情况、愿望、局限性等,不仅可以协调目标,还可以建立信任。

克里斯蒂娜:哦,是的。在大型项目中,如果你是其他开发人员的领导,同理心也会对团队效率产生影响,因为这样团队的士气会更高。

Bo:我认为这也适用于你的客户的用户——这是我试图谈论的“倾听”的延伸

克里斯蒂娜:关于用户的观点非常好。我们常常忘记最终用户。

史蒂夫:同意,让客户满意的一部分就是让他们在客户面前看起来不错

史蒂夫:喂大象理论延伸了一个层面

10. 商业理解

我们开发人员可以非常精通技术,并且喜欢用代码解决问题。但我们必须记住,我们最终是为了业务原因而开发解决方案。除了同理心之外,我们越了解业务、他们的优先事项、目标和需求,就越能更好地解决他们的问题。

克里斯蒂娜:我们为企业开发软件!

克里斯蒂娜:我们对企业、其流程、其客户和其需求了解得越多,我们最终能为他们提供更好的解决方案。

史蒂夫:这是我最看重的。很多项目只是一些收尾工作,因为有人想尝试新技术,或者做一些以前没做过的事情。说到底,开发者的责任是为公司赚钱,而不是满足一时之需。

克里斯蒂娜:我见过太多开发者仅仅因为某个新科技就开发解决方案。商业盈利才是最终目标,而不是玩弄新技术。

克里斯蒂娜:可以随时在黑客马拉松或其他活动中尝试新技术。

史蒂夫:或者只是因为今天是星期六!前几天我把我的乒乓球计分系统移植到了树莓派1上,因为我的笔记本电脑坏了。这让我明白了期望值的变化(树莓派1在当时很厉害,但现在不再“快”了)!

11.打破常规思维

有时,我们过于固执己见,是因为太过关注问题本身。寻求局外人的观点,倾听思考他们的观点,是有价值的。

博:有时候解决问题的创新方法的灵感来自完全不同的学科或领域

Cristina:说得好!这种事很容易让人陷入困境。所以我经常会向团队外的开发者征求意见,因为很容易陷入僵局。

12.文档

文档并不有趣,但它确实有帮助,因为我们正在构建一个产品,而文档是我们从商店购买东西时得到的一本小册子,需要告诉用户如何操作它。

同样,我们正在开发的软件一个产品,我们需要编写一份手册来告诉其他用户如何支持它。对于软件而言,other users这指的是客户/企业主和其他开发人员,他们需要对软件进行补充或修复一些错误。

没有文档通常也意味着瓶颈,因为只有 1 个资源知道它是如何工作的,而瓶颈会显著降低敏捷性。

Bo:这是个很简单的选择,但自由职业者经常会偷工减料——毕竟,客户通常(一开始)并不关心代码是否有良好的文档和组织

克里斯蒂娜:此外,向客户推销这一点也是关键需求

克里斯蒂娜:当然,需要文档来支持你所构建的软件

克里斯蒂娜:您怎么知道它将来是如何运作的,或者更糟糕的是,其他一些没有构建它的开发人员如何运作?

史蒂夫:每次我回顾以前的个人项目时,我都会感到很困扰

克里斯蒂娜:哈哈。我也是。我的个人项目已经让我吃不消了。

史蒂夫:我……可能弄丢了一个我想更新的可执行文件的源代码。不过这应该没问题,因为代码里本来就没有任何注释。

克里斯蒂娜:从组织上来说,我们因缺乏文档而面临瓶颈

克里斯蒂娜:只有特定的人知道 X 是如何运作的

克里斯蒂娜:那么,只有这些人才能从事 X 工作

史蒂夫:啊,是的。我们刚刚接手了一个客户,他除了一个关键的微服务之外,其他都用.Net,有人决定用Python试试(而且什么文档都没写)……然后他就走了。所以他们一直在招人来搞清楚这个微服务的工作原理,让他们在一段时间里负责这个微服务,等他们辞职后,又要重复同样的工作。

克里斯蒂娜:哇哦,哈哈

13. 管家职责

作为顾问,我们需要维护客户的最大利益。史蒂夫在下面的聊天记录中说得最好。

Bo: 👍 好​​样的

史蒂夫:顾问有责任明智地使用客户的资金。有很多方法可以体现这一点,但归根结底,就是始终以客户的最佳利益为出发点——即使你的雇主不希望你这么做。在咨询行业,信任关系至关重要,尤其是在麦迪逊这样的小镇。

14.灵活性

作为顾问,我们还需要灵活处理哪些事情可以做,哪些事情不可以做。我们可以想怎么协商就怎么协商,但过多的协商可能会损害我们与客户的关系。我们需要明智地选择我们的斗争方向,并知道哪些该放弃。

克里斯蒂娜:虽然与客户协商正确的方案很重要,但如果协商不成功,保持灵活性仍然很重要。

克里斯蒂娜:不要太固执己见,因为最终,顾客的满意才是最重要的,如果我们固执己见,那么顾客只会感到沮丧,我们也做不成任何事情。

博: def

等等,技术技能在哪里?

作为顾问,我们当然需要技术技能,以便能够为客户构建技术解决方案。我们都认同这些技能是必需的。

然而,史蒂夫提出了一个有趣的观点,即一些雇主实际上并不关心应聘者是否会编码,他们只是想要一个可以培训来编码的人。

克里斯蒂娜:我的意思是,我并不感到惊讶,但我们的名单上没有一个人涉及技术技能。

克里斯蒂娜:当然,你需要具备技术技能才能成功地进行咨询。

史蒂夫:技术技能可以通过在职培训获得,但人际交往/商业技能更具艺术性和细微差别

史蒂夫:我遇到过一些雇主,他们不在乎应聘者是否会编程,他们只想要一个可以培训编程的人

Bo:好的,也许改天再讨论吧——编码所需的技能/学科与咨询所需的技能/学科并不完全重叠

史蒂夫:我认为很多有价值的咨询技能也是有价值的管理技能

概括

要成为一名成功的开发顾问,不仅需要技术技能,还需要具备各种各样的人际交往/业务技能,这些技能更难掌握。但只要我们意识到这些技能并不断努力提升,我们就能比以前做得更好。


给我买杯咖啡

鏂囩珷鏉ユ簮锛�https://dev.to/cristinaruth/14-skills-you-need-to-be-a-successful-developer-consultant-58n4
PREV
使用 Xstate 和 ReactJS 的纯 UI
NEXT
如何在 Node.js 和 Express 中设置 TypeScript(2023)