2月5-7日QCon全球软件开发大会携手100+位大咖讲师落定北京,点击查看完整日程>> 了解详情
写点什么

日本软件业烂透了!谷歌日本高管揭秘回顾那些被遗忘的错误

  • 2023-01-11
    北京
  • 本文字数:4916 字

    阅读完需:约 16 分钟

日本软件业烂透了!谷歌日本高管揭秘回顾那些被遗忘的错误

如今,似乎人人都在吐槽日本的软件质量不行,但究竟出了什么问题?近日,Google for Startups Japan 负责人 Tim Romero 撰写了一篇文章,带大家一同回顾整个时代脉络,特别是日本迷失方向的特定时刻,并希望以此能让大家看清软件发展的规律和逻辑,理解万事万物此消彼长、不断变化的底层原因。也许这会给大家带来一种全新的、更具启发性的日本软件行业审视角度。没错,请做好准备,迎接这出涵盖迷失与清醒、重生与救赎的精彩大戏。

 

烂摊子的起源

 

日本软件确实有问题。按国际标准来判断,简直可以说是糟透了。这事我们都知道。但有趣的是,状况恶化成这样却有其合理性……没错,很糟糕,但整个过程相当符合逻辑。

 

其实决定日本软件行业命运的时间节点,比大家想象中要更早。

 

不仅是二战末期,我们得一路回溯到明治维新开启后的那几年,即 1800 年代末期。那个时候,整个日本的经济已经由财阀所主导。如今,“zaibatsu”这个词常被翻译成“大型企业集团”或者“家族控制的企业集团”。但更确切地讲,应该称之为“财阀”。在上世纪之交,存在住友、三井、三菱和安田四大财阀。日本战败后,财阀被重组成了另外一种不如原先强大,且更为现代人所熟知的形式,即经连会。从 50 年代到 70 年代,这些经连会团体创新、颠覆并主导着日本几乎所有行业——从汽车、相机、机械零件、钢铁、半导体、手表到家用电子产品。

 

可那时候的经连会,在软件开发方面表现如何?其实,也相当不错。

 

但这里有个前提,60 年代和 70 年代的软件行业跟现在完全不同。软件开发流程本身倒是没多大变化,Fred Brooks 撰写的不朽巨著《人月神话》就是当时的产物,他在那个年代总经的经验至今仍然指导着软件工程与项目管理思维。

 

最大的区别,体现在软件的买卖方式上。在 60 到 70 年代,软件是专为极度昂贵的特定硬件所编写,软件需求属于整体采购合同中的一部分。因此软件本身并不是独立的产品,而更像是一种服务,类似于现在大家熟悉的集成、培训和持续性支持与维护。当时的软件大多按时间和开发成本计费,有时也会免费赠送的方式向客户让利。真正用来赚钱的是硬件。

 

不光是日本,当时全世界的软件都以符合规范为第一要务。有没有创造性、创新性,易不易用或者优不优雅并不重要,但千万不能有违既定规范。事实上,在那个时代开发卓越软件的行为被视为一种资源浪费。毕竟产品都卖了、合同也签了,你玩命折腾软件是要干什么?跟如今的很多系统集成项目一样,当时软件开发的目标就是别出毛病、让客户能接受。

 

这就塑造出了“好”软件的定义:符合客户既定规范的软件,就是好软件。

 

日本的经连会在大型机时代表现不错。尽管富士通、NEC 和日立在整个 60 和 70 年代仍不足以真正挑战 IBM 和 Univac 的全球霸权,但其微型计算机和大型办公系统的表现已经堪称可圈可点。

 

日本,对新兴产业说不

但随着 PC 革命在 80 年代后期到来,整个日本工业猝不及防。而且个中缘由,可能跟大家的设想有很大出入。日本软件开发之所以在整个 1980 年代都停滞不前,绝不是因为缺少才华横溢的软件开发人员。相反,这是经连会存在所引发的必然结果。从商业要素来看,个人计算机代表是一块全新的市场。虽然其核心技术和硬件是上一个时代的直接延续,但市场本身的属性却完全不同

 

个人计算机市场源自少数标准化操作系统加多种硬件架构的联合。经连会在硬件这个层面做得不错,开发出了一系列令人印象深刻的机器,特别是笔记本电脑。但非标软件这东西超出了日本企业的惯有认知。做个软件得取悦客户?还得在对方没想明白自己要什么之前,就拿出符合他们需求的设计方案?种种新基准把这些经连会的企业一下子整不会了。

 

历史的车轮滚滚向前,这时候的这些大企业站在非常有利的市场地位上,完全有机会从头开始重塑符合 80 年代特性的软件产业。但问题是,他们为什么要从头开始?日本的经济在 80 年代处于有史以来最繁荣的时期,经济学家甚至预测日本的 GDP 在十年内就将超越美国。有了一个利润丰厚且安全稳定的国内市场,企业们认为专注于赚这笔钱,可比在充满不确定性的新兴全球市场上冒险下押更有意义。

 

每个经连会团体都有自己的技术企业,他们也在销售 PC 和软件。其中一部分面向消费者,但主要收益还是源自企业级市场,靠整合加定制业务就能给经连会带来超额收益。这就是最可悲的现实——作为“面子”的大型系统集成商一直在国际市场上奋力搏杀,但作为“里子”的日本软件公司从来没有亲自登台与全球对手一较高下。

 

创新枯竭的起点

80 年代到 90 年代的日本软件产业,仍然保持着大型机时代的特征。软件的意义还是够用、客户能接受就行,而且因为服务的主要是内部企业或兄弟企业,所以“能接受”的标准跟全球同行相比确实偏低了。即使存在一些“小小”的软件缺陷,下阶段再修复就行了。

 

这时候的软件开发仍是表单上的一栏,打上勾、客户确认可以并签下合同,功能就算实现了。

 

这不仅导致日本错过了全球软件产业,同时也标志着日本整个产业创新体系的崩溃起点。

 

在接下来的 30 年间,软件成为创新和效率的关键驱动力。而日本这种将整个 IT 战略外包给单一集成商的做法,几乎必然导致各个行业的发展节奏都落后于技术前进曲线。时至今日,日本好像还是没能回过神来,大多数企业系统仍落后于全球竞争对手几十年。

 

那么,80 和 90 年代在日本当一名软件开发者是种什么感觉?

 

感觉很差,因为人们普遍认为软件开发是种低技能工作。这类岗位报酬不高,甚至被归入文书工作的范畴。人们只是简单编写软件,确保销售在酒桌上跟客户谈好的合同能顺利签下来就行。

 

很多文学、商学和法学出身的新员工都在软件开发岗上工作过,这是要让他们了解公司内不同部门的运作方式。软件开发本身没有真正的职业道路,虽然也有相应的项目管理或者销售岗,但如果一个人 30 岁了还在写代码,那肯定是哪里出了问题。

 

当然,日本也有不少伟大的、极具前瞻性的软件开发者,我也认识好几位。他们真正想要让计算机获得突破性的能力,也意识到软件技术正在颠覆各个行业

 

如果你恰好是这样的优秀开发者,那整个 80 和 90 年代对你来说一定是段不堪回首的痛苦岁月。

 

有趣的是,硬件工程师的感受截然不同。无论是过去还是现在,硬件工程师在日本都备受尊重。无论是丰田、三菱还是索尼,大家最看重的永远是这部分工程师。

 

所以日本的硬件创新在 80 和 90 年代仍然如火如荼地推进。随身听和任天堂游戏机在全球取得成功,日本国内市场上的电子词本、电子词典等产品也远远领先于海外市场,这就有了“日本人总是把最好的留给自己”的说法。对了,还有 i-mode。日本消费者在黑莓发布的几年之前就已经能在移动设备上发送邮件和浏览网页,比 iPhone 早了近十年。

 

大厦崩塌

 

但日本之外的整个世界都在疾步前行,从专用硬件配专用软件,转向在标准硬件上运行创新软件。Marc Andreessen 对此做出了恰如其分的描述,“软件正在吞噬世界”。

 

随着互联网泡沫的膨胀,日本终于意识到自己也需要有才华的软件开发人员。但因为各个行业都不重视这个群体,所以大企业也不知道哪里有合适的人选。最优秀的人才往往得不到认可,被困在组织结构的中低层次,未来的发展空间也不大。不受尊重加上待遇偏低,很少会有日本学生主动选择软件工程专业。

 

尽管形势很差,但也有些人纯粹出于兴趣选择了这条道路。这就像学音乐和学绘画,他们只是在追寻自己的梦想。确实有可能成功,只是几率非常非常低。

 

到上世纪 90 年代,当外国软件企业开始入驻日本时,国内的产业几乎无力抵抗。

 

90 年代后期的互联网繁荣得到了日本第一波风险投资的支持,这时候颠覆性的创新浪潮已经涌起,但日本的软件开发商仍然不具备广泛的国际知名度。

 

当时愿意放手一搏的,往往是那些人脉广泛或者斗志旺盛的商人。但大家对软件开发者的成见还在,没人相信这些看起来呆呆的家伙有能力主导一家企业。

 

我的第一次创业尝试就是从互联网泡沫时期开始的。有趣的是,我这样一位技术出身的家伙搞创业在日本其实是比外国人搞创业更罕见的情况

 

必须承认,互联网泡沫时代的繁荣确实给了日本一次振兴软件产业的绝佳机遇。由于获得了前所未有的肯定和尊重,这时候召集优秀开发者、做出有意义贡献、增强代码质量和呼吁全社会学习软件技能的声音可谓振聋发聩。

 

日本软件开发者开始走向舞台中心

上世纪 90 年代末常被称为日本“失去的十年”。经连会企业的力量被持续削弱,迫于成本压力,心高气傲的日本厂商也不得不将生产线从日本转移到劳动力更便宜的其他国家。到这一时期,日本最著名的终身雇佣制也走到了终点。

 

此举震惊了整个日本。终身雇佣制在很长一段时间是维系基本社会秩序的基础——如果努力工作和绝对忠诚得不到回报,那为什么还要为企业奉献一生?于是令日本政客苦恼的情况出现了,很多日本年轻人根本就不打算加入企业。

 

现在回头来看,软件行业增长放缓、被动变革令人痛苦,但这一切也是在为日本之前对软件开发者的忽视付出代价。

 

我个人会将 2010 年视为日本软件开发者走上舞台中心的标志性元年。虽然之前趋势已现,但真正的转折还是在这一年才全面爆发。

 

这背后有两个根本原因。首先是云计算的出现,其次是智能手机的推出。尽管这些都是技术发展的产物,但推动变化的却并不是技术本身。

 

云计算大大拉低了创业所需要的资金和时间门槛。在十年前的互联网时代,创立一家互联网初创公司需要采购服务器机架,并向系统管理员付费以保持设备运行。但突然之间,每分钟只要支付几美分就能让公司获得配置完善、维护到位、安全可靠的服务。那还愣着干什么,赶紧创业啊!

 

于是日本的软件开发者不再需要向风投解释自己要干什么、怎么盈利,他们可以直接把产品开发出来、交给受众使用,效果好的话再启动收费。大家也的确就是这么做的。

 

另一个重要里程碑是 2007 年诞生的 iPhone 和一年后亮相的 Android。不只是技术,智能手机的出现颠覆了软件的商业模式。

 

日本的 i-mode 确实比整个西方领先多年,但想让应用程序登陆 i-mode,开发商必须得跟电信公司进行长时间谈判。智能手机的生态则完全不同,任何能证明自己应用产品符合质量标准的开发者,都可以通过官方软件商店进行销售。不需要业务联系、不需要排他性谈判、也不需要签收入对赌协议。

 

2010 年,日本的软件开发者终于有了“基本人权”。随着有才华的开发人员意识到新时代下创业难度之低,他们开始开辟自己的道路,压根不会考虑大企业那种等级森严的老古董式职业方向。

 

再加上互联网时代令硅谷传奇响彻寰宇,彻底重塑了日本软件开发者的思维和形象。如今,软件开发者群体受到重视和尊敬,日本的初创公司和大型企业都在全力招募和挽留出色的程序员。更值得庆幸的是,日本各行业也终于开始积极讨论代码质量问题。

 

当然,这种态度的转化不仅限于开发人员。随着终身雇佣与定期晋升制度的消失,人们不再像过去那样害怕风险,开始以创新为载体有计划地拥抱风险。“自由职业者”不再是街溜子的代名词,这部分群体成了日本灵活创业的核心。另外,部分被经连会组织抛弃的家庭小作坊,也在重新探索可行的商业道路。

 

创新决定了软件的未来

在基本被隔绝在 PC 和互联网两场革命外后,日本软件开发商一直在努力弥补错失的时间和创业空间。日本在某些领域已经发展出了具有效力的软件市场,但总体上还有很长的路要走。

 

曾在日本占据主导的系统集成商也没那么有竞争力了,老客户们正在迅速流失。B2B SaaS 软件初创公司的出现,令那些早就不想花高成本维护遗留系统的日本企业迅速接纳了现代 IT 系统。

 

当然,系统集成商不会消失。市场需要优秀的系统集成商,而更具前瞻性的集成企业正在主动自我重塑。但必须承认,由系统集成商决定客户 IT 战略的日子已经一去不复返,不过这对日本软件业、日本初创企业来说未尝不是一件好事。

 

由于初创企业被列为国家优先事项,日本对优质软件和软件初创企业的渴求空前高涨。这股风甚至吹进了哪怕最顽固的经连会组织。他们也希望通过并购和长期合作伙伴关系与软件初创公司携手,补充内部研发能力,并呼吁各成员企业大幅增加对初创公司的投入和合作力度。

 

虽然日本软件还处于阴霾之下,但我认为如今涌现的创业公司、大企业和学界联合应该也会探索出一条新的道路。

 

原文链接:

https://www.disruptingjapan.com/the-forgotten-mistake-that-killed-japans-software-industry/

https://news.ycombinator.com/item?id=34320669

2023-01-11 16:584229

评论

发布
暂无评论
发现更多内容

《Java面试考点大全》全网首发,带你摸熟20+互联网公司的面试考点!

收到请回复

Java 云计算 开源 架构 编程语言

实时云渲染 VS 本地渲染,全面横向对比

3DCAT实时渲染

链游版羊了个羊-SeedX,17号上线欢迎挑战

EOSdreamer111

高级前端手写面试题

helloworld1024fd

JavaScript 前端

【C语言】自定义类型(结构体类型+枚举类型+联合体类型)[进阶篇_ 复习专用]

Dream-Y.ocean

c 结构体 9月月更

云办公时代SaaS行业如何保证用户使用体验,提高用户留存率?

Baklib

SaaS 帮助文档

全新 Amazon RDS for MySQL 和 PostgreSQL 多可用区部署选项

亚马逊云科技 (Amazon Web Services)

链游版羊了个羊-SeedX,17号上线欢迎挑战

BlockChain先知

第四章 C语言之牛客网刷题📖笔记

Dream-Y.ocean

c 算法 9月月更

社招前端一面经典手写面试题集锦

helloworld1024fd

JavaScript 前端

Java学习--SpringBoot 常用注解详解(一)

六月的雨在InfoQ

Spring Boot Spring MVC Spring注解 9月月更

【精通内核】Linux内核rcu(顺序)锁实现原理与源码解析

小明Java问道之路

RCU Linux内核 9月月更 CopyOnWrite rcu锁

【MySQL进阶】事务一

Aion

MySQL 事务 9月月更 InnoDB存储引擎

【指针内功修炼】函数指针 + 函数指针数组 + 回调函数(二)

Albert Edison

数组 指针 C语言 9月月更 指针数组

【MySQL 进阶】事务二

Aion

MySQL 事务 9月月更 InnoDB存储引擎

阿里、字节、美团我都面了,offer也拿到了,全靠这份Java面试题!

收到请回复

Java 云计算 开源 架构 编程语言

每日算法刷题Day11-最大公约数、数组去重

timerring

算法题 9月月更

PC市场如何再起波澜?荣耀的创新或是答案

脑极体

2022-09-16:以下go语言代码输出什么?A:101;B:100;C:1;D:2。 package main import ( “fmt“ ) type MS struct {

福大大架构师每日一题

golang 福大大 选择题

Java进阶(二十三)java中long类型转换为int类型

No Silver Bullet

Java 类型转换 9月月更

测试左移-快速玩转Debug

转转技术团队

问题排查 测试debug

加速 Amazon RDS for MySQL 只读副本提升

亚马逊云科技 (Amazon Web Services)

MySQL RDS

Java 学习 --SpringBoot 常用注解详解(二)

六月的雨在InfoQ

springboot 注解 Spring Bean @Component 9月月更

边缘计算技术及其安全

阿泽🧸

边缘计算 9月月更

无限道具教程最新版9.17——大熊G

大熊G

羊了个羊

大数据ELK(三):Lucene全文检索库介绍

Lansonli

9月月更 EKL

工赋开发者社区 | 大“火”的扩散模型综述又一弹!UCF等《视觉扩散模型》综述,20页pdf详述三种通用的扩散建模框架

工赋开发者社区

链游版羊了个羊-SeedX,17号上线欢迎挑战

石头财经

【精通内核】Linux内核rcu锁深度解析

小明Java问道之路

RCU 内核 Linux内核 9月月更 rcu锁

日本软件业烂透了!谷歌日本高管揭秘回顾那些被遗忘的错误_云计算_Tim Romero_InfoQ精选文章