程序员有没有必要成为业务领域专家?
看到这个知乎问题时,我的思绪纷飞,往事一幕幕闪现在脑海里,等平静下来,内心变得很笃定。
于是,我做了如下的回答:
非常有必要。
1997年,乔布斯刚刚回归苹果不久,在开发者大会上,一名程序员当众质疑乔布斯不懂技术。
乔布斯,你是一个聪明又有影响力的人。但是很遗憾也很明显,很多时候你根本不知道自己在做什么。我希望你能用清楚的语言解释一下 Java 编程语言以及其变种是如何阐述 OpenDoc(开源技文档)内置的一些想法。等你说完以后,你能不能跟我们说一说你自己过去七年都干了些什么?
面对这样犀利的提问,乔布斯平静的喝了一口水,低头沉思了几秒,开口这样回答道:
有时候你能取悦一部分的人,但是当你想要作出改变的时候,最难的是某些事情别人做的是对的。我相信 OpenDoc 肯定有一些功能,没有任何其他东西能做到。我其实也不太懂,我相信你肯定能做一些样品出来,可能是一个小型的 app 来展示它的功能,最难的部分是如何将那些功能塞进更大的愿景里面,例如让你每年一个产品能够卖百八十亿美元。
我经常发现,你得从用户体验出发,倒推用什么技术,你不能从技术出发,然后去想如何才能卖出去。在座的没有人比我犯过更多这样的错误,我也搞到伤痕累累,我知道这就是原因,当我们尝试去为苹果思考战略和愿景,都是从能为用户带来什么巨大利益出发,我们可以给用户带来什么,而不是先找一群工程师,大家坐下来,看看我们有什么吊炸天的技术,然后怎么把它卖出去。
我非常认同乔布斯的话。
程序员有的时候沉迷在自己的世界里,执拗的以为“代码就是全部” 。
但现实并非如此,编码的目的是创造产品或者提供服务,从而在这个商业社会实现更大的价值。
而程序员成长为业务领域专家,能够更加深刻的理解公司的产品或者服务,从而更有优势为公司做出贡献。当个人的贡献上升时,公司的认同和利益也会随之而来。
这个回答一天内得到不少赞同,也是我意想不到的,因为我并不觉得我回答得好,看来很多同学都认可这个观点。
熟悉我的朋友都知道 ,我对技术非常有激情,曾经也认为技术意味着一切。
只是后来,工作中遇到越来越多的挫折,很多好朋友也友善的提醒我,不要太执着于技术,我也越来越认识到自己认知的局限性。
我不断的去读书、听演讲、思考,依稀之间得到一个结论:"一个 IT 公司的成功 ,技术固然是重要的一环,而公司的产品、用户人群、经营模式是另一个我很少关注且非常重要的维度"。
偶然间我看了乔布斯的一个视频,视频的两句话让我醍醐灌顶。
-
我相信你肯定能做一些样品出来,可能是一个小型的 app 来展示它的功能,最难的部分是如何将那些功能塞进更大的愿景里面
-
你得从用户体验出发,倒推用什么技术,你不能从技术出发,然后去想如何才能卖出去
懂业务是一种认知模式,人的能力是多层次的,技术和懂业务并非互斥的关系。
亲爱的程序员朋友,技术是我们的立身之本,但是业务同样重要 , 真诚的希望你做一个既懂技术又懂业务的工程师。
乔布斯视频地址:
https://www.bilibili.com/video/BV16v41157G2/?spm_id_from=333.337.search-card.all.click
如果我的文章对你有所帮助,还请帮忙点赞、在看、转发一下,你的支持会激励我输出更高质量的文章,非常感谢!