文:Graciagit
导语:本期采访对象@陆丹峰,大数据领域创业者。思惟严谨,凡事讲求效率,习惯性地寻找最快、最优美的解决方案,关注事物的本质……北大数学系的7年时光显然在他身上烙下了深深的印记。正是因为这些特质,当下流行的“大数据”在他眼里并不难,阳光底下无新事,只要掌握了底层的原理和数学知识,一切就会像庖丁解牛般游刃有余。面试
他曾用半年时间完成了一篇SCI索引文章(SCI索引是博士毕业的标准),守着横溢的才华不挥霍那不是浪费吗!因而毕业的时候打着创业的幌子玩了半年游戏,游戏没作成,却发现不能再这么玩下去了。再后来的日子,他奋起直追。曾前后几回从无到有搭建技术团队,在上家公司,他负责搭建并管理近百人的研发团队,及公司核心产品线的架构与研发。可他内心清楚,团队再大,也是为了实现别人的梦想,而一直以来,他都想要追寻本身的梦。算法
终于仍是辞职了。他看好大数据处理的将来,创业方向是基于社交媒体的流式数据加工和处理平台。对于这个曾经的数学家来讲,大数据的算法复杂度是能够计算的,而创业则要面对更多的变量,在寻求优美架构的背后,还须要不少商业上的支撑。见面那天,他的日程安排得很紧张,下午刚参加完微软孵化器的面试,晚上还要继续见人。采访完成后,咱们一块儿吹着冷风,步行从中关村去北大,二十分钟的路程,他一直在和客户作电话沟通。创业公司刚起步,为了团队能继续追梦,他不得不接一些算法优化方面的项目,在理想和现实间寻求平衡。过了这么多年,他早已再也不像毕业时那般心高气傲,而是更加沉稳和实际,脚踏实地的追寻梦想。segmentfault
我本科和研究生都在北大,专业是数学。研究生的方向是图像处理,毕业前用了半年,完成了一篇SCI的索引文章(SCI索引是博士毕业的标准)。论文的内容是关于曲面重建,经过采集到的零散的点,去掉噪音,把原有的场景和形状还原出来。当时很是疯狂,导师在美国,我在中国。天天大概7点去实验室,12点甚至1点回宿舍,半学期就完成了从理论到建模的工做。微信
05年毕业的时候导师想让我跟他去美国作研究,而我对互联网很感兴趣,想留在国内创业,因此连简历都没有写。当时创业气氛没有如今这么浓厚,北大毕业生这样作的比较少。网络
因而联合了另外两个本科同窗打算作网游,怎么作呢?当时想的是要先玩好游戏才能作游戏。正好魔兽世界特别火,咱们仨都沉浸在其中。半年里天天除了吃饭睡觉,就是打游戏,最后游戏没作成,却发觉不能这么玩下去了。数据结构
如今回想,这半年是一种很特殊的人生经历,但是这个过程当中失去了很是多的东西。选择创业没有错,但当时的咱们太心高气傲,无论是对市场、对怎么作这件事情和对自身,都没有一个足够清晰的定位和认知。若是能从新再来一次,我应该会作不同的选择。架构
第一次创业失败以后,仍然仍是想创业,跟着一个同窗的前领导,开始作大型网站的质量分析和诊断。好比说一些国家机关的网站,作得很是庞大,咱们就想办法帮它作优化,检查页面上是否有断链、提高访问速度、作SEO优化等。因为发展方向不是我喜欢的,因此07年离开了。并发
这个时候我感受须要进入大公司学一些东西,补充本身在认知体系、经验方面的欠缺。正好日本电通成立了Digital Marketing部门,我加入进去负责整个IT部门和IT团队的搭建,工做内容一方面是公司内部IT的运维,另外一方面是精准营销产品的开发,主要是广告数据的分析产品。运维
在互联网营销这个领域作了两年多之后,遇到 AdMaster的负责人闫曌。AdMaster专一于作网络广告的效果监测,刚拿了风投,须要增强研发团队,咱们就一拍即合在一块儿了。原本研发团队都在上海,我去了后就开始有北京研发团队了。在电通,IT属于支持部门,发挥的空间也比较少。AdMaster是一家广告技术公司,能够有很大的成长空间。
我在AD的两年半里,从无到有创建了北京研发团队,重构了广告监测产品的底层并主导了基于社会化媒体的数据分析产品。但我骨子里仍是喜欢本身创业,给人打工是帮别人实现梦想,就算挣几万块钱一个月,也没法彻底支配本身的生活。
我比较看好大数据和大数据处理的将来,咱们正在作一个基于社交媒体的流式数据加工和处理平台,实时对社交数据作各类各样的加工,能够应用到精准营销、企业公关预警、行业趋势预测、竞品分析等领域。在数据获取到之后,咱们能够在毫秒级别实现数据的实时处理及呈现。
这种对数据的需求,如今看来可能只是大企业愿意花钱,不少中小企业甚至我的没有办法去享受这种数据服务,一方面是由于服务太贵,另外一方面是如今市面上的产品还达不到客户的需求。可是若是能够把这个服务变得很是方便,把收费的模式变得很是灵活,中小企业或我的都会有相应的需求。例如,我想买一个东西,特别但愿了解背后的信息和评价。可是这些信息得靠我花时间去挖掘,将来经过咱们的服务,瞬间就能把这些信息所有展示出来。
不会。咱们实际上是作一个数据处理的架构,针对不一样的平台会有不同的数据获取方式,和数据源的关系不大。除了社交媒体以外,咱们还会抓取一些视频媒体、电商媒体的数据。永远不要为数据担忧,由于数据在五年之后,你不知道它会有什么样的变化。五年之前咱们有这么多数据吗?根本没有。你如今以为拿不到什么数据,之后的数据会愈来愈多。
技术挑战是在流式处理的环节里,要加入不少的元素进去,经过数据之间的关联关系加强数据。如何加强呢?当从社交平台上拿到某一条数据的时候,里面可能有一个ID及这个ID说了什么话。可是并不知道ID背后的这我的是什么样的,咱们会加强它。首先咱们会找到ID背后是什么样的人,把性别、年龄,或者其余的数据算出来,这是一部分加强;第二是把他说的这句话作语义分析,让这条信息得到更多的含义,好比说包含什么样的主题和情感。
对于不一样网站的数据,咱们还考虑到数据之间的Map映射,经过Cookie、账号、或者用户信息作关联匹配。好比说在微博上的用户名、邮箱、生日等信息,能够和豆瓣上的信息一块儿作类似度匹配,计算出来是不是同一个用户。
作大数据分析的门槛,一方面是要有构建大型系统的经验。大型系统有很是高的并发,很是大的数据量,要能预见到问题在什么地方,在什么样状况下有什么样的问题,用什么样解决方案,这个难点已经把大部分人挡在外面了。第二个难点,要可以运用数学知识。大数据涉及的机器学习、天然语言处理都逃不过数学,算法里的分类、聚类、预测、回归,无非都是数学。在什么样的场景下,用什么样的数学模型,调一个什么样的参数,这又把好多人挡在外面。
须要几我的跟你作的事情和跟用什么样的人有关,Instagram 1.5亿用户的时候,技术团队才6我的。若是一我的能力抵几我的,那要不了那么大的团队。我在上一家公司搭建了完善的大数据离线和流式处理系统,天天大概有十几亿数据量的采集,50个Hadoop节点,可真正负责核心数据采集和Hadoop运维的人不超过四个。
对大公司来讲人多好办事,可我以为小而美反而会更好。Google的Analytics这个产品,最初始的原型就是一个印度人开发的。人不在于多,而在于精。你用什么样的方式去解决这个事情决定了时间和成本,有不少问题的解决方案有不少,但有一条方案有多是最合适的、最省时间的、最便宜的,可是每每不少人找不到这样的方法。你能根据本身的经验和知识构建出好的解决方案,你就值得比其余人得到更多的回报。
咱们团队加上我本身才四个半人,一个产品经理、一个作大数据的、一个算法工程师,半个是咱们的在校实习生。他们的技术和知识面都很是广,而且数学功底都比较深。
市场确定是缺大数据处理的人才的,但我说的是“人才”。如今也有培训公司在作大数据培训,但培训出来的那不叫人才,叫技术工人。培训公司教的就是Hadoop怎么搭、MapReduce怎么写,这种东西其实用不着培训,善学的人看看网上的资料就能够作了。真正的人才是理解数据的人,核心在于掌握大数据处理的思惟方式。分布式处理技术老早以前就有了,本身写一套架构就能够实现,只不过Hadoop架构让这种服务变得很是便捷和廉价。
大数据的思惟跟日常处理数据的思惟不同。几个重要的变化包括:用全量数据代替采样、经过寻找相关性代替寻找因果关系、拥抱杂乱无章的数据。这几点总结来自《大数据时代》那本书,引用一下。
采样的方法很难保证随机性,并且一旦采样采错了,最后的结论就是失之毫厘,谬以千里。用全量数据则没有这个问题。直接的因果关系每每难以找到,而相关关系比较容易挖掘,而且相关性也多种多样,好比强相关弱相关、正相关负相关、线性相关非线性相关等,都是咱们平常中要常常遇到的。第三是使用各类各样的杂乱无章的数据,例如PC的、手机的、穿戴式设备的、脑电的,及线下的数据,你要想办法把他们揉杂在一块儿。数据越多,你描述一个东西就变得越丰富,越有可能接近真实的状况。
技能方面最重要的是理解两点,第一是跟底层操做系统相关的方方面面,第二是数据处理的一些基本算法。
现代的技术逃脱不了操做系统相关的知识,分布式的算法也是同样,无非是把一些任务拆解分到不一样的机器上,让不一样机器上的数据在本机运算,而后再传回去而已。当你对操做系统各项东西都理解了,好比内存、进程、IO都弄清楚了,你就是一个很好的架构师,在当前技术领域里就没什么太大的难事,大数据在你面前就灰飞烟灭了。
市面上不少技术人员对IO的原理都搞不清楚,IO模型有几种,Windows用什么样的模型,Linux用什么样的模型,一台机器如何应对那么多的请求访问,高并发到底怎么实现,一个请求怎么产生的,在服务端怎么处理的,最后怎么返回给用户的,整个的环节操做系统是怎么控制的……并且不少小朋友对于算法复杂度,也是搞不清楚的。我实现一个东西,最低的算法复杂度是多高,都是能够计算出来的。
这就是你的知识体系问题,咱们的教育体系在教的时候,没有特别好地让学生把这些作IT,作互联网最基本的知识学到脑子里。一些人在写代码的时候,用的逻辑简直很是好笑,不是严谨的,不是最精简的,不是一个合理的逻辑,只是实现了一个功能而已。为何这些人找不到很好的方式去提高本身?或者学了一门新的语言就很得意。其实这一点意义都没有,语言能够在一天以内就学会,但若是不去关注这个语言为何会产生,这门语言解决的问题是什么是没用的。他们的思惟方式,须要通过磨炼才可以达到一个新层面。
第二就是数据处理的一些最基本的算法,作互联网要用到的算法包括分类、聚类、回归、协同过滤、推荐等。至少要去学一学,去了解一下,在什么状况下,我应该用什么样的算法去实现一个什么样的东西,这些都是在作数据处理的时候很是重要的。
搭建新团队的过程通常须要一两个月,由于搭建以前就对团队的目标和所需的技能内心有数了。核心团队主要来自于一些志同道合者,已经创建了很是好的信任关系,因此比较容易一块儿共事,在这个基础上再慢慢寻找其它成员。
上一家公司的研发团队接近100人,我面过几百我的。挑人的时候我主要看两方面。第一是人品、态度和为人处事,品格要端正,待人接物要懂礼貌。由于一旦要去作一些大的事情,必然要求这我的是很大气的,一个团队的短板,决定了一个团队能走多远,一个大气的人,一个心胸宽广,一个很沉着冷静的人,必然能作大事。并且每每在危机的关头,他也知道怎么去作,他也能挺过去。
第二点这我的必定要足够的聪明,学东西必定要足够的快,这方面经过交流过程当中观察他的思惟和逻辑来判断。经过一我的说话的方式,组织语言的方式,基本能够看出他平时怎么思考,他有没有在思考,他之前有没有思考过这些问题。
举个简单的例子,比方说我会问:你是怎么学语言的?有些人会说,就是把语法看一遍,习题作一作,而后就上手开始作东西,这些人每每有可能就是把一个经验用了好几年。另一我的会说,我要先去了解这门语言,它是怎么产生的,为何存在,它的特性有哪些,它适用于哪些场景,它有什么样的数据结构,它是一个函数式语言,仍是面向对象的语言。若是面试者跟我谈这些,这我的的思惟模式就对路子了,说明他在更高的层面上去看这件事,这种人每每具有较强的解决问题的能力。创业团队要面临着不少特殊的状况,不可老是让老大冲在前面,每一个人都要有解决问题的能力。一我的的思惟模式就表明了他是否具备处理问题的能力。
我会从各个层面去了解候选人,反而技术问题会谈得很是少,由于技术都是能够教的,但为人处事,或解决问题的能力是很难教的。一个热爱运动的人身上每每会有拼搏精神,有兴趣爱好说明他能长期坚持作一件事情。我如今的团队人,每一个人都有本身的爱好,可是惟一最重要的一点,他们都有一颗善良的和包容的心。固然,在上家公司招聘的人里,有10%的人仍是招错了。百分之一百把人看准了,这是不可能的。
招聘的时候还遇到有一类人,是来自大公司的求职者。大公司的毛病每每在于,一我的就是一颗螺丝钉,这些人每每只会一个工具,在公司只作一件事情,工资还不低。他们换工做的缘由是以为无聊,必需要成长,不能在一个地方作两三年都作同一件事情。可是想摆脱这种困境须要作好准备,没作好准备怎么往上跳呢?因此在大公司工做必定要注意提高本身的视野和技能,这对长期成长来讲,是很是重要的事。
从08年开始,在线广告变得愈来愈火,这中间经历了视频网站、SNS、微博、电商的崛起,广告在这里面扮演了很重要的角色,每一年有几百亿的市场在里面。虽然跟传统的广告相比仍是很小的一块,但它的比重在变大,而且形式变得丰富多样,不只仅是图片、文字、声音,还有地理位置,不少新东西在进入广告这个领域。互联网广告不停改善的目标,一方面是把营销变得更精准,另外一方面是把广告变得不是那么突兀,而是以一个很是的天然的状态呈现。
但中国互联网有不少急功近利和不太好的地方,比方说作广告监测的时候,咱们发现不少媒体都在做弊;还有就是媒体间竞争愈来愈激烈,同质化严重,例如视频网站的内容同质化,但慢慢地你们也在走差别化道路了;另外对于怎样避免广告干扰用户,怎样避免隐私被过渡使用,这是须要咱们全行业去解决的。你们应该联合起来创建一套标准,把用户服务好,而不是想着瓜分用户、抢用户、不停骚扰用户,这样只会把这个行业毁掉。
技术的演变并无什么特别的新的东西,可是技术在逐渐的被模块化和标准化。如今构建一个产品,已经能够根据业务的场景,用开源的服务把它搭建起来,生产力变得更加高效了,技术正变得易用、标准、开放、可拆卸。
早年听了不少摇滚,看了不少电影啊书什么的,算是文青。游戏打的也很多。如今这些基本都是须要放松一下时候才碰一下。可是运动仍是要坚持的,跑跑步踢球游泳什么的,逮到机会而且空气也不太差的时候就锻炼一下,身体对于创业来说很是重要,前几天由于劳累加吃坏了东西肠胃发炎,影响工做好几天。也能够说如今最大的兴趣爱好就是创业了,把这当游戏成就同样来看待,想一想都是很兴奋有意思的事情。
图为2002年的世界数学家大会,和曾得到Fields奖(数学界的诺贝尔奖)的法国数学家拉弗格合影
技术人攻略访谈是关于技术人生活和成长的系列访问,欢迎和咱们有共同价值观的你关注“技术人攻略”,邮箱 devlevelup@gmail.com,新浪微博 @devlevelup,但愿能成为技术人成长的精神家园。
欢迎经过微信公众帐号关注技术人攻略
感谢SegmentFault提供博客专栏及推广支持。
感谢迅达云成提供云主机及技术支持。