程序员:请你不要对业务「置之不理」
12 月 28 日,在鲲鹏新青年计划群中邀请了好买财富平台架构总监 & TGO 鲲鹏会上海分会会员王晔倞进行了关于「程序员该如何快速去适应不同的业务领域」主题分享。以下根据当天分享内容进行整理,有部分不改变原意的删减。
大家好,我叫王晔倞,我现在是好买财富平台架构总监。我工作时间比较早,在 2000 年就已经踏入了 IT 圈,至今已有 18 年的工作经验。其中做了 7 年的开发,4 年的架构师。2012 年时,我在大智慧开始转型做技术管理相关工作。
上图是我给大家抛出来的一个话题,可能很多做技术的人都听过,或者你曾经内心也有过这样的想法,技术人一般都会说自己是 IT 行业的,但是一般不会太在乎业务领域。认为只要是写代码的工作,不管什么行业都可以做。
举两个例子,我们通过案例来说明。「此案例来源于王晔倞个人微信公众号:吃草的罗汉(ID:kidd_wyl)」
第一位来自某国内金融企业,他说,金融行业属于强监管领域,随着监管力度的加强,行业热度随之降温,对技术的需求也不像前两年那样强烈,但我对这个行业的未来还是充满信心的,所以选择公司我会优先考虑行业领域,何况不同行业间的业务区别还是挺大的。
第二位来自某互联网企业,他说,自己是搞技术的,在这近十年间转战过电商、金融、通讯等不同的行业领域,感觉都差不多,无非这家业务复杂点,那家代码行数少一点,分布式的节点多一点,微服务的原子颗粒更粗一些,搞技术嘛,本就不该有什么行业限制,什么行业都可以干,每个技术人都应引以为傲。
通过这两个案例,我们可以发现很多时候程序员也是很无奈的,想要换行业都比较被动,谁不想在一家公司长久的干下去呢?基于这个点,我想和大家聊一聊转战不同行业领域,该如何去应对。
首先,当你来到一家新公司时,你通常会面临两个方面的挑战,价值观和能力。
价值观,我将它统称为如何适应新环境。环境其实包含很多东西,并不单指办公场地环境、办公路线等等,更多是符合公司价值观。价值观具体是指公司所提倡你所做的事情,以及公司明确的规定底线和红线。
那么该如何快速适应新环境呢?我总结了四个套路:
当来到一个新环境时,你应该先去观察团队中的一些特点,如同事是怎么与合作的客户打交道的。并且你要用一种比较谦卑的态度,不要过于高调。原先我在大智慧时就吃过这样亏,刚进入公司时特别嚣张,感觉自己就像救世主,一来就能把所有问题都解决了。
我建议大家,当作为一名新人来到公司时,首先需要知道自己所看到的问题,绝对不是团队中第一个发现的。那么,在刚进去做的第一件事应该是,花时间去了解新团队,领会事情处理方式和交往方式,包括团队对于工具的选择和工作上的流程。大约过了一年左右,你才能了解整个公司环境,这时你再去做一些改变和建议,会更容易让人接受。
好的导师能给你提供建议,帮助你渡过难关,这时你需要学会的是套近乎。
有些公司就做得非常好,他会帮你安排一名导师。但如果导师安排得不够好,那么你可以自己再选择一个目标,让他来帮助你成长。
或许我们很多做技术的同学都有一些自恋,觉得自己的技术是世界上最厉害的,但是这样会导致自己内心有些自闭,不太愿意与别人进行交流。很多技术人一定听过这么一句话:一杯水,一支烟,一行代码写一天。
但是假设你到了一个新环境,一定要尝试学着去交流,这也是帮助你能更快的融入新环境的方式。
多投入额外的时间,尤其是在刚进入工作的一段时间里,可能一些重要的信息会从你的脑袋中溜走。建议大家可以使用一些笔记工具,把阶段性的工作进行总结,并从总结中收获经验。
那么该如何快速掌握业务知识呢?我给大家举个金融行业的例子。在我现在的业务中,按我的理解将它们分为两种类型,一种是强监管,另一种是弱监管。强监管指的是,所做的行业需要持证上岗,如医疗、法律、金融等。
所以我建议如果你要进入这样的公司,可以去考一下这方面的证件,不管公司是否对你提出了这样的要求,因为它能帮助你更快的了解公司相关业务知识。
除了上述这个方法之外,还有另外两点诀窍:
这一点是很多做技术的同学不愿意做的事情,但如果你刚进一家公司,首先应该先了解它的经营产品;其次,可以通过宣传资料、宣传 PPT、公司宣传视频等方式进行了解公司产品情况。当然,你也可以通过互联网搜索公司相关资料。
以好买财富举例,好买财富主要是做基金交易,它分为两个业务,基金交易业务和非交易类业务。如果你被安排进了交易团队,那你一定需要了解交易客户是什么,如公募基金交易和私募基金交易的区别,客户的内在需求,以及一般的交易形式。
最好的办法是,自己去使用产品。使用后才能让你更清楚产品的特性、产品的亮点和产品的竞争力,以及你们公司产品与其他公司产品有什么区别。另外一个办法是,To B 的同学可以多与老客户沟通,To C 的同学可以多与产品经理和运营沟通,这样也能让你更快的了解业务。
因此我建议各位 IT 的同学还是应该有一些行业概念,不管是 To C 还是 To B,行业与行业之间差距还是比较大的。
王晔倞:首先,我从两个维度来说,一个是行业领域的的区别,另外一个是在需求分析上的区别。
首先从行业领域上区分,To B 的产品要求技术人对行业领域的业务有一定深入的了解,如曾经我给一家基金公司做软件时,需要了解详细的业务流程与判断的规则。To C 的产品更在乎交互体验,因为它只要将用户进行分类,按分类解决需求就可以了。
其次从需求分析上区分,可能有不少做技术的同学非常不喜欢去理解业务需求,但是如果你没办法理解业务需求,就很难将它转换成程序。To B 更应该关注行业领域的统一化和标准化,做到抽离核心业务,提炼共性,用更好、更快的办法解决问题。To C 更多是面对产品经理,这主要是面对一些来自于线上快速试错的数据沉淀,那么应该多关注用户行为和数据分析,通过它们摸索出一群人的喜好,再进行提前调整。
或许有的同学会好奇,你说的这些应该是产品经理考虑的问题,和技术人有什么关系呢?
你想象一下,现在哪家公司的产品经理能达到这样的程度呢?那究竟是程序员在补产品经理的位置,还是产品经理带领程序员完成需求呢?我见过很多公司,一般都是前者,不少技术团队 Leader 的业务理解能力比一般产品经理强得多。所以各位做技术的同学们,一定要非常重视业务。
王晔倞:我认为,兼顾不了,也不需要兼顾。
首先由于很多公司不分架构开发,也不分应用开发时间,它的组织结构类型主要是按照业务区分。其次,你想要去了解业务,还要学习新的技术,并不是很简单的,因为很多技术的特性是比较繁琐的。
综上所诉,我得到的结论是没办法兼顾。如果你还是想做到兼顾,该如何做呢?
首先,这是与组织结构和系统有关系的,比如我们可以发现现在很多中型公司和大型公司都在做基础平台,包括中台战略、基础服务下沉、大平台小团队,这是其中一种战略方式。
其次,你需要将工作岗位进行区分,因为你可能两者全兼顾,除非你打算做外包。
以好买财富的组织架构举例:
平台架构部分和基础运维团队是提供技术服务;应用开发主要负责群众,大约工作占比是 30-40% 的技术,60-70% 的业务,这意味着他主要的精力是完成代码和业务逻辑,他需要更多理解业务实现的理由。
用简单的一句话总结架构就是,专业的人干专业的事。
所以如果你对这个问题特别在乎的话,我是否可以理解你的想法为,平日里你常做一些业务,既无趣又不能提升技术,未来该如何涨工资呢?
其实我们作为程序员,多多少少都有一些叫面向工资和简历开发,希望未来自己能在写简历时能够写出自己出彩的地方。如果你想快速解决这个问题,建议你不要利用休息时间去解决问题,因为就算你搞懂了理论,但你的场景还是不会,所以我认为你可以考虑跳槽去相应的平台和机会团队。
最后给大家推荐一篇我写的文章,「演化:这五年里,我们对架构师职责的思考与定位」,这篇文章很详细的说了这一系列的内容。
王晔倞:这个问题我们公司之前也遇到过,如果有资源就很简单,重构后系统就没有问题了,想要解决新旧业务平衡,招人就能解决了。
如果没有资源该怎么办呢?那就要看你的新业务和旧业务孰轻孰重。假设旧业务更重要,那你就投入 80% 的精力去做旧业务,新业务找一个最佳实践,也就是将所有的新业务挑一个最重要的做。
王晔倞:首先,我认为最关键的能力其实是上图提到的这三点,所谓的技术管理者,其实是指拥有技术的管理,将专业技能和领导力巧妙的结合起来。
上图右部分是我们公司对于技术管理者中高层的要求,作为一名技术管理者需要具备一个中心和三个基本点。一为自我修炼,二为如何搭建自己的核心团队,三为制定战略方向。
以下图中三点为管理团队的小套路,大家可以学习一下。
点击下方图片即可阅读
经济不景气时,程序员究竟还有没有出路?
你想与好买财富平台架构总监 & TGO 鲲鹏会会员王晔倞一起学习交流吗?