Paul Scanlon 力荐手动安装指南,举例称赞 Astro 同时兼顾自动化和手动安装。他劝诫开发者远离"交付至上(Ship It)"的浮躁文化,循序渐进地打好基础,方能最终赢得更大成就。
译自 Say No to ‘Ship It’ Culture: Slow and Steady Wins the Race,作者 Paul Scanlon 是一名高级软件工程师、独立开发者倡导者和技术作家。更多保罗的作品可以在他的网站 paulie.dev 上找到。
在这篇文章中,我想分享一些关于"ship it"文化的想法——这可能是一个有争议的话题!
近年来,我注意到这种趋势显著增长,而我不禁认为它对开发人员的成长和整个科技行业都是有害的。许多引用"ship it"口号的人确实理解其真正含义,但许多刚进入这个领域的新人似乎误解了这句令人难忘的营销语作为实际指示。
请允许我澄清,我并不是说反面论点是"不要ship it"。恰恰相反,我认为,如果你花时间学习,你可以同样富有生产力,甚至更高。我在Web开发和科技领域工作了约20年,无论在自己的公司还是别处,我从未遇到过无法获得时间发展技能并成为一名更有效资源的情况。
我不知道这是从哪里开始的,但我猜是旧金山。你无疑遇到过一些生活和呼吸"ship it"文化的人,如果没有亲身经历,你可能熟悉HBO热门喜剧系列《硅谷》中的一些角色,这部作品就是基于这些人物。
一大批观众理解重复科技营销口号确实是一个有趣的笑话,然而,在科技行业中仍有相当多的人没有意识到这一点。虽然对我来说,这无疑很有趣(尽管有些乏味),但我现在开始看到"ship it"文化正渗透到开发人员教育领域,这是相当令人不安的。
许多SaaS公司和"创业公司"推崇"ship it"理念,因为它们需要赚钱(这是可以理解的)。通过巧妙措辞的营销信息宣扬速度重于一切的重要性,它们能够确保开发人员继续为他们可能不需要的产品和服务付费。
如果你熟悉《辛普森一家》,你可能还记得"钱包检查员",我认为"ship it"文化和推动这种理念的营销人员就是科技行业的等价物。
你可能根本不处于必须不惜一切代价ship it的境地。许多受"ship it"文化影响的新手正在为零用户构建应用程序,那他们究竟在为谁ship it呢?
我希望看到开发人员从ship it中退一步,投资更多时间在自身成长上,谁会没有时间做这件事呢?
大约在2006年,在学习和使用ActionScript 2.0(AS2)、Flash开发人员使用的编程语言多年后,Adobe发布了ActionScript 3.0(AS3)。为了学习AS3,我从一个PDF文件中打印出整个开发人员指南,并随身携带。我经常在地铁(伦敦地铁)上、午餐休息时以及工作日或工作周内任何预定的学习时间阅读其中的部分内容。如果你有兴趣,这本庞大的文档如今仍然可用:ActionScript 3.0 Developer's Guide。
我花了大约三个月的时间熟练掌握AS3,虽然这很困难(我并不那么聪明),但在15多年后,我仍在从自己的努力中获益。大约在2012年,苹果凭借iPhone淘汰了Flash,所以我不得不从Flash开发转向HTML、CSS和JavaScript开发;而且我必须承认,对我来说这很容易
此外,当TypeScript开始流行时,我像一只鸭子上水一样很快就掌握了它,因为AS3是静态类型的,而且我已经通过那本庞大PDF学习了类型。我的重点是,学习总是件好事——你永远不知道你花时间学习的东西何时会对你有益,这就是为什么我认"ship it"文化可能会阻碍你的成长。
所以这就是"快速启动"经济露出它丑陋面目的地方。由于许开发人员买入了"ship it"文化,他们认为自己做的每件事都需要快速完成。我并不是说CLI、启动模板和npx create命令等有用处——它们确实有用,但我不认为它们应该是你学习新事物的起点,我也不认为它们应该是开发人员的唯一选择。
每项技术都需要有文档记录,如果你想让开发人员取得成功,你应该考虑最有效的方式让他们学习,而不是让他们以最快的方式开始使用你的产品。
举个例子,你还记得你学车时,教练做了什么吗?让你参加一级方程式比赛?还是缓慢小心地解释汽车的工作原理,确保你熟悉交通规则,并给你时间培养自信?我敢打赌,每个一级方程式车手都是这样学车的,看看他们现在开得多快啊!
这个主题很大——太大,无法在这篇文章中涵盖——但我怀疑一些公司为什么不能或没有能力简洁地记录如何使用他们的产品。因此,他们经常别无选择,只能走“快速入门”的路线,声称“这是一种策略”。
广义上讲,我认为原因可以归为两类。
- 故弄玄虚
某些产品实际上安装和使用起来非常复杂,并且在记录了开始使用的步骤之后,开发人员就会清楚地发现该产品实际上很复杂。在这种情况下,我观察到一些公司将开发人员推向 CLI、初始模板或 npx create 命令。
- 技能差距
这不足为奇,但撰写文档是一件困难的事;事实上,以清晰简洁的方式撰写任何内容都是困难的。
对于那些缺少手动安装指南的公司……也许你们可以考虑聘请具有技术写作能力的人,而不是那些喜欢用“疯狂的面孔”YouTube 缩略图将他们的愚蠢面孔贴在互联网上的家伙?这算是一个策略吗?
如果你很幸运能够使用一款文档完备的产品、工具或服务,那就好好吸收它。采用慢而稳的手动方式学习几乎任何东西,从长远来看都将对你有益。
手动学习的一个优势是你将学会如何通过阅读来学习。在你的职业生涯中的某个时候,你将不得仅凭借阅读文档来搞清楚某些事情。另一个有趣的角度是渗透式学习;通过在文档中花时间,你会注意到新的东西。你可能暂还用不上,但你可能会记住看到过的东西,这些将在以后对你有帮助。
最后,你可能知道这句话:
告诉我,我会忘记; 教导我,我可能会记住; 让我亲身参与,我就会学会。
虽然没有证据表明本杰明·富兰克林曾说过这句话但其中的情感与富兰克林强调学习的重要性是一致的; 不管需要多长时间,还有什么比亲自参与学习过程更好的方式?
一家在这方面把平衡把握得恰到好处的科技公司是Astro。
它既有CLI,也有手动安装指南,我很欣赏它我搭建了许多Astro网站,每次我都会采用手动方式。到目前为止,我已经非常熟练,甚至不再需要指南了!你可能会为这是一项无用的技能,但我会出于以下原因提出异议。
我完全理解启动一个Astro站点所需的操作;剧透一下,并不多。对我而言,对我所安装的内容有深入的了解——更重要的是为什么这么做——极大地帮助了我进一步发展Astro知识。我并不是说我对Astro了如指掌,但它确实帮助我逐步学习更多关于Astro的知识,并对其有了更深入的理解。
可以理解,你可能会认为手动操作一切都需要更长时间——但这只是如果你专注于一个任务的情况。稍微放宽视野,审视大局,还有大量东西需要学习。但因为我对如何进入"第一阶段"有了扎实的基础理解,我就可以更轻松地进展到第二、第三阶段和更高阶段。
"ship it"文化的人真的会讨厌这个,但你熟悉伊索寓言《乌龟和兔子》吗?
这个故事讲述了一只兔子向一只乌龟挑战赛跑。傲慢的兔子认为动作缓慢的乌龟完全不是自己的对手,于是在比赛中途打了个盹。乌龟在自己的赛道上安安心心地前进,在兔子睡着时超越了它,并赢得了比赛。
就这样: 要想先到终点,你必须先完成比赛。所以下次你在学习新事物时,不要在学习过程中睡着,要发挥你内心的乌龟精神,我们终点见!