神译局是36氪旗下编译团队,关注科技、商业、职场、生活等领域,重点介绍国外的新技术、新观点、新风向。
编者按:对于很多人来说,职场中只有两类人。一种是懂得敲代码的人,一种则是不懂得敲代码的人。事实上,即便不懂得如何编写代码,你也可以尝试在技术领域进一步实现自我提升,这对个人发展、团队合作甚至公司发展都有帮助作用。这篇文章来自编译,文章的上篇首先介绍了对技术和编程的认知误区,同时分享了不同岗位提高技术素养、实现自我提升的方法与建议。
图片来源:Pexels.com @MART PRODUCTION
软件越来越成为我们生活中密不可分的一部分,但我们真的了解它到底是如何工作的吗?
在家里面,我们可能是父母心中的技术专家,能够熟练操作甚至修理各种智能手机和笔记本电脑,但这只是表面假象。事实上,我们大多数人都并不了解我们所使用的大多数技术到底是如何工作的。如果让你回答互联网到底是如何工作的,你知道怎么解释吗?
显而易见的是,我们不需要了解我们所使用的所有东西,就好比我们不需要知道为什么煮土豆时在水中加入小苏打会让它们烤起来的味道更好,或者为什么冰块有助于减缓肿胀问题。
然而,技术问额要比这些问题实际得多,我们身边也有很多人都在销售软件的公司工作。甚至可以说,现代职场中,只要是有工作的人,日常都几乎离不开各种软件。
这些都是我们必须要意识到的重要问题。毕竟,虽然我们经常听到现在正处于软件工程黄金时代这么一说,并且要招聘到开发人员并不是一项能够快速完成的工作,但一个被低估的现实问题是,在初创公司和技术公司内部,大多数职位并不会涉及到技术问题。
每个公司都会招聘市场营销人员、销售人员、招聘人员和管理人员,这些职位描述也不会涉及要求掌握计算机科学知识,或者甚至是基础的HTML技能,但他们的职业生活和日常工作流程却都离不开各种软件。
如果你也是这样,那你可以问问自己:我是否能理解工作中所使用的软件的基本概念?或者我现在任职的公司在开发和销售什么产品?
掌握更多的技术知识,有助于让你更好地与工程师一起共事,让你发现能够改进工作流程甚至实现工作流程自动化的机会,熟练地掌握你所使用的软件和工具,从而更好地完成有关工作,帮助公司提升业绩。
简言之,提高技术素养(即使用、管理、理解和评估技术的能力)为非工程师在以工程师为主导的领域中实现自我提升、脱颖而出提供了一条路径。
技术素养不等于学会编程
人们总是会以二元的方式来理解“技术”,即要么你就是懂得如何编程的软件开发人员,要么就是除他们之外的其他人。但事实上,学习编程是一项艰巨的任务:你至少需要投入数百甚至数千个小时的时间。此外,如果你想获得相关的学位,或者只是从训练营结业,你也需要投入大量的金钱与时间。
从某种程度上而言,虽然如今开发软件越来越简单,但开发人员仍然需要全面地了解比过去更多的特定领域工具,比如如何使用npm或者storybook等。
译者注:npm(“Node 包管理器”)是JavaScript运行时Node.js的默认程序包管理器。storybook是一个开源工具,可用于开发React、Vue、Angular等UI组件。
如果你不想成为一名软件工程师,那了解这些内容有什么意义呢?如果这就是对“技术”的定义,那么对大多数人而言,它就是完全不可触及的。
关于技术素养的二元认知也可以从影视作品可笑地歪曲软件工程师实际工作这一经典模因中得以体现。在几乎任何相关的电影中,你都能看到“程序员”在面对下图中的工作场景:
实际上,这些“代码”只是从维基百科上截取的SVG文件,我们可以直接将其理解为一张图。换言之,这不会是你在现实生活中看到的软件工程师编写的“代码”。
电影表达的观点很清楚,即无论程序员在做什么,都具有十足的魔术色彩,我们普通人是没有办法理解它的。由于几乎没有人会注意其真实内容,所以大家也可以直接忽略。
不过,事情并没有你想象的这么简单。技术更多的是一个范围面,而不是一码通吃的技能,而且你还可以选择许多不同的领域。你不需要成为开发人员即可了解不同文件类型之间的区别,你也不需要成为开发人员才能了解SVG是一种用于设计的图形文件格式。如果你有过在初创公司工作的经历,那你可能知道开发人员并不会在全透明的全息屏幕上写代码。
如果你觉得难以理解,你还可以尝试把它想象成演奏乐器。在吉他上随便拨弄和弦和能够即兴演奏一段独奏之间有很大的区别。这两种方式都能让乐器发声,当然,具体怎么用主要还是取决于你的目的。
技术素养也是如此。你不必学习如何编写代码,就可以了解什么是代码,以及该怎样编写代码。简言之,具备技术素养,即你已经掌握了技术工作的基本原理。更重要的是,你还能更加深入地了解自己所从事的领域。
就技术素养而言,实用有效的技术素养主要包括两个方面:
广义认知:即软件和硬件相关的基础知识。
什么是计算机?
什么是互联网?
什么是数据库?
深度认知:与工作相关的深层次知识。
我们正在打造、销售和使用的产品是什么?
它的工作原理是什么?它可以解决什么问题?
工程师如何打造和使用产品?
团队工具是如何起到帮助作用的?
如果你已经读到这里,那么,我相信,你肯定觉得自己能在技术素养范围内找到适合自己的位置。你不需要成为开发人员,就可以获取相关广义认知。
但你可能会问,具备技术素养又有什么意义?对于初创公司和科技公司的人而言,它主要有两个重要意义。首先,它有助于让你了解并与开发人员更好地展开合作。其次,它有助于让你在日常工作中使用相关工具方面成为专家。
图片来源:Pexels.com @Christina Morillo
与软件工程师合作并了解他们的重要性
如果你在一家初创公司工作,你很可能需要跟开发团队合作。具体而言,它包括对内和对外两个方面。对内方面,这可能涉及到内部工具、集成和提供专业知识等方面。对外而言,这可能涉及到对开发人员进行营销、销售和招聘。无论是哪种情况,能够与他们有效沟通交流都是一项极其宝贵的技能。
以我的经验而言,开发人员可能是最好奇、最善于思考、最具创造力的一个群体。从更宏观角度来看,他们在最好的情况下可能会显得令人生畏,而在最坏的情况下可能会让人觉得胆战心惊。
无论是通过自己的真才实干,还是通过其他方式,开发人员都享有一定的盛誉度。他们凡事都具有高标准,并且在某些方面也展现出了特殊的兴趣。但和任何其他群体一样,这种看法主要源自于认为他们与众不同。
因此,了解什么是代码,其工作原理是什么,以及开发人员每天都在做什么,将有助于打破这种认知障碍,并与他们建立更友好的合作关系。
对于部分岗位而言,与开发人员一起合作是其工作职责的一部分。假设你在一家面向消费者的初创公司担任产品经理,正在筹备推出一项重大的全新功能。你需要了解为了实现这一目的该怎样搭建架构。这项工作预计完成时间是两天还是20天?如果出现延迟,你觉得会有哪些原因?你又该怎样调整时间安排?在即将推出新功能之前,如果需要针对某些用户体验做调整的话,这又会有多困难?很多时候,产品管理实际上就是设定期望,如果不了解整个工作流程,那就很难做好这一点。
但是,开发人员不仅仅是内部利益相关者。假设你在一家B2B初创公司的营销团队工作,公司正考虑为开发人员推出一条新的产品线。你如何清楚地沟通产品的有趣之处?你应该考虑哪些能让开发人员觉得有趣的内容?有哪些渠道和推广方式?营销人员必须要了解其受众,才能打造出能吸引人的内容。
在这些情况下,了解开发人员以及他们所做的核心工作就会让你更有收获。具体而言,针对主要不同岗位,理解“技术素养”也有不同的注意事项。
产品岗
这一点不难,产品经理的所有工作都是基于与软件工程师的良好沟通合作而展开的。如果不了解他们的工作方式,或者他们正在为你的产品所编写的代码相关的基础认知,那你可能会变得毫无头绪。
对此,你应该高效地将产品功能相关工作作为需优先完成的任务,保持紧凑的时间安排,协调利益相关者的工作,这些都是基于对开发人员所做工作的理解而展开的。假设你是一名开发人员,难道你不愿意与那些花时间了解你所做工作的同事一起工作吗?
当然,你也不能过多干涉开发人员的工作,必须在其中找到一个平衡点。但总的来说,对于产品经理而言,具备技术素养是最基本的要求。
招聘岗
在初创公司中,对技术人员的招聘被普遍认为是最令人沮丧的瓶颈之一。
招聘人员的任务之一,即发现合格的开发人员,了解公司哪些岗位能够与他们的实际能力相匹配,并且还能解释为什么某个特定岗位值得挑战。
具备技术素养,可以帮助招聘人员更快地发现有实力的候选人,高效地介绍内部工程团队架构,并介绍候选人可能会着手解决哪些有趣的工程问题。
市场营销岗
10年前,可能几乎没有人会认为开发人员是值得重视的营销对象,他们根本没有购买力。但如今,有数百个公司的案例都已经证明了这是错误的,其中还不乏许多上市公司。
对市场营销人员来说,开发人员是不可忽视的受众群体之一。即便你的产品没有明确地以他们为中心,但几乎所有的初创公司最后都需要建立一个开发者项目。
如果不具备技术素养,营销人员就不知道如何有效地与这些潜在的受众群体沟通交流与合作。
销售岗
和市场营销岗一样,销售代表如今也在与越来越多的技术型组织打交道。众所周知,开发人员不喜欢被别人牵着鼻子走,因此,这个过程需要特定的方法:专注于直白的方式,快速实现价值,并允许开发人员自行体验有关产品。
不容置疑的是,你必须要了解开发者工作的基本流程,特别是相关流程与你销售的产品具有极大关联性的情况。同时,你还需要了解的是,为什么公司产品对技术团队具有吸引力。总之,具备技术素养是展开高效沟通的先决条件。
延伸阅读:
不学编程,如何在技术领域实现自我提升?(下)
译者:俊一