“在我看来,我们正在接近每个人都可以进行编码的时代。 代码是自由。”

哈伯,你好! 我们继续对Newprolab校友进行一系列采访,他们在其中谈论他们进入大数据领域的故事。 这些故事都是不同的,对于那些正在考虑改变职业道路或新知识如何帮助解决当前问题的人们来说,这将是有趣的。 今天,我们很可能有第二种选择。 Meet-Dmitry Rodin,在我心中是开发人员,是开源分析平台Rockstat的贡献者Digital God的共同创始人,共同作者和老师-针对数字专业人员的教育计划; 首席执行官Xeteq

我们与Dima讨论了编程语言,他为语言编写的解决方案,他的开源项目以及他为什么这么做,他们教的新专业等。

图片

-Dima,请介绍一些您自己的情况。

-我的焦糖工艺立刻浮现在脑海,我开了很长时间的玩笑,但认真的说,我内心深处是一名程序员,或者是一名建筑师,我喜欢思考并创建新的解决方案,让其他人参与其中。 在过去的10年中,我一直从事市场营销技术,我对他们如此着迷,以至于它变成了一种业余爱好。 他开发了几乎所有东西:从广告管理系统和DSP到带有硬件监视模块的反欺诈。 我想我学过禅,但这并不准确。

-您从事编程已有15年以上,请告诉我您在工作和个人项目中了解并使用了多少种编程语言?

-我认为计算语言的数量是错误的,最重要的技能是理解几种语言的概念,然后写的内容几乎没有区别。 是的,当然,每种语言都有其自身的优势和陷阱,您不要忘记这一点。

-您是从什么语言开始的,现在正在使用什么。

-现在对我来说,写什么没有太大区别。 我是从15年前开始用PHP开发网站的。 没错,我已经很多年没有使用它了。

PHP之后出现了Ruby,当时它是一种炒作语言,召开了许多会议,其框架Ruby on Rails成为了许多其他模型。 总的来说,正是在Ruby中诞生了许多概念,这些概念后来被其他编程语言及其生态系统采用并重生。

然后,我开始积极开发JavaScript(node.js)。 浏览器曾经在速度和安全性方面展开竞争,在那场比赛中,一个非常强大的JavaScript引擎V8诞生了,它位于Chromium浏览器内部(请注意:Chrome所基于的开放式浏览器)。 有些人决定采用此引擎并将其固定到libevent,这导致了异常高效的异步工作,该工作使用了其他服务器端脚本编程语言,尽管当时的JavaScript语法和生态系统令人作呕。 我是用这种服务器语言开发的。

对我而言,JavaScript是最糟糕的语言,几乎不可能在它上面做得很好,即 编写便于调试,测试和开发的兼容代码。 但是近年来,JS有了很大的改进:语言本身已经发展,出现了许多汇编工具,最重要的是,附加组件使您可以描述数据类型,检查合规性并发现开发人员可能犯的错误,从而消除了大多数错误。 这些附加组件之一是TypeScript,多年来我一直在使用它而不是纯JS。

当然,您无法摆脱Python的束缚,一切都已存在,它足够方便,快捷地运行,您无需想任何事情,几乎可以做任何您想做的事情。 它非常适合处理数据:许多数学软件包,便捷的工具(如Jupyter),至少在数学计算中对数字的大小没有限制。

我最喜欢的,但是我工作最少的是Elixir。 它基于爱立信创建的另一种功能语言Erlang,用于对电信设备进行编程。 它的主要特征是并行性和容错性。 顺便说一句,他很久以前就出现了,差不多是我的年龄。 Elixir同样具有并行性和容错性。 Erlang和Elixir具有有趣的架构功能,例如,一台服务器通过使用其自己的轻量级过程实现和通过轻量级连接的消息传递,可以处理数百万个同时连接。 的确,Erlang具有极为不便和不易表达的语法。

因此,Elixir实际上具有同等的Erlang功能,但是Ruby提供了更加令人愉悦和方便的语法。 在Xeteq中,我们在其上构建了高效的MTA(请注意:邮件传输代理,即邮件服务器)。 但是,我仍然害怕在Elixir进行大型项目。 使用它时,您必须自己编写过多的东西:您长期以来在其他语言中作为现成库实现的东西,则必须自己完成。 尽管有时“重新发明轮子”很有用,但您可以发明一些新的有价值的东西。 而且社区有点呆滞。 例如,所有项目的社区都非常小,以基本的插件式Web框架为例-它的星空少于2000,其类似物是python flask,大约有4万,而ruby sinatra的多于1万。

-让我们谈谈项目。 告诉我们您最有趣,重要和重要的项目,以及他们的命运如何。

-我的第一个严肃项目是“ Blonde.ru”。 2009年,这是一个非常雄心勃勃的项目,其实质是每个人无需上下文广告的专门知识,就可以独立发起一次广告活动,并且可以一次在所有广告网络中通过一个简单的界面进行。 在那里,我非常专业地成长,并遇到了对我的生活产生重大影响的人们。 碰巧的是,几个月后,技术总监的主席被撤职,他们在寻找他时,任命了我为代理总监。 过了一段时间,椅子空了。 公司负责人Yura Eliseev接任并任命了我为正式的技术总监,我不知道他的指导是什么,虽然这个职位也许让我感到有些高兴( 笑-作者的评论 ),但我对这个职位还是很满意的 。 顺便说一句,在那里我们遇到了亚历山大·史维茨(Alexander Shvets)(与他一起我们创建了数字神)。 他还是程序员的时候来到我们这里,当时还是鲍曼卡的学生,并且是最好的。 总的来说,我们后来成为很好的朋友。 该项目仍然存在,已经多次重命名和改造,进入了国外市场,现在被称为Aori。

-在Blonde.ru之后,您开始做第一个项目,对吗?

-是的,我和我的朋友决定制作一个产品小部件,实际上是Yandex.Market广告网络。 更清楚地说:存在Yandex.Direct,也存在YAN(Yandex广告网络),这些区域是其街区所在的不同站点,它们通过搜索或主题展示来追赶一个人。 Yandex.Market尚无此功能,但是有一个特殊的内容API,通过它可以从商店接收热门报价,以及将感兴趣的人发送到哪里的链接。 如果购买了商品,我们将得到广告客户支付的费用的50%。 很快,我看到了引擎-放置在网站上的小部件,它确定主题,查看人们感兴趣的内容,以便从Market中自动选择产品。 这很棒。 我们学习了如何进行良好的仲裁(“套利”-购买广告空间并通过其他渠道获利),确定好/坏网站,并且我们开始在许多网站上积极购买广告空间并将其小部件放置在那里。 在这些地点中有一辆大型汽车。 结果,我们获得了快速的增长,但是由于某种未知的原因,Yandex单方面中断了与我们的合同。 我们尽力找出原因,但未能做到这一点,我们不得不关闭该项目。 令人非常遗憾,因为该项目付出了很多努力,并且性能非常好。 现在,我确信这是一次很好的经验,教会了我如何正确评估风险。 总的来说,经验只是积极的,如果某件事没有成功,它将只会帮助您避免将来遇到更大的困难。

图片

-但是,由于获得了各种经验,您继续提出新的项目。 接下来发生了什么?

-我决定以某种方式创建自己的计数器,以收集有关人们在网站上的行为的数据并基于此来计算统计信息,例如Google Analytics(分析)和Yandex.Metrica如何收集其数据。 将代码放在站点上,它监视站点上访问者的所有操作,将其发送到服务器,服务器端接收此数据并将其存储在分布式数据库中。 该项目称为Rockstat。 后来,我想到了基于此的端到端分析服务,顺便说一下,现在这对许多公司来说都是痛苦的。 但是我既没有力量也没有时间去发展,我什至没有开始。 很好,我没有,现在我认为端到端分析服务可以完成他们的工作。 它们适合那些不了解分析和营销,对所有工作方式一无所知的人或需求较低的人。 在其他情况下,它们受到工作逻辑缺乏集成或不兼容的限制。 但是我发现计数器收集的原始数据很有用。

-什么?

-例如,请根据网站访问者的行为而不是访问次数来考虑多渠道归因。 归因是一种在参与广告的渠道之间分配销售价值的方法。 基于漏斗概率传递的归因模型已经流行,但仅适用于存在漏斗且销售周期不太长的网站-这是大多数在线商店。 但是还有另一面:房地产,汽车,结婚礼服,决策周期要长得多,并且现场根本没有足够的漏斗。 对于他们,我想出了活动/参与行为的指数。 当时,我的柜台已经有几个用户,这使我能够检验假设,并根据用户参与与站点交互的参与度来计算归因。 我选择了两个有漏斗且销售周期不太短的站点。 我比较了基于漏斗概率传递的模型和基于参与度的模型的结果,结果发现它们之间具有显着的相关性。 毕竟,我们生活在这样一个时代:如果页面的内容没有抓住或没有希望,那么它将立即关闭。

我认为这可能很有用,而且需求很大。 我遍历了几家公司,告诉他们如何改进评估广告渠道有效性的方法,但事实证明这太困难了。它很难理解,并且增加了费用合理性的难度。 总的来说,很少有人愿意做自己真正出色的工作,他们受自己的工作所驱动,并努力迈向新的高度。 事实证明,当他们遇到困难且难以理解的决定时,他们宁愿得分,也不会使他们的生活复杂化。 他在Moscow Digital的Data Science Week上发表了有关该模型的故事。 有很多感兴趣的人,但是没有人成熟。

然后又发生了另一番变化,有些人来找我谈论分析(我想是),但是事实证明他们是来给我提供工作的,这对我作为市场总监来说是一个非常不寻常的职位。 而不是在那里,而是成为Sberbank Plazius的有前途的女儿。 这种经历值得一个单独的故事,所以也许我会跳过它。

当我仍然在Plazius工作时,我开始教书。 我和我的朋友与Tceh平台一起,开设了全日制教育课程“程序化广告专家”。 该课程帮助人们提高了在技术广告领域的竞争力,甚至获得了新的职业。 然后,我进入Linkprofit,在那里我开始创建主要针对市场而不是满足公司需求的营销技术。 然后,公司进行了重组,却没有注意到,我被任命为新的IT公司Xeteq的负责人,该公司已被纳入LT Digital公司集团。

-等一下,Rockstat呢? 他放弃了它,因为没有人理解?

-一旦我想到:“ Rockstat为什么要熄灭?” 也许有人会受益。” 将服务重新包装在一个盒子中,添加数据工具,然后将其放入称为Alcolytics的开源中。 然后它开始了……在项目的周围,开始聚集了一个非常专业的人社区,我以前很少见过。 他们开始在家中介绍它。 我真是太惊讶了! 而且,他们非常熟练地使用了它,我什至没有这种想法。 然后,我自己决定只与热情和专业的人合作,然后让其余的人去森林,我什至不与那些不知道自己想要什么,需要“出售”这个想法然后证明其有效性的人取得联系。

我开始将几乎所有的空闲时间都花在这个项目的开发上,我对可见的回报非常有动力。 我想:“为什么,如果我厌倦了人们使用它以及人们喜欢它的事实,我曾经想将所有东西商业化。” 通常,一开始它有点吓人,突然是一个错误,但是我什至无法修复它,否则他们将安装错误,它们会破坏一切,然后他们会说该软件不起作用(*笑-作者的评论*)。 我知道使用Alcolytics的服务器有十几个,也许还有更多,但是这些知识足以激发人们的动力,我一直在开发该项目,而且它越来越好。

Alcolytics中的一位用户从crm和电话,内置分析中收集数据。 建立巧妙的跨站点归因需要此数据。 这必须在外面完成,因为 没有办法在其中运行代码。 然后,我决定为我的API的开发创建小型脚本成为可能,这将使我们能够将此数据存储到crm或在任何地方使用。 我做了很多选择,但是到处都有某种缺陷。 我决定为Docker进行服务布局,但被这个过程所困扰,两个月后,我意识到自己已经建立了微服务平台,但是我想做一件简单的事情来运行脚本。 我被这样的想法深深吸引:“如果没有办法使决策自动化,为什么我需要分析?” 多次查看数字就足够了,很清楚在什么情况下该做什么。 从实施和支持的角度来看,这使您可以制作通常价格合理的商业软件,也可以制作复杂的开源软件。

-是的,简单的决定不适合您,如果您做某事,那么就很大。

-我想像有可能实现多少种不同的自动化。 他们将执行各种任务:管理广告预算和出价,或者,如果我们谈论实时出价广告,则当用户更改系统状态时,可以将用户从一个细分转移到另一个细分。 您可以做任何您想做的事。 在这个平台上工作的过程中,我发明了许多“自行车”,而我以前从未发明过那么多。 没有人会为此赞美我,但是我喜欢他们,结果他们变得很酷。 还有一个很好的论据-它们都可以在同一台服务器上以10美元的价格运行,维持一个每月有1-2百万访问者的站点,而丝毫不费力。 为2种编程语言开发的框架实现了所有必要的功能,并组织了与其他微服务的交互。 顺便说一下,现在围绕微服务技术建立了庞大的公司。

而且,当您制作一个开放源代码解决方案时,从另一个开放源代码(例如移动客户端)中摘取一块内容也不是一件可耻的事情,这将花费很多时间来实现。 当然,在商业中并非如此-这些都是巨大的声誉风险,确实是一种耻辱。 当我开始使用酷开源时,我学到了很多。

现在,这不是一个解决特定问题的项目,它是一个平台,可以帮助您实现自己的愿望,并且轻松实现这一目标,而不会打扰复杂而无聊的技术问题。

最近在Alpha测试中发布的第3版 ,返回了原始名称Rockstat 。 文档仍然很小,有很多错误,但是用户很满意。 其中有大型公司:一家航空公司,另一家航空公司是俄罗斯前30名的广告客户。 当然,总共有更多的用户。 我们在TG有一个小型社区(@rockstats),伙计们将报告问题和成就。

-为什么和为什么要花这么多时间和个人金钱在一个项目上,然后将其发布在开源中。 是什么激励着你?

-在我看来,Rockstat项目可以极大地改变数字领域。 显然,该标准适用于小型公司,而巨头会做出复杂的决定,但是有些公司拥有才华横溢的专家,并且两者之间存在复杂的需求,因此越来越多。 他们用自己的双手创造大胆而有效的解决方案。 目前尚不知道市场是否会紧随其后,因为众所周知俄罗斯是著名的。 有一段时间我会在这里开发这个项目,但只有他会长一点,我会尝试在其他市场上宣布它。

这是很长的路要走,但是现在我可以诚实地说:“我不知道为什么我需要钱,放在哪里。” 我不知道为什么我曾经想到过钱,可能是社会强加了。 open source , , : « - ?» , , , . , .

— ?

— , ( – . ). . , , email . – , – , . , : , , 00-, . , . – (Message Transfer Agent) – . . 2-3 MPV ( ). , . – . , , . – «» , . Elixir, , , , Elixir .

— , , , « » ? ?

— . Hadoop . , , , - ; , . , : Hadoop, , « », DMP, — . : ; . , , . , .

— Digital God — . ?

— , , : ( ), Ad-/Mar-Tech. , Facebook, . digital . : digital . , , .. , , : , , .

( ) , , – ( – . ). . , , . 2- , 3- . , . .

– , , , . , – . . , , . , , . , , .

Rockstat : , , . , , , , , . - ( Rockstat ). , , . , . - API, - , scraper- , API.

Rockstat Digital God – . – « » . - . «, » — , . - , . - , , . , , , . , , .

图片
1 Digital God Digital Rockstar

— . , Digital God? ?

— , , , , , . , , .

digital , digital, , , , , .

— , ?

— - , , , . , , . , . - , , , , , .

— ., , . , , .

— , , ó , : , . , , . , ( , - DigitalGod) . , : « , . \, ». , , , . , , , .

, IT : - , , , , . , , , , , , . , , .

— , ? , / ?

— , , , , . , - , .

, , . , , . - , , , . , . , , , - , , , .

— , ? , .

— ( – . ). , , , . , . , , - .

— , ?

— - , . — , , , . open source, , , Digital God digital . , . , , – , , , …

Source: https://habr.com/ru/post/zh-CN430364/


All Articles