软件工程师的谎言

    转载自《创业邦》杂志 /Guy Kawasaki

  “现在,程序设计工作已经成了试图创建更大更好的傻瓜式程序的软件工程师和试图制造更大更高的傻瓜的上天之间的较量。迄今为止,上天赢了。”这话是技术商业作家Rick Cook说的。什么意思?往下看就明白了。

  尽管我把软件工程师当作偶像,但他们仍然频繁地撒谎。也许撒谎是创新所必须的,太多人会告诉你,你想做的东西无法达成或者根本没人想要。只要知道他们在撒谎,你就不用担心。下面是一些工程师经常说的谎言。

  1.“我对市场一无所知”。这是一句假的谦逊之辞。事实上,这位工程师正在想的是,“我不了解市场营销,但与我所做的工作相比,那又算得了什么?工程和市场我都能应付自如,我只是希望那些MBA能够提出一些配得上我写出的代码的想法”。不过,不用对此太担心,在工程师错过了一个个产品开发的最终截止日期之后,他们会发现自己遇到了麻烦。

  2.“我们将要进行测试”。这是一个毫无意义的陈述,因为关键不在于什么时候开始测试,而在于什么时候完成测试。目前看来,惟一能够肯定的测试完成日期,就是钱花光的时候。

  在过去,产品Alpha版本的意思是“所有的部分都完成了,尽管不一定能够合格运作”;Beta版本的意思是,“不会再出现重复性的错误了”。而到了现在,Beta版本则意味着,“在承诺的交货期之后,我们就消失了”。

  3.“我已经对代码进行了注释,后来者可以看懂我的工作”。工程师确实打算对代码进行注释,不过随着日子渐渐过去,工作重点也发生了变化。管理层将面对这样的问题:“你是想让我为代码进行注释还是尽快完成项目”?答案不言而喻。幸运的是,缺少注释并没有什么关系,因为代码是如此蹩脚,一年之内肯定需要重新编写。

  4.“我们的产品结构是可扩展的”。这是我最乐于听到的谎言。一般来说,从未交付过产品的工程师在VB中建立模型后会这么说。整个谎言是这样的:“Google的扩展性不如我们。他们可以支持2,500万次同时搜索,而我们可以轻而易举地处理10亿次。”幸运的是,在大多数情况下,产品真正能够应用所花的时间要比CEO的保守估计还长,所以可扩展性从来也不是一个重要问题。

  5.“我们编写的代码支持所有行业标准”。这几乎是事实,当然还需要一点补充:“这些代码支持着我所认同的所有行业标准”。工程师对他不喜欢的标准习惯地选择视而不见——例如那些微软颁布的标准。对工程师来说,这无关紧要,反正客户不会知道这些。

  6.“我们有一个数据库和系统,可以有效地报告bug”。但是,故障报告系统的设计前提是系统中没有故障,所以不需要报告。一般情况下,如果记录的故障从不超过1,000个,那只能说明这个公司没有进行仔细的检查。

  7.“与印度的外包团队合作,会帮助我们做得更快、更好,而且更便宜”。普通的技术人员通常不会说出这样的谎言,这是CTO的杰作。在他们脑中,印度的程序员优秀、迅速、便宜,而美国人则差劲、拖沓、昂贵。事实显然不是这样。

  8.“我们的测试版网站喜欢它”。在技术界工作了25年,我从未听说过任何一个公司说起它的测试版网站不喜欢有软件产品出现在上面。有三个原因:首先,很多测试版网站很荣幸能得到软件的预发行版本,他们不希望提出否定意见;第二,大多数测试版网站并不怎么使用软件;第三,测试版网站并不希望无情地批评公司的新产品。正如告诉父母他们的孩子其实很丑一样,这是一件很难的事情。

  9.“这一次我们做对了”。这个谎言的可怕之处在于工程师对此真的相信。问题在于,“这一次”实际上已发生了很多次,到底哪一次做对了?我对工程师很有信心,并认为经过长时间的努力,他们真的能做好,只是我们活不到那个时候。

  10.“这段代码太差了,与调试和扩展相比,还是重写更好”。所有的程序员都会对别人的作品做此评价,还有一些人如此评论被重编后的版本。

  11.“我喜欢像建筑师一样思考,但是我可以编程”。这意味着该程序员实际上不能编程,而且很可能也不能设计好建筑。

  12.“在我的机器上它能正常运转”。“我的机器”很可能是世界上惟一一台该软件能够正常运转的机器。

  13.“我当然可以放弃编程,而是去经商”。这是每个转型创业者的工程师的遗言,其意思是他既不能放弃编程,也不能去经商。

  14.“即使是我妈妈也可以在屏幕上冲浪”。当然,他的妈妈可能是麻省理工毕业的计算机专业博士。

  上面列出了一些工程师经常喜欢说的谎言,我喜欢工程师为了这三个原因而撒下的谎:首先,其谎言暗示了他们像个孩子一样,忽视了计算机是怎样工作的;第二,工程师真的相信他们自己的谎言,而创业者、投资人和律师则不相信;第三,他们的大多数谎言并不是不诚实所致,只是时机太早了,最终总会成为现实。如果你是个工程师,现在你知道了自己在不知不觉中都做了些什么;如果你正和工程师一起工作,那么现在你知道了他们的谎言,明白该怎么理解了吧?                                                                                       (译/星晨)

### 微表情分析技术在谎言检测中的应用 微表情是一种非常短暂的面部表情,通常持续时间不超过1/25秒,能够揭示个体试图隐藏的真实情感和意图[^1]。由于这种特性,微表情成为自动谎言识别领域的重要研究方向之一。研究表明,当人们尝试掩盖自己的真实感受时,可能会无意间表现出微表情,这为谎言检测提供了可能性。 #### 技术原理 微表情分析的核心在于对面部肌肉运动的精确捕捉与解析。具体来说,该技术依赖于“脸部动作编码系统”(Facial Action Coding System, FACS),这是一种由心理学家Paul Ekman开发的标准方法,用于描述人类面部的动作单元及其组合形式[^2]。通过计算机算法实现自动化FACS分析,可以快速处理大量数据,并从中提取出可能暗示欺骗行为的关键特征。 #### 应用案例 实际应用场景中已有多个成功范例展示了这项技术的价值。例如,在司法审讯环节里,执法人员可借助专门设计的应用程序如Truthsayer来进行实时监测;后者具备多种输入方式——既支持现场直播流也兼容预录好的影像资料——同时还允许用户调整显示界面布局以便更好地观察目标对象的变化情况[^4]。此外,在商业环境中也有类似实践:某些高端零售商店安装了特殊摄像装置用来评估顾客购物期间的心理状态变化趋势,以此优化服务流程并提升整体客户满意度水平[^3]。 然而值得注意的是尽管当前技术水平已经取得了显著进步但仍存在诸多挑战亟待解决其中包括但不限于如何提高模型泛化能力使其适应不同种族文化背景下的样本差异问题以及保护个人隐私权免受侵犯等方面都需要引起高度重视。 ```python import cv2 from facial_action_coding_system import FACSDetector def detect_micro_expressions(video_path): detector = FACSDetector() cap = cv2.VideoCapture(video_path) while(cap.isOpened()): ret, frame = cap.read() if not ret: break result = detector.analyze(frame) print(result) detect_micro_expressions('test_video.mp4') ``` 上述代码片段展示了一个简单的基于Python语言编写的函数`detect_micro_expressions()`,它接受一段视频路径作为参数并通过调用外部库完成对每一帧图像内的所有可见人脸执行详细的FAU分类统计任务最后输出结果列表供后续逻辑进一步加工使用。 --- 相关问题
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值