开发者 vs. 非开发者是错误的划分
我从小就开始编程,为BBS编写多人游戏——这是我们今天所知道的网络和社交媒体的先驱。那是在80年代末90年代初,我主要用一种叫做C的语言写东西,偶尔用8086汇编语言写一些高性能的组件。
对于那些不是软件开发人员的人,或者对于那些从小就认为Java是一种低级语言的年轻开发人员来说,汇编代码是这样的:
汇编语言代码示例
你实际上是将单个指令拼写给CPU,将字节从内存移动到寄存器,对它们执行简单的数学运算,并使用与、或、异或等基本逻辑门创建程序流。
虽然承认所有软件都建立在底层基础上的巨大力量,但我只想说编写汇编很糟糕。
作为一名游戏设计师,我心中有故事情节,我想要创造的新世界,我想要实现的玩家之间的互动。将其翻译成代码,尤其是汇编指令中的部分,就像从珠穆朗玛峰的高度潜入马里亚纳海沟的深处。一个人的头可能会爆炸。
关于那次经历,我记得以下几点:
首先,它非常耗时。我可以在30秒内向你解释的一套游戏机制——我的一款游戏让玩家混合不同的药剂,创造出新的、更复杂的药剂,一步步变成更强大的魔法药剂——需要30天的时间来开发。是的,编码使这些东西得以创造。但是,编码的高成本也是实现许多其他想法的障碍。
第二,它很容易出错。即使是伟大的程序员也会在他们的软件中发现bug。我顶多算个一般人。所以我的代码中有很多bug。发现它们很困难。在更复杂的程序中,比如多人游戏,甚至能够测试出所有可能出错的方式都是一项指数级的任务。修复它们可能更加困难。
相对较少的漏洞是游戏设计的缺陷。几乎所有的错误都是在编码过程中偶然犯的错误,将一个完全有效的概念流程翻译成数千行代码,其中一个简单的打字错误可能会使整个过程崩溃。朋友们,代码是脆弱的。
顺便说一下,没有乌比冈湖(乌比冈湖效应指高估自己的实际水平)。一半的程序员低于平均水平。而那些低于平均水平的程序可以编写出充满bug的代码,如果这个程序是你的房子,你友好的Orkin专业人员会推荐汽油和火柴。
第三:很容易毫无头绪。在代码中,我试着实现一些疯狂的递归函数,摆弄各种不同数据结构的指针,我不再考虑游戏或它的玩家。我被野指针、悬空指针、内存泄漏、修改基指针的影响以及地址访问超出作用域错误所消耗。
然而,尽管所有这些都导致了平庸的代码,但这些游戏本身在当时变得非常受欢迎,在世界各地的BBS上有超过一百万的用户在玩。他们的成功是在我作为一个软件开发人员有缺陷的情况下取得的。
这段怀旧之旅的寓意是:代码和编码一直是达到目的的不完美手段。
回到未来,真正移动CX、DX
快进几十年到今天,无代码工具的扩散。
关于让非IT员工在无代码平台上构建工作流、应用程序、代理或组合客户体验是明智还是愚蠢的争论仍在继续。每当我发表一篇关于在市场营销和市场技术中越来越多地使用无代码的文章时——比如上周的《每个营销人员都是数据分析师和工程师》——错觉还是命运?我听到很多人坚持认为非开发人员不具备开发好东西的技能。
恕我直言,他们错了。
首先,有代码并不一定比没有代码好。编程的历史一直是向更高层次抽象的稳步前进。我们从打孔卡开始。我是跟着汇编语言来的,我要重申的是,在汇编语言中工作就像在盐矿中工作一样有趣。然后是C、c++和Java等高级语言。然后是更高级(也更安全)的语言,比如Python,它有超过35万个包,你可以用它来「编写」惊人的程序,所用的时间是以前花费的一小部分时间。
无代码是抽象进程的下一步,比以往任何时候都更重要的是理解你想要构建什么,以及你描述它的能力——视觉上或用自然语言界面。不必担心诸如未初始化指针和段错误之类的事情,这对构建器的生活质量是一个相当大的改进。大多数非代码工具都具有原始代码所不具备的优秀护栏。
「但即使是在无代码的情况下,它也是关于逻辑和程序化思维的,」批评者会回应道。关于第一部分,他们是对的。但他们在结束这句话时又补充说:「只有软件开发人员和IT专业人员才具备这些技能。」
抱歉,这两个方向都不对。
一方面——回想一下我写代码的那些日子——成为一名软件开发人员并不意味着你天生就擅长逻辑思维或编程思维。无意冒犯,但有很多低于平均水平的开发人员,他们对逻辑和编程思维的把握并不好。仅仅因为你引入了一个「软件开发人员」来构建一些东西,并不意味着它会像预期的那样工作(或者根本不会)。
另一方面,不是软件开发人员并不意味着你天生就不具备逻辑和编程思维。融资。操作。合法的。许多商业专业人士都有很强的逻辑和编程思维能力,即使一个满是Javascript的屏幕对他们来说就像梵文一样难以理解。(交换条件:让普通的Python程序员试着从上市公司的高级财务分析师那里学习Excel预算表格的原理。那就让他们给我解释一下。)
营销运营、销售运营、收益运营——这些学科都以逻辑和程序化思维为基础。由营销自动化工具编排的客户旅程地图,由条件触发和行动驱动,交给算法销售序列……这些都是由各自领域的专家精心设计的精明的软件「程序」。
糟糕的代码vs.优秀的无代码
「领域内的专家」是关键。优秀的营销运营专业人员可以首先使用无代码自动化工具构建优秀的程序化工作流,因为他们深刻理解他们正在构建的内容的背景。这不仅仅是因为他们精通设计逻辑程序流程。他们知道这些触发和行动的真正含义。他们知道自己想要达到什么样的结果。他们知道业务流程中可能出现的问题。
在一个无代码工具的时代——甚至是用代码构建的人工智能「助手」——使创建应用程序或自动化的技术实现工作变得越来越容易,真正的价值是知道要创建什么应用程序或自动化。它需要做什么?为什么?如何(从过程角度,而不是从原始代码技术级别)?
领域专业知识是这里的关键。
无代码工具使具有深厚领域专业知识的人——以及完美的逻辑和编程思维技能,其唯一的「缺陷」是他们没有学会用Python编程——能够快速有效地将他们的知识转化为更好的数字操作和体验。
无代码工具是否也能让那些不知道自己在做什么的人做出一些蹩脚的工作流和自动化?不幸的是,是的。但这与一个不知道自己在做什么的软件开发人员所造成的混乱并没有什么不同。
不要把知道如何编码和知道你在做什么混为一谈。
无代码时代的最大好处是这两件事的分离。
来源:chiefmartec.com
作者:Scott Brinker
翻译:Fred