首页 > 程序人生 > 为什么码农要了解业务?
2018
06-20

为什么码农要了解业务?

  昨天,一位分析界的老前辈对我很无奈地摇摇头,“这帮程序员,不食人间烟火哪!”

  我也深有感触,全世界的码农都一个鸟样。

  这让我想起了,同样也是他,在多年之前,对我提了警醒——要重视业务。

  从那之后,我一直狂奔在技术+业务的双修道路上。

  放在以前,码农这个族群一定是稀罕动物。但在今天,这个世界最不缺的应该就是码农了,未来最廉价的也将是码农。

  仅有泛泛一技,在未来并不吃香,因为那是要被机器人所取代的。

  这个世界,缺的是技术过硬又精通业务的工程师,缺的是真正能解决实际业务问题的人,缺的是复合型的人才。

  码农不是工程师,码农只是会写代码,只会明确需求和逻辑的情况下写代码。工程师则不一样,懂得用技术怎么解决实际业务问题,用技术驱动业务的发展。

 什么叫业务?

  先来明确这个问题。

  业务是一个很实在的东西,看得见感受得到,接地气儿。

  业务就是我们所能理解和感受的世界,就是这个世界或者某个行业的运转逻辑、流程与现状,是结果表象,是能够被看见和感受的,也是内在本质,是能够被洞察和感知的。

  业务就是这个世界发生了什么,什么时候,谁参与,怎么发生,结果如何。

  业务就是什么时候,谁在哪里,买了什么东西,花了多少钱,用什么支付。

  业务就是这个行业怎么发展起来的,现状如何,未来趋势如何,用了什么技术,有什么企业,商业模式如何,盈利能力如何,目前主要面临什么问题,消费者有什么特点,等等。

  世界很复杂,单个细分行业的业务也很复杂。

 为什么要了解业务?

  谈到这个,码农们一定有所不悦,“熟悉业务是需求分析师做的事,跟我们没有关系。”

  打个不恰当的比喻。有10个人经过一栋写字楼,突然从楼上掉下来几块砖头,砸中了9个人,其中就有7个码农,3个硕士,1个博士(原谅我又犯职业病,拿数据说话了)。而没被砸到的那个人,恰好因为了解到之前经常发生这样的事而绕道行走。

  如果你只会写代码,你不是不可替代的,而是可有可无的。因为这年头,会JAVA、C、Python的程序员,在大街上一抓一大把。现在已经开始提倡,编程从娃娃抓起了。10后都开始跟你抢饭碗了,你怕不怕?

  但话也不是那么极端,除非你的技术很牛逼,在国内或者某个行业内能够排上号的。但技术牛逼的人,也不是只是技术超群,还常常因为能够利用手中的技术解决某方面的业务问题,做了哪些突出的贡献。我们出来混,也是要拿成果说话的,做过什么项目,有什么价值。这种价值往往就是针对业务而说的。

  IT研发与业务需求方常常是一对冤家,常常因为一个业务功能实现争辩得耳红面赤。研发觉得这个功能很low,没什么技术含量,业务方却认为这个功能却很有用,需要花功夫做细做深做好。现实情况是,功能做出来了,却很难用,或者经常用不了,或者数据不对。研发想做点高大上的功能,业务方却认为太虚了,没什么用。(IT与业务方那点事就不多说了,大家都心知肚明~~)

  多年经验反复告诫我,鉴定一个功能是不是好功能,唯一的标准是看它能否支撑业务、改善业务、推动业务,也即应用效果。一个产品,只要有30%的功能,让业务用户用起来很爽,感觉帮助很大,就已经是一个不错的产品了。

  我们都认同,技术驱动业务。但我们不一定明白,正是由于业务的某些强烈需求,才推动技术的发展与落地。

  说这些,我是想说,作为技术人员,我们既要仰望星空,也要脚踏实地,既要追逐腾飞的技术,也要重视落地的业务。

  如果一个业务人员很懂技术,那将很可能是技术人员的灾难。因为那样的话,业务人员会很强势,又或者那样就没有技术人员什么事了。

  当然,也不难想象,一个真正懂看数据的测试人员,就好比一个真正懂用算法的业务人员一样难得。

 业务与数据的关系

  真实(而不是杜撰、模拟、伪造)、可量化、可被记录的数据一定会反映真实世界某方面的业务情形。而现实当中很多业务场景都可由数据体现出来。

  零售是业务场景最繁多且最贴近我们生活的行业,可以从中找到很多方便理解的例子。

  当你在一个酷热难耐的夏天上午10点,走进位于公司附近的全家便利店,使用微信支付,花了3.5元,买了一瓶无糖330ml摩登罐的可乐,而且刷会员卡攒了100积分,而收银员MM返回给了你一张POS单据,这时你所发生的这一切都已经通过收银记录在了全家的数据库里。更糟糕的是,店里的摄像头也已经把你在店里的一举一动录了下来了,转化成为一帧帧图像数据。

  这就是,业务数据化。

  店长通过数据分析发现,最近3.5元330ml摩登罐可乐的销量比上月增长了20%,而消费者中75%是20-35岁的男性,相比之下,300ml塑料瓶装的可乐销量却下滑40%。店长权衡比较了一下,300ml塑料瓶装可乐利润低,330ml摩登罐可乐目前更受年轻人欢迎,考虑到日渐增长的租金压力,做了一个大胆的决定——下架300ml塑料瓶装可乐,增加330ml摩登罐可乐的商品。(又拿数据说话了。)

  这就是,数据业务化。

  或者,数据驱动业务。

  当我开始接触一个行业时,我通常会花2-3周的时间去了解这个行业的业务,然后就大致清楚这个行业有什么样的数据,可以做哪方面的分析,解决什么问题。

  当遇到不好理解的分析结果时,我经常使用业务联想法,设身处地去体会结果所反映的业务场景是什么样的。

 如何了解业务?

  这个说大了,就是如何看这个世界。每个人有每个人的方法论,每个人有每个人的世界观,每个人有每个人的逻辑思维。

  我们都知道,观念的转变是最难的,也有很多不确定性。有些人可能因为自己的切身体会一天就改变了之前几十年根深蒂固的看法,有些人任由三姑六婆苦口婆心地劝说就是不肯改变自己的择偶观,却有可能因为自己年岁渐大不断降低自己的标准。

  但最好也及早要形成科学的思考方法,帮助正确地理解这个世界。

  以“面-线-点”的方式可以较为全面、系统、深入地了解一个行业,然后是某个垂直领域,最后再到具体业务场景。

  佛系文化的流行,使得年轻一代降低对这个世界的关注度,一切都无所谓,一切都漠不关心。

  这个世界从来没有变好过,但我们每个人都是这个世界的匆匆过客,都是行走在自己的人生路上不断领略这个世界的美与丑。这世间的风景,这世间的悲欢离合,如果我们积极地探索与领悟,也不枉来这世间走一遭。

  保持好奇心,可以驱动我们的思考,强化我们的认知,丰富我们的内在。

  这是我想说的第二个方面。

  怀有好奇心,就会渐渐地敏锐观察这个世界,多问自己一些为什么。

  我家附近原来有个沃尔玛超市,现在地产商将它装修一番,引入了不少餐厅,刚开张不久,我就去那里吃饭,吃的是烤鸭,一个多两个月后,再去那里吃饭,发现有一半的餐厅已经关门了。

  在去地铁站的那条路上,每天人流如梭,一点点,即使到了深夜,依然有很多人在门口排队买奶茶。然而,仅仅隔了一个店铺的喜茶,做不下去,关门了。两三个月前又换成粉店,路转粉。每天下班路过时,发现店里顾客不到10个,门可罗雀。

  为什么每家一点点奶茶店门口,不管是什么时候都是很多人,他们是托儿还是真的顾客?

  因为喜欢新鲜,不喜欢在冰箱里存太多菜,且附近没有菜市场,所以常去买菜的还是附近的钱大妈。但我却没怎么去更近的一家生活超市,店面比较大,除果肉蔬菜外,也卖油盐酱醋,还有生活用品,但奇怪的是顾客却不到钱大妈的1/10。

  为什么几乎所有潮州牛肉店都很多人,有很多甚至在门口排了很长的队?

  观察到这些,常常会陷入思考,为什么会发生这些,新零售到底改变了什么?

  再举个例子。

  去年拿保温杯泡着枸杞的中年男火了。

  关于这个,我又问了自己几个问题:拿着保温杯泡着枸杞的是不是都是中年男?如果是,这个特征能否被数据量化?可否考虑加入到算法模型当中,加以应用起来?

  虽然很多问题,我没有找到答案,但多问自己问题,会引发自己不断深入思考,不断激发自己好奇心,不断去研究。

  很多业务知识都是零散的,不可能在短时间内完全了解,可以在日常不断积累。

  关于日常积累业务知识,可以经常询问懂业务的人。这是我想说的第三个方面。

  刚进公司的时候,我以为业务很简单。很快,我就发现里面的坑不少。加上所在团队的成员也是刚入职不久的,问问题没处可问。过了一个月之后,我发现隔壁团队有两个十年左右的老员工,业务很熟,而且人特好。于是,我几乎一遇到业务问题,就跑过去“骚扰”他们,他们也很乐意解答,如果他们不清楚,他们也会告诉我应该去找谁了解。大约半年之后,我基本摸透了顺丰的数据和业务情况。我也和那两位老员工建立了不错的友谊,即使后来换了部门,我也经常过去找他们。

  跟懂业务的人搞好关系,遇到业务问题,多咨询他们,这是最有效最接地气的办法。

  多看书,这是我想说的第四个方面。

  比如说,从事新零售领域方面的工作,总得先了解新零售是怎么回事。你可以去听专家们忽悠,但这样的机会很少,而且时间也有限,说不定成本还很高。

  读书则不一样。读书,意味着主动了解,主动去构建自己的知识体系。

  读书的重要性,这里不多言了。

  如果您读这篇文章的时候,您恰好也是一位数据人。我还想告诫一句:我们不能脱离业务去看数据,而是要时刻从业务角度去理解数据。

  我们不敢期望可以完全理解这个世界,但也憧憬着我们不单可以在代码的世界里畅快驰骋,论剑江湖,也可以放下身段洞察芸芸众生之百态,领悟人间世俗之真情。

  如果真的可以的话,就没有需求分析师什么事了。

编程技巧