搜索
NFT元宇宙Web3
近期热门

a16z:如何在不学习编码的情况下在技术方面表现出色?

Founder

本文译自a16z,作者Justin Gage,转载请微信联系:huangdiezi

如果让你重新再选一次专业,你会选什么?

在老雅痞看来,计算机专业不仅是过去二十年里的最佳选择,也是未来很长一段时间里的必须掌握的一项专业技能。

但未来社会的发展,并不要求每个人都掌握编程技能、会写代码,想要在技术领域有一番作为,有很多可以发展的方向,今天我们就来介绍聊一聊,如何在不学习编程的情况下在技术领域脱颖而出。

软件正在成为我们生活中越来越重要的一部分,但我们真的了解它是如何工作的吗?

我们可能是家里的技术专家,对智能手机或笔记本电脑了如指掌。但这只是表面现象;事实上,我们中的很多人并不真正了解我们所使用的大多数技术是如何工作的。如果要你向我解释互联网的工作原理,你能做到吗?

显然,我们不需要了解我们使用的所有东西,就像我们不需要知道为什么用小苏打水煮土豆会让它们烤起来味道更好,或者为什么冰能减轻肿胀一样。但技术要比这实际得多,因为很多人都在销售软件的公司工作。而每个人都在使用软件的公司工作。

这些都是需要记住的重要事情,因为尽管我们经常听说我们正处于软件工程的黄金时代,无法很快雇佣到开发人员,但一个被低估的现实是,在初创公司和科技公司内部,大多数职位都不是技术性的。每个组织都雇佣市场营销人员、销售人员、招聘人员和高管,他们的工作描述不涉及任何有意义的计算机科学知识,甚至不涉及基本的HTML,但他们的职业生活和工作流程还是由软件主导的。

如果你符合这一描述,问问自己:我是否理解我工作中使用的软件的基本概念,或者我的公司实际开发和销售的是什么?这些问题不是反问。掌握更多的技术知识将帮助你更好地与工程师一起工作,有机会识别自动化或改进工作流程,并成为你用来完成工作和帮助业务增长的工具的能手。简而言之,技术素养为非工程师在工程师主导的领域中脱颖而出提供了途径。

技术素养并不意味着学习编程

人们以一种二元的方式思考 “技术”——有懂得编程的软件开发人员,也有其他人。但是学习如何编写代码是一项艰巨的任务:你要花费数百甚至数千个小时的宝贵时间。此外,如果你想获得学位,甚至只是从训练营毕业,你需要投入大量的资金和时间。虽然在某些方面,构建应用从未如此简单,但今天的开发人员需要了解比过去多得多的特定领域的工具(例如如何使用npm或storybook)。

如果你不想成为一名软件工程师,这还有什么意义呢?如果这就是“技术”的意思,那么对大多数人来说,它是完全不可触及的。

这种关于技术素养的二元观点在关于电影如何滑稽地歪曲软件工程师实际工作的经典meme中得到了记录。在任何一部电影中,你都可以看到“程序员”做这样的事情:

a16z:如何在不学习编码的情况下在技术方面表现出色?

这个“代码”实际上是是维基百科上的一个SVG文件,它基本上是一个图像(比如一个矩形)的表示;换句话说,这真的不是你在现实生活中看到的软件工程师“编码”的东西。这部电影想要表达的观点很清楚:无论这些程序员在做什么,都是完全的魔术,我们没有机会理解它,我们也可以忽略它,因为没有人会注意到。(归功于《社交网络》,它至少试图做到准确。)

不过,正如您将看到的,事情远比这微妙得多!技术是一个范围,它不是一成不变的,你可以选择很多不同的领域。您无需成为开发人员即可了解文件类型之间的差异,也无需了解SVG是一种用于设计的图形。而且,如果你曾在初创公司工作过,你可能知道开发人员不会在透明的全息屏幕上写代码。

你可以把它想象成演奏乐器。能够在吉他上随意拨弄几个和弦和能够即兴演奏出一段粗糙的独奏之间有很大的区别。两者都很好,实用性纯粹取决于你想要实现的目标。技术素养也不例外。你不必学习如何编写代码,就可以从了解代码是什么以及如何编写代码中受益。

具备技术素养仅仅意味着你对技术工作的基本原理很熟悉,更重要的是,你对你所从事的领域有更深入的了解。实用的技术素养有两个层次:

  • 基础:软件和硬件的基础知识。
  • 什么是计算机?
  • 互联网是什么?
  • 什么是数据库?
  • 领域:与工作相关的更深层次的知识。
  • 我们正在生产、销售和使用什么产品?
  • 它们是如何工作的?它们解决了什么问题?
  • 我们的工程师如何构建和使用它们?
  • 你们团队的工具是如何工作的?

如果你已经读到这里,希望你能相信在技术素养的范围内有一个适合你的位置,而且你不需要成为一名开发人员,也可以成为一名了解基本知识的人。但是,具备技术素养的意义何在?对于初创企业和科技公司的人来说,有两个重要的意义——了解并与开发人员合作,以及成为你完成工作所需工具的专家。

与软件工程师合作并了解他们的重要性

如果你在一家初创公司工作,你很可能需要与开发人员合作。这项工作可以是内部的——关于内部工具、集成、提供专业知识等——也可以是外部的——对开发人员进行营销、销售和招聘。无论哪种方式,能够与他们沟通是一项非常宝贵的技能。

根据我的经验,开发人员可能是最好奇、最善于思考、最有创造力的人。但长远看,他们在最好的情况下可能显得令人生畏,在最坏的情况下则可能让人胆战心惊。开发人员因其是一个具有高标准和特殊品味的强硬群体而享有盛誉。但就像任何其他受众一样,这种看法大部分源于他们的与众不同。了解什么是代码,它是如何工作的,以及开发人员每天都在做什么,将有助于打破这种障碍并建立合作关系。

对于某些职位,与开发人员合作是其工作内容的一部分。假设你是一家面向消费者的初创公司的产品经理,正在为一项重大的新功能发布而工作。你想了解为规格建立架构需要什么。这要花两天还是20天?你如何解释和分配延迟的时间?在发布前调整用户体验会有多困难?在很多方面,产品管理就是设定期望,如果不了解工作过程,就很难做到这一点。

但是开发人员不仅仅是内部利益相关者。假设你在一家B2B初创公司的营销团队中,该公司正在为开发人员推出一条新产品线。你如何清楚地表达出产品的有趣之处?你应该写什么样的内容让开发者觉得有趣?你应该在哪里发布和推广它?营销人员需要了解他们的受众,以创造和发布有吸引力的内容。

在这样的情况下——以及你可能已经想到的许多其他情况下——理解开发人员和他们所做的工作的基本知识将使你走得更远。以下是一些常见角色的技术素养问题:

产品

这一点很简单:产品经理的整个工作都是基于与软件工程师的良好合作!如果不了解他们是如何工作的——以及他们为构建你的规范而编写的代码的基础——你将毫无头绪。有效地确定特性工作的优先级,保持紧凑的时间线,以及协调利益相关者,这些都是基于对开发人员正在做的工作的理解。作为一名开发者,难道你不愿意与那些花时间了解你作品的人一起工作吗?

你并不想冒犯开发人员并过多地参与其中;这肯定有一个平衡点。但是作为一个普遍的规则,对于产品经理来说,技术素养是不容置疑的。

招聘

技术招聘被普遍认为是当今初创公司最令人沮丧的招聘瓶颈之一。招聘人员的任务是寻找合格的开发人员,了解哪些类型与他们相关,并能够解释为什么特定的职位是引人注目且有趣的挑战。技术素养可以帮助招聘人员更快地识别出有实力的候选人,明智地谈论内部工程组织,并阐明候选人将从事何种有趣的工程问题。

市场营销

10年前,很少有人认为开发人员是值得推销的对象;他们根本没有购买力。如今,有数以百计的公司已经证明了这是错误的,其中许多已经上市。作为营销人员,开发人员是你不能忽视的受众。即使你的产品没有明确地以他们为中心,每个创业公司最终都需要建立一个开发者项目(参见Slack和Twitter)。如果没有技术素养,营销人员将不知道如何有效地与这些潜在的受众沟通和接触。

销售

和市场营销人员一样,销售代表现在的任务是与日益技术化的组织打交道。众所周知,开发人员不喜欢被推销,所以这个过程需要一种特定的方法:专注于没有多余的修饰,快速实现价值,并允许开发人员自己使用产品。不言而喻,你需要了解典型的开发者工作流程——尤其是与你所销售的产品有关的工作流程——以及是什么让你们公司的产品对这些技术受众具有吸引力。在这时,技术素养是能够明智地发言的必要条件。

工作中的技术素养:使用工具

理解并与开发人员一起工作只是一部分。软件正在成为所有团队运作中越来越重要的一部分。十年来,销售团队在Salesforce上建立了基础,同样的模式也越来越适用于其他团队。

不用说,你越是了解你的团队所依赖的软件,你就越是精通它。这自然而然地发生了:规模足够大的团队通常会有一个“高级用户”,他似乎知道 Salesforce、Lever 或你的团队运行的任何软件的来龙去脉。你想成为这个人。

a16z:如何在不学习编码的情况下在技术方面表现出色?

科技公司的大多数职位都需要使用的行业软件工具。

虽然技术素养将帮助你了解这些工具以及它们在更广泛的生态系统中的位置,但工作并没有就此结束。成为真正的超级用户需要花费数小时阅读文档、在线查找教程以及围绕你关注的任何工具与社区互动。例如,Hubspot有一个充满活力的论坛,用于询问产品问题和了解其他公司如何使用该工具。但对于所有这些,技术素养是基础。

在工具领域,技术素养可以提供帮助的还有一个领域:集成。你日常使用的工具与公司堆栈的其他部分集成。Lever的招聘信息可能会显示在你的营销网站上,其中Lever充当CMS;Intercom可能会从你的数据仓库中提取用户级数据。随着整合的进行,问题也随之而来。只要有基本的技术知识,再加上一点小技巧,你就可以从:

“这个招聘启事没有显示在网站上–工程部的人可以帮我吗?”

到:

“我检查了一下,看起来我们最近的Netlify构建失败了,因为有一个Contentful条目缺少标签。我把它归了档来解决这个问题,但创建它的人能否在有时间时解决它?”

后者不需要知道如何编码,只需对网站如何工作以及CMS的工作方式有一定的了解,但这可能意味着立即修复某些内容与几周内修复某些内容的区别。这类情况还有很多,包括:

  • 调试Salesforce中的数据和仓库中的数据之间的不匹配
  • 在不需要工程人员帮助的情况下对你的营销网站进行复制修改
  • 将数据从Segment发送到一个新的客户激活工具上

你获得的技术知识越多,你就会在公司工具链的裂缝之间发现更多这样的小机会——你的影响力就越大。

最后,任何关于技术素养的讨论都需要考虑所谓的低代码和无代码工具的“出现”。它们使非工程师能够比以往做更多的事情,例如构建登录页面、内部工具或数据管道。虽然这是一个较长讨论的一部分,但在这些工具中构建真正的东西,通常需要与一些技术性的东西对接——无论是API端点还是简单的数据库——而具备技术知识往往意味着自给自足与被工程资源拖延的区别。

提高技术素养的一些技巧

不幸的是,这是最难的部分。人们没有像他们希望的那样具备技术知识的主要原因之一是,这真的很难做到:没有训练营,没有学位,没有书籍,也没有涵盖你可能需要的一切的一站式商店。学习软件的基础知识通常是由博客文章、YouTube视频、咖啡店聊天和2011年的幻灯片等奇怪的东西拼凑而成。

但是有好消息!如果您在一家初创公司或科技公司工作,那么你就处在一个通过良好的、老式的经验获得更多技术知识的绝佳环境。你周围都是真正的开发人员,你的工具使用的是实际数据,而你的队友则被困在那些可以被有意义地改进的工作流程中。随着边缘情况和错误的出现,你可以将自己的技术素养运用到工作中并解决它们。

这里有一些建议,可以帮助你开始旅程。

制定一个计划

学习“吉他”很困难,但是用吉他学一首歌就容易多了。同样,如果您想了解有关软件的所有知识,您很快就会不知所措。仍然有每个人都应该知道的基础知识——比如如何弹奏和弦——但神奇之处在于你如何应用它。

首先看看你的公司和你的角色,以及你认为更具技术性的地方可以给你带来的优势。早些时候,我们确定了技术素养可以提升你的表现的几个领域:

  • 理解并与开发人员合作
  • 成为你的工具链的专家

对于每一个领域,初创公司的员工和领导者都应该考虑如何将它们与自己的特定职能联系起来。如果你是一名市场营销人员,你将需要专注于培养对开发人员角色的深入了解,并深入研究诸如电子邮件交付能力或数据如何在系统之间移动等特定主题。对你想学的东西要有针对性。一个有用的问题是:“我在哪里因为不懂技术而吃了亏?”

找一两个开发人员朋友

如果你在创业公司工作,你周围已经有很多人整天都在做你想学的东西:软件。如果你处理得当,他们可以成为你技术扫盲路上的宝贵资源。如果你没有一个工程团队(或者如果你真的不喜欢他们),你可能有一两个朋友可以填补这个角色。

你要有备而来。比起漫无目的的好奇心,带着你事先想到的问题进行有条理的对话更能有效地利用开发者的时间。试着专注于你最薄弱的领域,提前做研究,这样你就不会把所有的学习负担都推到别人身上。

假设你是一名客户主管,在一家销售NoSQL数据库(如MongoDB的初创公司工作。你对开发人员如何处理数据库了解得越多,你就会成为更好的卖家;但让开发者向你解释整个情况是一个注定要失败的要求。相反,你应该提前做研究,并写下让你困惑的具体要点。”我正读了SQL和NoSQL之间的区别,我不明白如何查询NoSQL数据库 “比”你能向我解释一下NoSQL吗?”要好得多。

当然,如果有人真的帮助了你,请他们喝杯咖啡或做点什么吧!

善用谷歌

这条建议可以在任何关于学习的文章中找到。除了快速掌握特定的工具外,网络上没有多少地方能提供可以直接阅读的资源;你需要斗志昂扬。根据我的经验,解释技术概念的最佳内容位于两个地方:

  • YouTube。里面有很多垃圾内容,但它可以是技术概念视觉解释的金矿。最有用的视频并不总是最华丽或最佳制作的。
  • 特定公司的博客。这些内容很难找到,但通常来说,对于任何单个概念,最好的内容都来自于通过该概念赚钱的公司。我最喜欢的例子是Duo Security关于SAML的帖子,以及Cloudflare关于了解其公司的指南。

像任何事情一样,你需要完善你的搜索技能,并培养一种直觉,判断一段内容是否值得你花时间。

考虑基本的编码

我已经说过很多次了,你不需要学习如何编写代码就能成为技术人才。但它确实有帮助! 了解编程是如何工作的,什么是语言,以及像包和版本控制这样的基本模式将对你有全面的帮助:

  • 你会对开发人员的实际工作有一个具体的了解
  • 你将能够编写简单的脚本,并使用工具来自动化你的工作
  • 你会对开发者现在使用的工具(React, Redux等)有一个自身的看法。
  • 你不需要成为一个成熟的程序员;把它看作是探索性的学习。

如果你只是想尝试一下,网上有很多不可思议的免费资源。我最初是在Codecademy的Python课程开始的。有人给我的一个有用的建议是,想想一些你想要构建或自动化的很酷的东西——可能是一个小费计算器或发送电子邮件的东西——然后试着专注于学习你需要什么来构建那个特定的东西。

寻找你所在领域的影响者和专家

一旦你制定了计划,并开始在网上寻找有用的内容,你很可能会遇到一些在你的特定领域常见的人,他们正在创造有用的东西。在社交媒体上关注这些人,订阅他们的时事通讯,并查看他们的YouTube频道的更新。举几个例子:

  • Benn Stancil 关于数据策略和工具的子堆栈
  • Corey Quinn关于AWS的通讯(以及他有趣的Twitter)
  • Vicki Boykis关于科技和科技文化的时事通讯
  • 我的技术通讯,关于更多的技术

你可能不能理解你读到的所有东西,但传播的力量是强大的,你会惊讶于你进步的速度有多快。

公司可以做些什么来提供帮助

我们已经讨论了很多员工个人能做什么,但初创公司和科技公司的领导者也应该把技术素养视为一个紧迫的问题。如果你是一名雇主,想想你该如何帮助你的员工掌握技术,比如:

  • 为继续学习、会议、书籍和在线课程提供教育津贴
  • 弥合工程差距并专注于支持非技术团队的公司活动
  • 为员工提供专门的时间来学习编码基础知识和技术基础
  • 与公司工程师合作,帮助感兴趣的员工快速熟悉公司内部的基础设施和贡献

给予员工资源和时间来提升他们的技术素养,从长远来看将为公司带来红利。你将建立一个比竞争对手更了解开发人员和他们的工具集的团队——一个更有能力处理创业过程中可能遇到的任何困难的团队。

编辑于 2022-01-29 03:29
「 真诚赞赏,手留余香 」
赞赏

发表评论已发布0

手机APP 意见反馈 返回顶部 返回底部