从事软件开发工作多年,我发现工作中,总有一些人能四两拨千斤,轻轻松松就做出良好的工作成绩,这些人总能想到一些与众不同的点子,在多数人迷茫彷徨的时候,拨云见日,冲出迷雾,找到一条新的出路来。我总结了一下,这些比较出众的能力,就是一种技术创新的能力。
我先讲一个故事,故事的主人公是Intel亚太研发中心的戴金权老师,戴老师是腾讯云TVP(https://cloud.tencent.com/tvp/member/105),也是Intel中国唯一拥有院士(Fellow)头衔的技术人员,还是Intel大数据技术全球CTO。
我认识戴老师是在2012年,当时正是大数据技术刚刚开始走红的时候,我去Intel面试大数据开发的职位。在大厅等待的时候,我看到墙上的大屏幕在循环播放一个人的访谈,这个人在讲大数据技术的历史、现状和未来发展。他说,我们正在对当前大数据技术进行一次重大的技术创新,这次创新将会使大数据处理性能提升几十倍上百倍。
我当时就想,这个人不是在吹牛吧?我也做过性能优化,有时候优化提升个百分之几十就不错了,能提升几倍已经是奇迹。他这个直接就几十倍上百倍,简直不可思议。就在我胡思乱想的时候,HR过来带我去会议室,边走边跟我说,屏幕上的这个人就是今天面试我的人,如果顺利,将来他就是我的老板。
当时我的感受有点复杂,既有疑惑,也有期待,还有一些兴奋。当然,后来一切顺利,我加入Intel,成了戴老师团队中的一员,也确实见证了大数据技术处理能力上百倍的提升,那就是Spark代替Hadoop成为大数据处理的主流技术方案,使包括机器学习场景在内的大多数大数据处理性能获得了极大的改善。
Spark不是戴老师设计出来的,但是Spark后来能够如此成功,戴老师在其中发挥了重要的作用。在当时,Spark还仅仅是UC Berkely AMPLab实验室博士生Matei Zaharia的一个博士项目,戴老师一次偶然的机会了解到这个项目,马上意识到,这个项目可能会对大数据技术产生一场革命性的影响。于是就去和AMPLab谈,希望Intel加入合作开发Spark,并推动Spark开源。
这是一个多赢的合作方案:Spark得到业界巨头Intel的支持,可以快速扩大知名度;Intel借此成为第二次大数据技术浪潮的重要玩家,可以提升业界影响力;而整个大数据行业都将因为突破性新技术的诞生而获得更多的利益,创造更大的价值,成为当时此起彼伏的全球科技创新浪潮中的一浪,带动全球经济的发展。在今天这个全球经济萎靡,科技创新乏力的时间点,回首当时的情况格外让人感慨。
当时我去面试的时候,正是戴老师带领Intel大数据团队参与Spark开发,各项技术指标符合预期,项目即将开源新版本的时候,所以戴老师才会如此信心满满,宣布要实现大数据技术上百倍的性能提升。
我想Matei设计出来Spark当然是一种技术创新,但是戴老师慧眼识珠、敏锐地注意到Spark的价值;参与Spark的开发;推动Spark获得成功,何尝不是一种技术创新。对于我们普通软件开发者而言,戴老师的这种深刻把握技术发展趋势、寻找最佳技术突破时机和落脚点、整合自己和外部优势、推进实现价值最大化的技术创新能力更具有学习、借鉴的意义,更容易在自己的工作中得到应用实践。
后来,我又观察了一些技术高手的创新过程,总结出这样一个技术创新的原理:
创新不是要做别人做不到的,而是要做别人没想到的。
我们大多数人遇到的技术问题,都不是什么相对论、核聚变之类的改天换地的大问题,而是如何用更高效的方法、更低廉的成本、更快捷的手段,解决日常开发中遇到的各种问题,突破日常开发的局限,打破职业和工作的困局,开创出新的工作和发展道路。解决这些问题、实现这些目标,如果用日常习惯的方法,就很难走出新的道路。但是如果寄希望掌握某个别人都不会的独门绝技、做一件别人都做不到的事情,那又无异于异想天开,也无助于提升我们的创新能力。
我们更应该做的是跳出日常习惯的束缚,思考问题的本质,寻找别人没有想到、而又确实通往解决问题之路的那扇隐藏着的创新之门。
正是因为没有创新,你会的我也会,你用的方法我也用,所以大家都如此相似;又因为如此相似,所以彼此只能低水平竞争,也就是俗称的卷。那么又是什么阻碍了我们获得创新能力,让大家彼此重复对方,又互相拼命卷来卷去的呢?我总结了阻碍创新的三大障碍。
我工作这么多年来,经历过很多公司,参加过很多次技术会议,就我所见,几乎所有的技术会议都没有有意识地讨论过一个主题:这个会要解决的问题是什么?
很多时候,会议一开始就讨论解决方案。有的会议上,产品经理上来就说我们需要一个什么样的功能,请技术部门给一个技术方案和工作量评估,至于这个功能用来解决什么问题,给用户或者公司带来什么价值,几乎很少说明。有的会议上,架构师上来就说我们打算推广一个什么样的技术,请相关技术团队配合,至于这个技术用来解决什么问题,给用户或者公司带来什么价值,也几乎很少说明。
所以,这样的会议,讨论的重点就是解决方案本身:这个功能怎么做,这个技术怎么应用落地。而不是讨论真正的问题是什么:为了解决真正的问题,这个功能是不是必须要做,有没有更好的解决办法;这个技术是不是必须要上,能不能带来足够的价值。
这样的会议,即使有争论,争论的也是解决方案本身,而不是问题。关于解决方案的争论又往往陷入各种细节之中,经过一番讨论,更加不知道要解决的问题是什么了。
如果你不了解真正的问题是什么,你又怎么可能提出创新的解决方案呢?
这个障碍某种意义上说,是上面第一个障碍的延续。因为如果你只找到一个解决方案,那么你就还没有理解你的问题,你所理解的问题,其实和解决方案混为一体了。
开发人员拿到一个需求,就着急想要写代码来实现。但是这个需求要解决的问题真的必须要用技术来实现吗?运营上有什么手段可以解决这个问题吗?产品上呢?就算是需要技术来解决,前端能不能解决呢?后端呢?即使最终确定是需要你来写代码实现,只是在现有代码里插入代码解决问题呢?还是趁机将相关代码重构,用更简洁的方法解决问题呢?
我这里举例思考是不是自己要解决的问题,不是在叫你将问题推出去,恰恰是希望你能意识到问题解决方案的多样性,在多样性中寻找创新的道路,最终不止解决提给你的问题,还能解决关联的其他一系列问题。当你每次遇到问题的时候,看到的不是唯一的解决方案,而是纵横交错的解决方案之网,你就开始洞悉事物之间真正的规律,打开创新的大门了。
如果你相信每个问题都只有一个答案,而这个答案已经在你手里了,你又怎么可能找到创新之路呢?
这个障碍其实又是上面一个障碍的延续,因为相信只有一个解决方案,而自己已经掌握了这个解决方案,那么为什么又要折腾呢?于是不断用自己熟悉的方式重复解决自己熟悉的问题,当有一天技术革新的潮流涌到自己身边的时候,已经没有能力接收新技术了。或者公司找了更加年轻、更加能干的人替代自己的时候,发现自己确实没有什么竞争力了。
重复自己是容易的,走出舒适区是困难的。走出舒适区最好的时机是一开始就不踏进舒适区,不断寻找新的目标和新的解决方案,让自己的人生每一天都是崭新的;次好的走出时机就是现在:思考自己每天在做的工作,这些工作究竟在解决什么问题?有没有和现在不同的解决之道?感受真正解决问题、不断找到新方法的快乐。
除了有意识地在日常生活和工作中克服这些障碍,也可以持续地训练自己的创新能力,这里我也给出几个自己的建议:
软件开发领域不断有新技术诞生,各种编程框架、工具、语言层出不穷,版本也不断迭代变化,软件开发人员需要不断学习新技术,这种学习过程本身就是一种训练自己创新能力的过程。学习不仅仅是学习如何使用一个新技术,还要思考新技术的特性是什么?为什么要推出这个特性?这个特性背后的原理是什么?优缺点是什么?在思考这些问题的过程中,很多创新的点子也就会不断涌现出来,自己的创新能力也会不断获得提升,技术实力和未来的职业前景都会越来越好。
同时,也要把学到的技术应用到自己的工作实践中,一方面这些应用新技术的过程本身就是一种创新,另一方面,实践的过程有会使自己对技术有更深刻的领悟,也会启发出新的创新思路。
软件技术人员通常都是应试教育的胜出者,多年成功的应试教育带来这样一个思想钢印:所有的问题都有一个标准答案。上学的时候,每一个问题都急于寻找一个标准答案,工作以后也是如此。但是标准答案里不可能有创新。
创新者需要建立一个信仰:
任何真正的难题都必然存在一个还没有被人发现的更好的解决方法。
即使现在还没有找到这个更好的解决方法,但是信仰的存在可以促使你注意到现有的标准答案的缺陷,当有独辟蹊跷的闪光出现的时候,你会一瞬间意识到:更好的解决方法就在这里。前面故事里戴老师第一次见到Spark的时候,
同时寻找更好的解决方法也会促使你思考真正的问题是什么,有时候我们找不到更好的方法,是因为没有意识到真正的问题是什么。
创新很多时候不是一帆风顺的,有时候还会面临很多的挫折,甚至在付出了巨大的努力之后得到的却是失败。如果你的创新目标就只有创新这件事情本身的成功,那么当你连续几次创新失败的时候,你可能就会陷入自我怀疑,放大创新的难度,否定创新的价值。
比如你开发了一个创新的软件开发效率提升工具,可以提升公司开发人员的工作效率,但是你一番推广,最后响应者寥寥,只有几个比较熟悉的同事使用了你的工具。那你的创新目标是不是失败了呢?如果你的目标是在公司普及这个工具,让自己一跃成为公司的技术大牛,那么可能确实是失败了。
但是如果你一开始就为这个创新寻找了多个目标,比如:
1. 研究工具型软件的开发方法和过程,提升自己的技术能力
2. 在社区开源,让更多的开发者加入开发并推广到更多的公司
3. 发表关于这个工具的文章,在软件技术大会上进行相关的主题分享,扩展自己的业界影响力
4. 跳槽到某个专门开发工具型软件的公司
5. 了解公司的政治格局、熟悉公司对待创新的态度、寻找喜欢创新的同类人
6. ......
你会发现,你在公司推广应用这个工具的主要目的,反而变成了次要目的。公司的推广经验成为你工具落地实践的案例,推广过程中挫折成为你改进工具特性的反馈,推广时和不同团队打交道的体验成为你将来转向管理时候知识储备。这时候你还会觉得自己失败了吗?
创新会失败,但是创新者不会失败。
他们总能从创新中得到意想不到的回馈,自己也在一次又一次的创新中,变得更加强大。
内卷的核心原因就是低水平重复,中国几千年王朝周期律,因为没有生产技术的突破创新,生产力也在一个较低的水平上重复了几千年,一个个王朝兴起又覆灭,人民的生活时而安定,时而动荡,整体生活却是在一个较低的水平上不断重复。中国农民付出了世界上最辛苦的劳作,却并没有得到与之相对应的生活水平。
内卷看起来很辛苦很努力,但是得到的回报却是极低的。能够摆脱低水平重复内卷的唯一方法就是创新,革命性的创新开辟出一条阳光大道,让一大批人脱离原有的内卷,创造出比原来大得多的价值,让所有人获益。而个人的一个微小创新也可以为自己开辟出一条小径,摆脱周边人的内卷,获得独属于自己的价值和回报。然后,这样一个又一个的微小创新,就构建起了自己的事业成就和幸福生活。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。