【译】为什么我们变得平庸

140 阅读7分钟

原文:Why Most Developers End Up Average | by Zachary Minott | Jul, 2021 | Better Programming

我曾经认识一位从音乐家转为开发者的人,他曾告诉我,他认为作为一个音乐家和开发者是完全不同没有相关的事情。

他说他无法在这两者之间建立联系。他们是两种完全不同的作品。

我想说的是,他的看法是错误的。

你应该保持开放的心态,愿意跳出规则的框框条条,更多的去寻找事物之间的关联,以及可以从中学到什么事情。只有当你学会在不同的事物之间建立联系的时候,你的创造力和灵感,将会更容易出现在你的生活中。

不幸的是,对于大多数人来说,情况并不乐观。

短视

你很容易把开发看作是一个孤岛,认为所有开发相关的知识都只来源于其中。

就像是蚁群中的一只蚂蚁,你在这之中就像是一个工具,为一个不属于自己的愿景而工作。牺牲创造力,走在梦想破碎的大道上。

虽然你意识到了自己的缺陷,想要以变得更好为目标。并且斗志昂扬。为此,你自然去寻找方法来增长自己的知识和能力。通常,你的学习和个人成长可能主要来自于不断地练习 leetCode 里面的题目,阅读编程书籍,承担更多困难的项目,以及研究几页文档,以此期望自己比别人拥有更多的优势。

你做这些都是希望自己可以变得更好。当然,这可以做到你想要的。如果你足够专注坚持,可能有机会做到。但是,这种成功,并不能给你带来质的飞跃,这只是让你更好的做好已知的事情。走进谷歌的大楼,你会明白我的意思——每个人都像是一个挥霍灵感的开发者。

许多人不明白的是,你并不需要成为一个现象级的开发者,也可以成为一个真正伟大的,创新的,突破性的,不泯灭于众人的开发者。

要与众不同,你要学习放下一些无关紧要的事物,开阔眼界和看待事物的角度。

换言之,打开视野,看见一开始那位开发者所看不到的事物。作为一个音乐家,实际上可以帮助自己成为一个更好的开发者,或者做其他的事情也一样。

构建星座

想一想星座。星座本质上是一种图像,通过连接星星之间的线条,在这些点与点之间形成了一个更大的,有凝聚力的画面。在以前,冒险家和航海家会通过使用这样的星座作为一种辨别方向的手段。

你可以把编程想象成没有任何联系独自徘徊的星星之一。没有任何联系,只是一种孤立的美,不会形成任何独特的画面。如果是这样的话,新的星座就不会被画出来,你也就不能通过不断进步的技术发现更新颖的方式来改变一些事物。

换言之,如果你无法创建自己的开发者星座,你就很难有能力通过开发探索和创新找到新事物。不幸的是,大多数人都无法做到。

你需要给你生活中的“星星”建立起那些有意图的联系。少数能够做到这一点的人被称为“创造者”或者“幻想家”。当你将这种创造力实际化为工作时,你会变得像埃隆-马斯克、史蒂夫-乔布斯和马克-贝尼奥夫这样的人。三位著名的用技术改变世界的人,你可以真正称之为“独特”的人。

史蒂夫-乔布斯并不是一个开发者,但是他对这个概念理解的很透彻。他对计算机业务很有兴趣,他带着他对设计、书法、理念等各方面的知识,将个人电脑的概念进行了自己的解构。把一个非常复杂枯燥的事物,变成了一个友好、诱人、有更多价值的事物,他说:

“创意其实就是把不同的事物关联起来。当你向有创造力的人询问,他们是如何创造事物的,他们会感到不好意思,因为事实上,他们并没真正的“创造”一件事物,他们只是发现了一些事物。这对他们来说并不困难。”

Salesforce的创始人马克-贝尼奥夫(Marc Benioff)也是如此,他利用自己在 CRM 方面的知识,结合云软件的概念,并利用游击队营销的心理战术,在现有的巨头如 Oracle 和 Siebel 之上开辟出自己的道路。更不用说他把夏威夷的 "Ohana"(夏威夷语,指家庭)概念和正念技术用于创造一个极其积极和高效的工作环境。

我并不是说你应该成为一把瑞士军刀。我想说的是,跳出框架去思考,或者说,你可以从不同的事物中找到他们的关联性,然后通过一些方法把他们组合成一个新的事物。

就像学习多种编程语言的目的是为了可以使得自己更好的去理解复杂的编程逻辑和理论一样,在不同的行业中获得的经验和知识,可以使你在解决问题、计划、领导、信心和创造力方面成为更好的全能开发者。

你看,开发并不止于了解如何编写编码。它实际上是关于围绕他的一切。如果你可以建立更多的联系,你就能在个人和专业项目的进展方面做出更大的贡献。

你可以更清楚地看到解决方案,更好地制定你的战略方针。你可以更直接的洞察所做的事物的本质,并会让你对你所创造的东西有更深入的理解,以做出更好改进优化。你开始拥有洞察力的力量。有了这样的洞察力,你可以更好地将你的思想贡献给你正在创造的东西,从而将其发展得更好。

你可以真实的将事物联系起来。你只需要有意的,开放的让这些想法突破你的固定思维。

那么,作为一个音乐家,你要怎么利用自己的知识去成为一个更好的开发者呢?没有谁能比Rich Hickey更好的进行解释了。Rich Hickey是Clojure编程语言的创造者,他恰好拥有伯克利音乐学院的音乐创作学士学位:

“软件设计和谱曲有很多的相似之处。两者都涉及操作和协调抽象概念,并需要设想它们的实现,在实现程序的过程中,随着时间的推移,我发现软件设计满足了我打算在作曲中追求的创造性冲动,并且完全取代了它。”

换言之,一个领域可以发展你的思维方式,从而让你更好的接近、解决和感知问题及其各自解决方案的方式。

对我来说,我通过学习阅读几百本不同的书使自己精通哲学、数学、天体物理学和心理学以及其他许多东西。因为有这样的洞察力,我可以坦率地说,我是一个更好的全能型开发者。

因此,你或许可以尝试改变自己的脚步,让你所有的经验渗入你的工作和生活中,这样你就可以重新填补你流失的创造力。不要把编程仅仅认为是一个孤立的学科。这样做,会扼杀你的创造力,会让你失去变成独特的机遇。

祝你可以开阔你的视野,祝你可以变成自己期望的样子。