去年波吉的一篇《是什么造成了中国软件产业的悲剧》引得了无数的网友们的共鸣,这篇文章是站在产业的角度去看中国软件产业遇到的当前的困惑和阻碍,但是真的就仅仅是产业本身存在一定的问题吗?作为软件从业者的一员,有时候我们很难改变环境,但是我们自身的软件产品的质量,水平各方面都已经完美了吗?我们的程序员们真的是合格的工程师吗?很显然,答案是否定的。 中国顶级云计算公司的工程师并不负责任 在互联网软件行业,顶级的互联网公司如,阿里巴巴,腾讯在大部分懂技术的程序员和和不懂技术的吃瓜群众心目中大部分都应该认为他们是这个软件行业上顶流的存在吧,甚至各种IT培训平台都是拿着大厂高P之类的作为卖课的核心卖座点,但是这些所谓的大厂到底工程水平怎么样呢? 如文章《究竟是客户差劲,还是腾讯云差劲?》中所描述的,可以看到一个重要的API中的单词Detail被拼写成了Detial,以至于所有的SDK都必须Follow这个错误,很难想象使用这个API的使用者是如何在使用调试这个接口的时候会遇到什么样的状况。。。。这看起来是腾讯云的问题,但无独有偶,我们接下来看看阿里云的表现:请大家查看以下链接: https:help。aliyun。comdocumentdetail27583。html 你可以看到在ListenerPorts这里,居然出现了两个类型,差别居然是Protocal和Protocol,很显然这是一个历史的遗迹,最初的阿里云工程师拼写错误了,后来被发现了,为了保持兼容性,不得不保留原来的错误拼写,同时增加一个正确的表达。。。。。作为强迫症表示,这种操作真的很难让人舒服。。。。再让我们看看华为云,如以下链接: https:support。huaweicloud。comapiecszhcntopic0020212656。html 虽然不存在拼写的问题,但是API中的变量风格真的是一眼难尽,有的是rxtxquota这种风格,有的是attachableQuantity这种风格,还有的是ecs:performancetype,又是一个逼死强迫症的主。。。。。 我们经常看到各个互联网公司,各个云厂商在吹自己的技术如何如何厉害,但是很难想象这种最重要的API上居然定义如此潦草,先不说客户最终使用产品时候的体验,如果是这种质量光光在他们内部系统直接互相访问过程中都可能会存在大量时间作对接和联调,估计耗时巨大,也难怪大家看到互联网公司程序员加班都非常的凶,996估计有很大一部分时间都花费在各种内部对齐中,这种工程质量怎么能让人放心呢?怎么能让用户对产品放心呢?这就是中国计算机和软件的最高水平吗? 不重视使用者体验的软件 中国的面向消费者的网站APP其实做得蛮不错的,但是如果代表现在收入最高,在外界看来也是中国企业软件的龙头云计算上,事情就是另一番景象了。以阿里云为例: 随便操作操作,控制台就可以开出无数个浏览器的Tabs,阿里云的控制台对于用户桌面电脑的内存有着格外的要求,再其次各个云产品各自为阵营,看起来有相同的UI元素,但是UX体验完全不一致。 随便选取了三个产品的第一页,竟然可以完全不一致,虽然看起来并不影响最终的使用,但是UIUX上的不一致性展现出阿里云并没有真正意义上UX工程,很显然阿里云要么缺乏统一的产品团队,要么各个产品的产品团队是各自为政。这种随意性无形中增加了用户的学习成本和习惯成本。(如果深入下去会发现这种不一致性更夸张,甚至错误弹窗的风格都是非常非常随意的)不得不说,从UIUX角度,腾讯云和华为云就相对一致性好了很多。 差强人意的文档系统 通常我会把一个软件产品,尤其是面向企业的专业软件的文档系统是否专业作为一个重要的指标,让我们看一下各个云厂商的文档系统。 阿里云:https:help。aliyun。comproduct155040。html 腾讯云:https:cloud。tencent。comdocumentproduct213495 华为云:https:support。huaweicloud。comapibmsbmsapi0200。html 钉钉:https:open。dingtalk。comdocumentorgappsessionmanagementoverview 我们可以看看这些文档系统的URL组成,从URL的可读性上看,华为云和钉钉是更好的方案,因为整个URL非常具备可读性,华为云增加了一个0200的数字应该是为了保证版本变化对旧版本的兼容性(猜测的),但阿里云和腾讯云是非常糟糕的,这种完全内部的数字ID作为目录的文档方式非常的糟糕,第一个无法有效的通过URL判断文章的内容,第二个更要命的是当文档系统更新或者发生变化后,对应的数字ID就可能发生变化,从而导致外部的Link失效(大家可以随意到微博或者CSDN,博客园等平台找找博主引用过阿里云或腾讯云的文章,很多点击这些链接都已经显示链接不存在,甚至出现牛头不对马嘴的情况),这无疑是阻挡了用户包括爱好者的传播。设想一下一个工程师自己收藏的帮助文档的笔记,过了几年后所有链接可能都面临无效的窘境。阿里云和腾讯云在帮助系统上如此糟糕的选择实在是让人匪夷所思,因为包括钉钉,微信的文档都是非常正确的方式,都是基于语义的URL,而不知道这两个云的帮助系统为什么会做出这种选择,尤其是腾讯云,明明整个系统建设晚于阿里云,不像自家优秀的微信学习,而学习阿里云,实在是让人想不明白。 结论 云厂商作为中国最顶级的企业级软件服务平台,整体的软件工程质量真的是难以直视,如果这代表中国软件开发者这个群体的最高水平的话,我不知道每一个行业的从业者是怎么看待这些问题的。产品最终是让人用的,不是用来吹牛的,各种性能跑分炸裂没问题,功能丰富强大也没问题,但是最基础的软件的工程性和体验一致性是最最基础最最基本都部分了,很难想象中国最头部的企业软件服务提供商的竟然不重视工程性。中国软件有很多客观的原因,但如果软件从业者,包括这些云计算厂商如果不从最基本的质量和体验进行保证,起到表率作用,真正面向用户解决问题,一味地埋怨是没有任何意义的,不积跬步无以至千里,抓紧一点点的工程质量,解决这些看起来小的问题,是目前中国软件最需要提升的部分。所以《不要迷信大公司(包括BAT)的技术和产品》,中国软件的从业者要从产品本质出发,真正提供好的产品,说实话BAT们其实水平并不怎么样。。。。 PS:本文仅仅选取了几个非常表面的问题进行探讨,如果深入进去可能更没法看。。。。