开发一个自主软件的美好愿望可以理解,但所有开发人员不得不面对这个问题_风闻
正动学术权威-11-15 16:00
【本文来自《中国制造业硬件科技水平超美没问题,但美国的真正实力是“软件帝国”,差距极大》评论区,标题为小编添加】
- 天天看:
- 作为软件行业从业者,说点感受。
当我们说软件产品的时候,不是仅仅coding编程序的事(虽然我们coding真做得规范的开发人员比例也不高。coding不规范的原因多数是缺乏条理、缺乏逻辑、还有就是语文太差…反倒因为英文差的原因很少)。谈软件产品,更重要的软件产品的输出。
中国的软件从业者开发了大量项目,并且在不断地、重复定制开发更多项目。但真正形成软件产品,能在行业复用的,凤毛麟角。软件产品能力在整体上,与外方差距太大。好的软件产品经理凤毛麟角,软件体系化思维极为缺乏。相对应的,通用软件市场本身都缺乏。产品做得差难以形成通用软件市场;市场容量小难以养出持续发展的产品。双向奔赴,形成了一个相互伤害的恶性下降螺旋。
我们的软件市场,在toC领域(面向个人)还是有一些拿得出手的产品的。比如微信、TikTok、王者荣耀(游戏)等类别。我们人口基数大,个人应用软件小额支付容易买单,累计回报大,容易养活产品和公司,持续迭代优化产品。但在toB(面向企业)或专业领域,则太过荒芜。能看到的市场取得成功的软件实在太少,鸿蒙OS、中望CAD、金蝶财务软件、广联达工程报价软件…企业级市场,通用软件在国内的生存太难了。
市场角度讲,软件产品差,有市场价值认可问题。很多年前有个经历,某政府单位招标一个内部业务管理系统。也就是俗称OA系统(自动化办公系统,多为内部业务审批,比如请假审批或特定业务审批)。我们中标了,项目启动会领导明着说“这个OA系统嘛,我们市场上买一套也就10来万。我们这标是给了80万的。很简单,我们要定制一个我们单位专用的系统。我们单位业务是特殊的,通用OA肯定不好用,所以要定制…”这大概是toB市场甲方最常见的心态。近些年,这方面情况有一定改观,但离让更多通用软件产品有一个好的市场生存环境,还是差很远。当然,这种状态也不能只怪甲方。我们通用软件做得差,很多软件产品一看就是项目里剥出来或开源软件改的。离一个成熟商业软件差很远。于是,就形成了市场买单者不待见所谓“软件产品”;软件从业者大量在做定制开发项目,更加“不会”(能力和意愿双重“不会”)做通用软件。
软件产品本身来说,软件产品差,最关键的是缺乏合格的软件产品经理。比尔盖茨从微软董事长位置上下来,就自称要改任微软的首席产品经理;乔布斯在世时大概是苹果真正的产品经理,他脾气坏的恶名就是在一次次抠苹果产品细节时咒骂手下白痴;张小龙对腾讯最大的贡献就是领导开发了微信(虽然近些年可能迫于市场压力,微信也有产品恶化趋势)…我们整体上,有通用软件思微,能够作为一个软件创造者PO(Product Owner)去领导创造一个通用产品的人太少。有业务知识的,缺乏软件体系架构思维能力;有软件架构知识的,业务思维少得可怜。融会贯通者万里挑一。好歹有了这样的人,是否运气好,正好在一个可生存的市场,也很不好说。张小龙是幸运的,从Foxmail起步;马化腾慧眼识人,三顾茅庐请出山,在广州建个微信大厦专门给张发展微信,终有所成。
要真正提升我们软件产品能力,市场和从业者两方面都要努力。短时间难见改观。还是需要时间慢慢磨砺。
稍微负面一点的观点是,从民族个性上,认同软件架构根子上松耦合特质,愿意为松耦合付出代价者太少。中国人太聪明,觉得goto语句能搞定的事情,为什么要搞这么麻烦?封装、隔离,都需要成本(等同于生活中遇到路口红灯,左右看都没车,觉得为什么此时红灯就不可以过去?也等同于:微信那么大流量,为什么不做广告赚钱?)。这可能是我们难出优秀通用软件的底层原因。
…可说的很多,先提这些…总要美好结尾,所以,未来我们总会赶上美国的,先这么说吧…😁
通篇谈现象,没有原因分析,没有结论。粗略估算层主不像是互联网这卦的,像是信创这卦的,而且不像是一线工程人员说的话,不知道分析是否正确。另外行文细节的话,能提到“goto语句能搞定”也是令人忍俊不禁了,我没想到这么多年没见过的,现在还有人能以goto举例,估计是甲方经理吧,看你相关描述挺多的。
国内互联网大厂随便挑一家,入门级就按米哈游算,往上一只手数不过来,整体开发交付流程的架构、权限、持续集成都有深入探索和实践了,一线开发人员看来浩如烟海,也就是产品经理雾里看花才会觉得似乎如此不堪,实际上完全不是这回事。
至于企业级软件外商市占率大这个事很好理解,这个和技术无关纯粹是商业行为。中国人进入市场时市场已经是这样的了,除非你真有魔法,否则你没法穿越到纯蓝海市场的平行世界。开发一个自主软件的美好愿望可以理解,但所有开发人员和产品经理不得不问自己的一个问题是,市场上已经有车轮了,而且占据先发优势,产品成熟度需要多年的人工打磨。我们重新设计生产车轮是否有必要,更重要的是,我们能否收回开发成本?例如换成普通人能理解的说法,windows操作系统由全世界最优秀的工程师和资本打磨了30年,你说我要有个自主系统那当然可以,但你又要花多少年才能打磨到和人家一样的产品价值?然后你定价多少能让消费者更青睐你,又要花多少时间收回开发成本?
所以最后实践证明的解决方式是什么样?商业能解决的商业解决,商业解决不了的自主自然就出来了。windows现在还在用,adobe全家桶还在用,B端软件一样也还在用。各种B端软件无论做应用层的、做架构层的,国内初创企业都不少,甲方要不然就是企事业单位有相关要求要自主,这是政策引导的,另一类就是还是青睐海外大厂方案,毕竟人家成熟,而且你多花钱交了保护费,真出了问题不需要你背锅,自然也就没有创新优化减负等等的欲望,这是人性所致。最后一类,像典型华为的EDA软件,你实在是用不到了,人家不给你用了,你自己的软件马上就出来了,而且是真有战斗力真好用的,为什么好用很简单因为你真要依赖这个生产真要用这个了。
所以说到底,这些情况哪个是因为技术问题卡的脖子?