我为什么从工程转了算法?

一句话总结下:年龄大了,总想让自己做的事情有意义点,所以想让自己写的代码对产品有更多的影响、可衡量的影响。

1、我发现自己的JAVA开发和大数据业务处理对产品影响甚微

我自己工作快7年,工作主要有两个方向:

A - JAVA后台业务开发

来什么需求做什么开发,增删改查,接消息发消息,因为之前做的是公司商业运营部门的需求,面向公司运营市场人员,不直接面向普通用户,系统访问量特别低,往往一天几千个访问量很不错了,这也导致出去面试的时候别人问我系统QPS有多少,我真是不好意思说是不到两位数;

B - 业务大数据处理

现在做业务的都要看数据,毕竟数据能反映业务的状况,一旦涉及数据就不只是mysql里面的那些少量数据,往往需要查一下各个渠道来源的流量之类的,这就要去查公司级别的数据仓库,而他们每天的数据量每天几十上百TB,不用HIVE/SPARK这些大数据技术搞不定,但说到底就是SQL取数做个图表出来,出去面试人家问大数据建模方法论、怎样实现跨业务的统计指标统一我照样是一头懵逼;

虽然我知道JAVA的后台服务开发确实可以往后发展,但是我没有接触到高并发这些难度大的方向;而大数据业务处理虽然只是出了一些报表,但是我自己却没有分析报表的能力,报表也是老大们看他们根据什么数据拍了什么板我也不知道。

这两个方向都让我觉得有种不那么精准发展的感觉,如果我对别人说自己的职业发展方向是JAVA,恐怕别人会觉得你是随着业务走什么都得干,称作"方向"有点虚虚的,同时它俩都是非常间接的影响着业务,或者说影响很微小,缺少了那么点"意义"。

2、对数据相关的学习,让我关注到数据分析和数据智能领域

大数据领域这么的火,它真正的对产品业务有哪些影响呢?

上面我整理的图表是我的理解,数据仓库、数据报表其实都是基础技术,只是工具或者手段,属于公司的基础技术部分,这两层的技术其实就像在打造一把刀,然而刀怎么用却跟这两层没关系。

你跟别人说你是搞大数据的,被人怼你就是个取数的,你能反驳吗?

再往上层走,是数据分析,通过数据分析,能够发现产品的问题、发展的趋势等等,然后影响产品的往后发展,但是我们开发人员其实跟这层也没有关系,因为分析的目标是决策,而我们码农并没有决策权。

最上层数据智能,我指的推荐、搜索、用户增长等各个算法领域,搜索算法造就了百度谷歌、推荐算法造就了头条快手,用户增长领域是所有产品都要核心关注的事情,而这个领域,我们写的代码能真正看到对产品的影响,也能用线上点击率、购买率等真实有效的指标衡量。

所以数据智能这一层才是我想要的,也是我觉得可以定准的方向。

3、说是转了算法,其实是实现了算法在业务的落地

没有足够的耐心,真的读不懂算法论文里面的公式,到现在我也没法手推算法公式,不能算是真正的算法人员。

然而我却发现,我的目标是“让自己的代码给业务带来更多直接的影响”的话,潜伏在业务团队中、能快速运用成熟机器学习算法框架让算法落地上线产生线上价值,反而走对了。

听很多人都说过,现在缺的其实不是研究算法的人,而是将算法结合业务落地的人才,吴恩达在他的视频课程中提到,他讲的算法虽然很基础,但是能搞定80%商业公司的需求;

仍然在业务中做算法,实现在业务中的算法落地让我的代码真正产生对业务的影响才是我的目标,让我去专门的算法团队,一是我写不了算法公式去不了(哈哈),二是去了离业务远了点也违背了我的初衷。

4、其实掌握算法技能,本来就是搞工程将来必备的要求?

人恐惧的经常是对未知的恐惧,接触了算法领域,我才发现并没有那么的高深恐怖不可接触,各种机器学习深度学习框架,比如sciketlearn、tensorflow、paddlepaddle等,完成一个简单的CTR排序模型,只要简单的几十分钟就能参照教程实现训练。并且几乎所有的所谓算法人员,并没有从零实现一个算法发明一个算法,都是直接修改现成的模型代码,做各种的数据获取、数据处理、特征提取等事情。

体现算法能力能力高低的,变成了一是这个人是调参圣手,第二就是这个人能把算法很好的结合业务落地,数据智能这一层因为是顶层,会依赖大量的底层技能,下层的pingback、业务数据、数据仓库、数据分析、JAVA开发与架构能力等都需要涉及,如果团队人少的话(就像我一样)所有的事情你都得干,这一层其实需要极强的工程能力,这方面专门搞算法的恐怕没有工程出身的玩的好。

要将算法在业务中落地,更多的还是得靠工程开发人员,这方面也会越来越侧重,而专门的算法团队做一些基础设施、提供算法平台恐怕是更有可能发展的方向。

人工智能越来越火,算法框架越来越简单,学习成本门槛越来越低,等越来越多的工程都会算法,面试一个JAVA程序员时必问算法落地能力时,懂得算法就是一个程序员的必备技能,而不是加分技能。

关注这个公众号,一起学习吧哈哈!

相关推荐

1 thought on “我为什么从工程转了算法?”

Leave a Comment