这是上个月同事问我的一个问题,由于时间问题未能回答他,但我答应他我会写一篇文章出来告诉他我是怎么想的。
在我多年的工作中,很多时候我会遇到一些类似“不就用增删改查几条SQL的事情吗”的客户。查理·芒格跟我说,说服别人要诉诸利益而非理。我不可能搬出一套严格的软件工程理论去跟客户争辩,而是结合他最核心的利益点以及我个人最大利益点中取得平衡。每个人都会以自我为中心点出发做事情,有些人可能愿意接受改变,但有些人宁死不屈。所以,我们学习基础理论的东西不是为了说服别人自己是对的,更多是作为风险以及收益的判断标准。我自己在自我改变的实践中都那么艰难,更何况去改变别人。所以,做好一件事情更多需要在多方之间达到平衡点。参与方越多,沟通成本越高。这也是我上一篇《我是如何降低项目的沟通成本?》出现的原因。
其实远不止客户,就连自己的领导也会犯类似的错误。过去太远的“账”我就不翻了,就在上一周的内部讨论会议当中,我领导竟然把“沟通协调能力”等同项目经理的“管理能力”。当然,他可能会受到各种上下文的关联搜索才会出现这句话。但,他的这个意识是存在的。没事,上司的问题就是我晋升的机会,这个公司也因此才有我的存在。很多时候,发现自己不在诗和远方,而是眼前。了解别人,不需要去给每一个人派调查问题,深入了解自己即可,外国人也说了:“People are the same”。了解其他企业的问题,也不一定需要频繁跳槽。把自己企业的问题挖掘出来,才发现,压根没有跳槽的机会。
价值是在交换中产生的。所以看到了市场痛点,那就是自己的机会。一个人的力量太小了,需要团队的力量。我现在从事的是IT服务,所以IT领域能力是我的核心价值力量。我不擅长项目管理,我可以聘请项目经理;我不懂设计,那我可以找设计师合作;我没那么多时间开发,我可以找开发工程师等等。IT领域的基础理论让我知道如何服务好别人,我需要懂计算机原理,我需要懂软件方法,我需要懂项目管理过程,我还需要懂点客户心理。我每一样都懂,但不代表我事事亲力亲为。因为我同时懂点经济学知识让我更能理解如何通过分工合作降本增效。
前几天面试了一个应聘我们需求分析师职位的某211大学毕业的女孩子。在聊天当中,她告诉我觉得需求分析师比什么UI设计师需要更高的综合能力。换句话说,她觉得需求比其他职位更牛,所以她更想挑战。这个女孩子刚毕业,还很年轻。但年轻不是理由,如果不出“意外”,这位女孩的这个观念至少会在5年甚至10年以后都未必会有所改变。因为,这是我从自我改变的难度当中推断出的这个概率时间。这种以自我为中心的主观想法太常见了,我家人会这样,我朋友会这样,我领导和客户都会这样,跟学历、年龄无关,这是一种很“正常”的现象。
回到岗位上,每个岗位是每个人的起点,起点可以不一样,但需要的综合能力不能因为岗位的差别而否定的综合能力的需要。我在《我是如何降低项目的沟通成本?》已经强调了,分工是突破个人能力的局限,跟做一个全栈人毫无冲突。我还经常听到一些关于程序员普遍闷骚等说法。表面上看似一种玩笑,实际上就是一种自我暗示。暗示多了,观点就入脑了。人最终的竞争力无非解决问题的能力。在价值交换面前,岗位都是那么的一文不值。千万不要用“岗位”去定义自己的未来,很容易局限了自己价值的挖掘。很多人在跳槽中薪资越跳越高,但价值发挥的空间却越跳越窄。岗位的背后其实就是你解决问题,或某些问题的能力。向宽处行吧,兄弟。
我现在的工作更多是专注于如何提高自己和同事的每一行代码的单价,但我不局限于向未来按自己说话分钟收费的方向去努力。我不知道我这篇文字能否回答我同事的那个问题。