编程中的角色选择:哪类工作角色最适合你?


全文共2752字,预计学习时长7分钟

图源:unsplash

 

大多数情况下,我们囿于平庸的角色之中,陷入跳槽、转行的循环,难以获得满足感。但实际上,每个人都有着不同于旁人的独特天赋、能力和兴趣,据此找准自己的定位,就能最大限度地释放真我,获得无比的满足感。

 

如果你正打算转行(或开启新的事业),就会发现由于近年来职位或“专业”的种类激增,编程类角色多种多样。编程依旧是紧缺技能,但不再仅仅局限于开发产品。

 

通过目标明确的规划、项目与职业调研,你所能找到的可不是一份普通的工作——而是为你量身定制的岗位。完美契合自身需求的岗位意味着找工作的过程更轻松,你的才能与热情将会助你脱颖而出。下文分别介绍了最常见的一些编程相关职位,并列出了各个职位的整体要求。

 

下列清单基于笔者在互联网技术公司担任工程师期间的经历整理而成,远非详尽,毕竟具体职位和职务还要取决于公司和其文化,但可以作为参考。

 

软件/产品工程师(网络、全栈、前端&后端)

 

这一岗位通常是大多数编程学习者的首选,开发新技术所带来的兴奋感是其主要吸引力。你可能要全身心投入于算法之中,并且要擅长写清晰高效的代码。

 

因公司而异,这些角色可能会有更多细分岗位。例如,前端和后端通常就差别很大。前端岗位相对而言侧重于视觉效果或用户体验(UX),全栈岗位则需要通晓各种行当。在找到适合自己的细分岗位之前,全栈岗位是个好选择。

 

适宜人群:开发人员——热爱开发新技术和系统的人。

 

数据工程师

 

这是一种更专业的后端工程师。如果比起产品功能,信息系统更吸引你,那么这一岗位可能就是不错的选择。你需要通过开发和维护数据库系统来助力数据基础架构和分析。对于更喜欢以数据为中心的环境而非产品本身的开发者来说,这是一个很好的角色。

 

适宜人群:喜欢设计并开发新的数据模型和系统的人。

 

图源:unsplash

数据科学家/分析师

 

这一角色注重分析而非开发。如果你更乐于提升商业影响而非为客户开发产品,这一岗位是个好选择。这一角色更多地定位在创造性探索层面,通常发挥着商业智能(Business Intelligence)的作用。

 

如果你热爱探索新知、解开谜题,那么一定能在这一岗位上收获满足感。与数据分析师不同,数据科学家通常兼有机器学习方面的职责。

 

适宜人群:具有数学思维、创造力,热爱寻找答案的人。

 

数据可视化

 

这一角色常见于数据新闻(Data Journalism),可以视为前端工程师和数据分析师的结合。从业者需要具备创造力、视觉设计能力以及对数据的热爱。随着数据总量不断攀升,对于商务人士而言,进行有效可视化沟通(即“讲故事”)的需求日益显著,这类工作通常也是许多数据科学/分析角色的一部分。

 

适宜人群:具有创造力、同理心,并且有过硬的设计能力的人。

 

专员(安全、iOS、安卓、机器学习、VR、AI等)

 

这些是侧重某一领域的软件工程师角色。通常情况下,要具备特定领域相对更广泛的经验与知识才能胜任这些角色。如果你热爱钻研某项技术(认为重要的是学习的深度而非广度),那么这一岗位是不二之选。

 

这一角色或许不太适合喜欢涉猎多个领域的人,其覆盖领域较小,因而选择范围更窄。同时,物以稀为贵,这类角色往往能挣得更多薪酬。

 

适宜人群:想要成为某一领域的专业人士的开发人员。

 

质量保证(QA)工程师

 

这一角色通常需要使用Selenium、JMock、Pytest等框架来编写测试套件。该角色的功能是确保开发完成的软件能够按预期进行工作,并且没有漏洞。

 

虽然不会直接参与产品开发工作,但对于产品功能的正式发行而言,这项职务至关重要。并非人人都适合担任QA工程师,不过,如果你喜欢一丝不苟地测试技术以发现问题而非解决问题,这一岗位就再合适不过了。

 

适宜人群:着眼于细节,喜欢测试并发现问题的人。

 

图源:unsplash

站点可靠性/基础架构工程师

 

对于基于网络的服务而言,你需要保证这些服务正常运转。对于通过网络提供软件服务(SaaS)的公司来说,停机时间和性能问题可能造成很大的损失,因此这一角色承受的压力很大。如果能在压力下成长,并且享受与网络技术相关的工作,那么这一角色很适合你。

 

适宜人群:高压环境下仍能保持沉着冷静并且不断成长的人。

 

开发与运维(DevOps)

 

这一角色联通了软件开发与IT运维,可能负责设置对代码库、工具等的访问,以及协助开发人员配置环境。这一角色可能涉及开发内部工具和优化流程。你很可能要与开发人员密切合作,因此要具备良好的沟通能力。

 

适宜人群:对开发者工具和流程感兴趣的人。

 

开发者推广人员(Developer Advocate)

 

这一角色类似于开发者社区的“大使”,擅长社交并致力于向开发者推广工程工具。你可能会去参与展会和测试活动,或是时刻关注论坛以及时解答问题。如果你喜欢解释或是教授技术性概念,这一角色就很合适。虽然是社交型角色,但通常只会与开发者社区内的人员进行交流。

 

适宜人群:擅长社交,喜欢传授知识和参与科技活动的人。

 

技术支持工程师

 

这类角色通常是客户支持的进阶,需要用到自身的编程能力来解决技术难题。取决于公司的情况,你可能要处理各种各样的日常问题,

 

那些涉猎广泛的人相当合适这一职位。有时这类工作会涉及调查研究,但通常是以客户为中心,因此需要高度同理心。随着SaaS型公司的发展,这类角色也会变得越来越重要。

 

适宜人群:热心助人,具备同理心,享受工作中多样性的人。

图源:unsplash

销售/企业/解决方案工程师

 

这一岗位不像技术支持工程师那样需要解决日常问题,通常是在引导阶段与客户合作,为客户提供解决方案,将公司产品整合到客户的系统中。

 

对于擅长社交的人和优秀的沟通者来说,这是一个十分合适的岗位,它涉及大量为不熟悉技术的客户进行宣讲和演示的工作。有点像顾问,需要频繁地接触新客户,在深入了解业务的过程中,你将获益匪浅。

 

适宜人群:希望在日常生活中接触不同对象和技术的人。

 

技术类角色有着大量的细分岗位,你能在各种领域施展自己的编程才能,而不必局限于某一种工作。了解自己、清楚自己兴趣所在,找到适合自己的岗位,就能在事业中获得长久的满足感。


推荐阅读专题

留言点赞发个朋友圈

我们一起分享AI学习与发展的干货

编译组:孙津、黄壹格

相关链接:

https://medium.com/swlh/finding-fulfillment-in-coding-jobs-which-programming-role-is-your-perfect-match-10b475beb65a

如转载,请后台留言,遵守转载规范

推荐文章阅读

ACL2018论文集50篇解读

EMNLP2017论文集28篇论文解读

2018年AI三大顶会中国学术成果全链接

ACL2017论文集:34篇解读干货全在这里

10篇AAAI2017经典论文回顾

长按识别二维码可添加关注

读芯君爱你