练拳不练功,到老一场空
今天埃森哲的丑事儿,大家有没有看见呀?
赫兹说,埃森哲写的Java代码,并没有遵循Java标准,逻辑性很差,很糟糕,很难维护。
关注前沿科技,公众号:量子位坑爹!花费2亿耗时2年,网站没建完Java都写不好,顶级咨询公司埃森哲被告上法庭
正好呢,我昨天就在说这个基本功的问题。我们这个行业里,有太多太多的事儿,说起来都超复杂,大家都一套一套的。真有人往里一看,满不是说的那么回事,就是基本功不扎实闹的。
比如我摆个鬼故事嘛。
有个项目团队去给一家客户做项目启动,工作坊刚搞完第一天,回来说不行,这个客户不接受敏捷。然后一帮人就接着讨论啊,客户为啥不接受敏捷啊,是不是制造业不适合敏捷啊,是不是民营企业不适合敏捷啊,等等等等。
完后有个经验更丰富的人说,那我第二天跟着进去看看吧,有啥问题我看看再想办法吧。
第二天这人跟着去了一看,工作坊开着,客户满脸的担忧,确实对工作方式很不满意啊。这是为啥呢?
因为主持工作坊的人板书写得太差了。
抓着白板笔的尾巴,字写得又大又潦草,各种缩写、连笔。再加上白板也没擦干净,花儿马塔的。写完一板回头一看,谁也看不懂到底写的啥。
那客户能不担忧嘛?我跟你讲半天话,你到底听没听懂,记没记下来,我感受不到啊。那与其如此,不如你还是给我写个详细需求文档算了。
然后这后来的这位说,这样,你们继续聊,我来给你们记。说着把白板笔抢过来。
白板擦干净。握紧笔。手掌贴在白板上。字写小一点。慢慢写。不要缩写。不要连笔。分一下记录的层次。标题画个下划线强调。列表项在前面画上星号或者数字编号。
就这些,不需要字写得多好,工工整整清清爽爽就行了。客户一边聊着,一边愁眉就舒展开了。聊完半天,客户说,我看你们这个路数还行,就这么继续吧。
你以为是敏捷、行业、战略、文化……的宏大问题。其实不是。是板书写得太差的问题。是高高在上的管理者们永远不会放在眼里的微末工夫,影响着这个项目的走势。
再摆个鬼故事嘛。
某个特别有名的公司,被外国一个政府任命的委员会审计,得到的结论是,这个公司的系统“不可信”。到底啥是可信啊?可真是挠破了头皮。不怕金山银山砸进去,也得让自己可信呀。
审计的时候发生了什么呢?这个委员会说,我现在看过了你们的代码了,我想从这个代码编译出可运行的二进制文件,跟线上运行的二进制文件对比一下,它俩是同样的文件,我就知道你们系统没有写后门进去了。这个要求,我觉得,挺合理的。
然后……愣是没编译出来。
委员会和这家公司的工程师一起努力了好多天,也没编译出来。
然后,委员会感到很受挫,于是在报告里如实汇报了。这个系统,我们没有从源代码编译出二进制来,所以线上运行的二进制跟我们审查的源代码到底一样不一样,是不是同一个东西,我们也不知道。所以,不可信。
你以为是软件工程、信息安全、国家政治……的宏大问题。其实不是。是没有自动化构建和持续集成的问题。是嘴上说了多少年的配置管理到今天仍然不到位的问题。
我们这个行业就是这样,所有的岗位都有太多基本功不扎实的南郭先生,以及以前的南郭先生升上去以后也不知道如何判断手下人基本功扎实不扎实的领导。然后大家都在用华丽的PPT、超复杂的框图、高举的理论来解释,为什么项目会遇到困难。
然而背后真正的原因是,他们板书写得鬼画桃符,他们Java代码写得一团稀烂,他们连个可运行的二进制都编译不出来。
这样的鬼故事,还要继续摆多久?
扫码开始你的十四天编程训练营
从我做起练好基本功