我认为初级和高级前端开发人员之间的区别不在于他们对特定技术栈、工具链的理解或熟悉程度,也不在于他们能否编写完美代码。相反,这一切都归结于:他们如何反驳糟糕的想法。
我今年学到的教训是,如果你不对营销部门说“不”,网站性能就会下降,因为你很快就会发现自己的网站上有 18 个不同的分析脚本。如果你不对工程师说“不”,那么你的代码库将有一半是 React,四分之一是 Vue,另外四分之一是用你根本不认识的语言编写的。如果你不对设计师说“不”,那么你将有一堆非常相似的组件,最终会让你的组织中每个人感到困惑。如果你不对项目经理说“不”,那么你将失去构建可访问、响应的基线体验所需的时间。
网页设计的真正魅力在于,你可以在一个星期或两个星期内学会 HTML、CSS 和 JavaScript 的基础知识。但在过去的一年里,我得出的结论是,构建一个真正出色的网站并不需要太多技能,当然也不需要花费数年时间来弄清楚如何执行相当于后空翻的编码操作。
构建一个出色网站所需要的是克制。
但是!在与数百人一起参与大型项目时,说“不”可能是政治自杀。相反,你必须学会如何在不显得像个混蛋的情况下说“不”。你需要教育每个人了解性能、响应式设计和可访问性。你需要向大家解释前端开发究竟是什么。
原因是,说“不”的难点在于,需要提供理由,甚至提供指导,说明为什么在构建网站时某个想法是糟糕的。
更难的部分是,除了我们之外,每个人都觉得前端开发很无聊。没有人关心我们必须编写的这三种奇怪的语言。当然,也没有人关心性能或可访问性,直到这些东西突然对他们不起作用为止。这就是为什么互联网的缺陷会让每个人都感受到,但却大多对构建它的人来说是不可见的。
所有这些教训都让我想起了罗宾逊·迈耶为《大西洋月刊》撰写的一篇文章,文章讨论了气候变化的威胁以及解决方案是如何“无聊得像土一样”,或者简称为 BAD。
BAD 问题认识到,气候变化是一个有趣的挑战。它可怕、巨大、世界末日,而且随之而来的灾难(尤其是飓风、野火和洪水)提供了良好的电视素材。但解决气候变化的政策却没有同样的影响力。它们是技术性的、官僚主义的,而且往往很枯燥。至少,它们永远不会像气候变化本身那样直接。洪水很强大,但雨水管理很神秘。野火很凶猛,但电网升级很乏味。气候变化令人恐惧,但土很无聊。这就是 BAD 问题。
“无聊得像土一样”的问题存在于我们的行业以及我们合作的每个组织中。例如,当用户试图报告他们所在地区的停电时,网站的性能显然是一个大问题,而网站却无法加载,因为在任何给定时间都有一打以上的第三方脚本正在加载。
但解决这个问题呢?它需要逐个审查每个脚本,与营销部门沟通,找出谁拥有哪个脚本,他们为什么要使用它,哪些数据最终对组织有用,哪些数据没有用。然后,你终于可以删除这个脚本。问题的解决方案无聊得像土一样,试图解释为什么这项工作很重要,甚至至关重要,在许多组织中都会让你一无所获。
那么,我们如何在解决前端开发问题时避免无聊呢?
我们必须将其与业务目标保持一致。当我们谈论 CSS 时,我们必须提到我们的客户以及他们为什么需要响应式界面。当我们做大量的出色工作,而这些工作却无人知晓时,我们应该开始一份时事通讯。
当有人提出一个伤害网络的糟糕想法时,我们应该尽可能礼貌地说“不”。
说得很对。我最近听到过这样一句话:“实践者和教师之间存在着巨大的差异。”我认为向一个使用完全不同语言的人推销“不”会遇到类似的问题。
直觉上你很容易知道某件事是个坏主意,但完全用对方能理解的方式解释出来是另一回事。
毫无疑问,以一种社会上可以接受的方式说“不”是核心领导力技能。不幸的是,营销人员通常被视为真正的财神爷,如果他们想要一打分析脚本,那就让他们得到吧。
你完全正确!!!!
我在几乎每个项目中都遇到了这些问题!干杯!
非常有趣……而且真实。
请允许我将安全、测试和本地化添加到你提到的性能、可访问性和响应性三要素中。
我喜欢这篇文章!非常有趣和有见地。对于我这样的前端开发新手来说,这也是一个需要牢记的宝贵经验。我真的很感谢将用户放在首位并始终关注他们的信息,因为最终,他们将是使用我们构建的网站的人。