翻译 :刘昕程序员
欢迎访问网易云社区,了解更多网易技术产品运营经验。 编程
最近,我在Twitter上发布了一条状态(以下图所示)——我在考虑写一些东西,是关于如何从一个软件开发人员到一个软件咨询师。不少人老是问我这个问题,这确实是一个有趣的话题。你们对这条推特的热情回应也让我受宠若惊,深受鼓舞。安全
(这周我又在为写书而痒痒——软件开发人员如何成为软件咨询师的一本指南书)服务器
我在考虑这些内容的最佳载体。我能够再写一本书,或者作一些视频课程或者一些列的小课程。可是不管我用什么方式,我都须要在作这些事情前先把关键内容列出来。我将在这方面进行深刻的研究。但我想说,成为一名软件咨询师有基础的、哲学上的关键点。今天我想谈谈这个问题。学习
软件咨询师,和软件开发是有区别的测试
这里没有导语(直接开始)。我为你们提供的建议是基于我(给你们看的)全部内容基础上。你可能不会喜欢它。或者,你至少会认为它应该让位于其余建议,好比“更多同理心”或“问不少问题”之类的。可是,没有。网站
不要让潜在的咨询客户为你编写的代码付钱。编码
认真讲,这是你从软件开发人员到软件咨询师的过程当中最基本的部分。其缘由在于,成功的咨询顾问都会慢慢明白的一个点:定位。目前人们谈论定位都是谈在市场营销中,经过定位把本身与竞争者区分开来。在这里我想说的是,将你本身与你习惯作的事情区分开来(所以,与你应该中止把软件开发人员当成你的竞争对手)。.net
让我像往常同样用叙述的方式来给你们解释一下这个观点。翻译
(译者注:这段意思是,若是你想成为一个软件咨询师,就要明白本身的定位。不要让你的潜在客户为你的代码买单而不是你的咨询服务买单,不要总想着和软件开发人员竞争)
达芬奇:文艺复兴时期的水管工
不管怎么看,列奥纳多·达·芬奇都是世界上最伟大的人物之一。在他不一样的成就中,他画了《蒙娜丽莎》,设计了一辆坦克,在人体解剖学方面取得了重要的贡献。但让咱们这样假设吧,在一个相似于“比尔和泰德历险记”的特别剧情中,他穿越到500年后的将来,也就是现代世界。
即便是像达·芬奇这样伟大的人,无疑也须要一点时间来适应现代社会。因此咱们假设,当他学习现代语言、技术和文化时,他找了一份水管工的工做。
假设你碰巧有一个水槽漏水的水龙头,你打电话给达芬奇的管道公司寻求帮助。他们马上派达芬奇到你这里来看一下,帮你一把。
这样达芬奇来了,由于他是达芬奇,他立刻就发现你的供给线有点松了。他把它收紧,你对这个结果很满意。
被忽视的达芬奇
在你的鼓励下,达芬奇的眼睛闪闪发亮。他作了一些心算,告诉你若是你采用一种反直觉的饭后清洗餐具的方法,你的水费会减小15%。他接着告诉你水费减小的原理。同时,他还指出,你厨房墙上的画和房间里的画不太匹配。
面对天才达芬奇教你如何更好洗碗的方法并帮助你的艺术,你会怎么作?你微微一笑,应和着,而后心里想:“把水槽修好,赶忙离开这里。”你这样作是绝对正常的反应。
为何?由于你并不知道他是达芬奇。你只知道你雇了一我的来修水槽,可是如今有人主动给你洗碗、还提供装修房子的建议。你雇佣他来执行劳动,而你却获得了他对你生活的建议。
被忽视的软件开发人员
若是在读文章的你是一个专业的软件开发人员,均可能像达芬奇同样。你懂的若是你的公司减小科技债务将会运转的更好。您能够很容易地发现,管理的瀑布式“方法”是无效的和使人痛苦的。并且,虽然你不是专家,你甚至知道公司的品牌和销售策略是无效的。
你提出建设性的反馈,但没人听。你是达·芬奇,可是被忽视了。我不是在讨好你。您必须聪明地以编写软件为生,在我采访的每一站中,软件开发人员都有很好的想法,这些想法远远超出了IDE的范围。一般,管理层要么随便应和,要么干脆无视他们。你能够把这归结为“亲近感滋生轻蔑”,但这实际上是我以前提到的“定位”理论。
管理层雇佣你来执行代码编写工做。你不请自来的意见不是工做的一部分。由于你很受欢迎,人们会对你微笑、点头和应和。但他们其实不在意你的见解。这就是软件开发人员的现状。把大家的建议归档到我办公桌旁边的小垃圾箱里,只是用“建议”标签取代“垃圾“标签””。
被忽视的将来软件咨询师
假设你厌倦了这种状况。你喜欢这个行业和软件,但你想要更多的影响力。管理不适合你,但“咨询”适合你。也许你会出去作自由职业者,或者你会去一家软件“咨询”公司工做。如今,状况就不同了。如今,人们会听你的建议。
而后,让你极度沮丧的是,状况并不如意。即便你的头衔和名片上写着“咨询师”,人们仍然会笑着地对你说,“不管如何,伙计,只要编写规范就好了。”
怎么回事呢?实际上,很大一部分问题在于咱们的工做领域中“咨询师”一词被用烂了。在你的客户的网站上,不管他们是亲自给CIO提建议的人,仍是把本身封闭在一个空间里编写存储过程的人,没有和客户进行W2协议的人都叫作“咨询师”。
更糟糕的是,每一家作定制应用程序开发并称之咨询的公司都以“咨询”为本身定位。“哦,个人天。咱们的顾问不只仅是程序员——他们编写代码,还提供领导力和建议。
这彻底是意料之中的事,以致于一些客户可能会以为听到这样的商店或人们说:“不,咱们只是把范式变成代码。”“谢天谢地。我终于不用听管道工谈论我对墙壁装饰的选择了。
给本身一个真正咨询师的定位
所以,让咱们来审视软件咨询师的状况。全部“咨询师”对人们的实际含义是,你是在为一个不会给你发W2的人工做。可是,若是他们胜券在握,就会发现,无论有没有人想要,你代码是为一个不会给你发送W2可是会提供不少意见的人写的。通常软件咨询师的角色和默认定位是“自觉得是的,高于通常开发者”。
如今对我将来的书或课程感兴趣的人其实是想成为咨询师的人。公司不为劳动力(或代码)支付咨询师费用;他们付钱给咨询师征求他们的意见。这就是问题所在。若是你以软件咨询师之类的身份介绍本身,你默认的定位是“编码者”。可是,为了实现你的目标,你须要把本身定位成一个真正的咨询师,并从咨询中得到报酬。
虽然有许多细节观点能够推进你朝着这个方向前进,但要注意一个基准点——不要让你的客户付钱让你写代码。
在一个每个为另外一家公司编写代码的软件开发人员都是“咨询师”的世界里,你能够经过不为报酬编写代码来将本身定位为真正的顾问。这样没有人会把你和专业程序员混淆。
隐喻医学
《抛弃小时》和《自由职业者秀》的乔纳森·斯塔克(Jonathan Stark)用一个很好的比喻来帮助你理解定位的概念。我将在这里用它来讲明咨询和劳动(即编写代码)之间的主要区别。
他谈到了为公司解决问题的四个阶段:包括诊断,开处方,应用治疗,和从新应用治疗。软件开发人员和大多数所谓的软件咨询师几乎只参与第三阶段:应用。但这是一个杠杆率很低的阶段。咨询师几乎只存在于第一和第二阶段:诊断和处方。他们让劳动者(即编码的程序员)负责第三阶段,甚至更低的地位劳动者负责第四阶段。
从其余知识工做者的角度来考虑。你带着一种疾病去看医生,医生发现了这种疾病并开了处方。可是若是须要天天用这种药在你的脚底擦5次,这个医生也不会处理这个事情(给你擦药这个事情)——这低于他的工资标准。而是你本身擦药,或者雇个按摩师什么的帮你擦药。
当你以软件“咨询师”的身份负责代码时,你会告诉别人你从事的是诊断和处方的工做。但当具体实施的时候,你几乎把全部的时间都花在人们的脚上,而且详细地讨论(“咨询”)操做的最佳方法。【译者注:这里做者用了一个比喻“橡胶和路”,意思是和“药膏”一个意思,表示不该该注重如何给患者上药,而应该聚焦于第1、二阶段的咨询工做。这里翻译的时候直接去掉了这个一句话的隐喻】
如今,想象一下这样一个行业,诊断医生和奴隶贩子都自称医生。因此当你须要诊断的时候,你会本能地去寻找那些手上没有粘东西(没有帮人擦药)的人,这样就能分辨出不一样(没有擦药的就是医生)。
警告
首先,让我立马理清一下。我实际上能够本身写评论。有人会读这篇文章,而后说,“我是一个为个人客户编写代码的咨询师,可是个人客户实际上会咨询我是否应该采用Scrum(敏捷开发),并采起个人意见。“是的,我相信,就像我相信管理层有时确实会听取软件开发人员的意见同样。这种状况会发生。可是,若是你只是告诉他们是否采用Scrum,那就彻底不一样了。【译者注:管理者偶尔会听取程序员的意见,但偶尔听取与只提供意见服务不一样】
其次,你能够以协助的角色去编写代码。教练和培训师是很好的例子。记住,我说过不要让别人为你编写的代码付钱。公司不会为了写代码而付钱给培训师,而是为了让培训师向他们的团队展现如何编写代码。做为区分的原则,能够问问本身客户是否依赖于你编写的用于生产的代码。若是答案是确定的,那你就是在涂足胶(也就是医生擦药),而不是在诊断。
最后,我不会质疑,有些人走这条路可能不只仅是昙花一现的成功。也许不管他们走到哪里,他们都会挽起袖子,整个上午都在摆弄代码,而后走进CIO(首席信息官)办公室提供策略建议。我历来没见过这种状况,也没见过相似的状况,但这是有可能发生的。或者,更有可能的是,有人为一些客户提供咨询,为另外一些客户提供代码。不管如何,有些人可能会成功地永远走在咨询编码员这个方向,并对他们有益。但我能告诉你的是,这是例外,不能做为参考。
咨询的内容要多得多,但这是你的开始
正如我在文章开头提到的,如何成为一名成功的软件咨询师这个问题我能够写满一本书或者作一整个课程。从软件开发人员到软件咨询师彷佛很简单,但这其实很表面(做者用了“fools’gold”表示不是真材实料的、表面上的)。你接受“咨询”这个极其松散的定义是很容易的事情,但若是你真的想经过提供专家的意见、诊断和处方,而不是编写代码而得到报酬,那就不容易了。但你就有了一个很好的学习和技能学习的机会。
那么,为何在全部原则中,我选择“避免编写代码”做为基准原则呢?正如我一直说的,定位本身是关键,这是你摆正本身位置最好的地方。为了获得诊断费,你须要有人向你问诊,而不是让你在他们的脚上涂药就叫诊断。
另外,还有一个更微妙的理由让我强调不要编写代码。编写代码是使人满意的,有趣的,并且很是有市场需求的。所以,找到付钱让你写代码的人是很是容易的。他们很是须要你的编程技能。若是你想被称为“技术代码的CEO”,他们甚至会叫你“技术代码的CEO”。你有现成的拐杖(译者注:相对咨询,提供编码你有现成的市场和基础,会更容易)。
拒绝为客户编写代码意味着强行移除拐杖。这样作,你就像一个飞到国外的非母语人士,只有经过沉浸式学习来学习。你没有拐杖,也没有选择,只能去解决它。您能够在业余时间为兴趣编写代码,并践行您的想法。但若是你想认真考虑成为咨询师,那就须要中止这样作(写代码),这样你就能够开始诊断了。别让他们为你的代码付钱。
原文:https://daedtech.com/key-becoming-software-consultant/
免费领取验证码、内容安全、短信发送、直播点播体验包及云服务器等套餐
更多网易技术、产品、运营经验分享请点击。
相关文章:
【推荐】 论用户体验测试:牛逼的功能千篇一概,好的体验万里挑一
【推荐】 消息中间件客户端消费控制实践
【推荐】 【译文】抽象漏洞法则