美团 2017 offer 期权中的期权到底有没有用

{"debug":false,"apiRoot":"","paySDK":"/api/js","wechatConfigAPI":"/api/wechat/jssdkconfig","name":"production","instance":"column","tokens":{"X-XSRF-TOKEN":null,"X-UDID":null,"Authorization":"oauth c3cef7c66aa9e6a1e3160e20"}}
{"database":{"Post":{"":{"contributes":[{"sourceColumn":{"lastUpdated":,"description":"它不是一个人在战斗。","permission":"COLUMN_PUBLIC","memberId":1245438,"contributePermission":"COLUMN_PUBLIC","translatedCommentPermission":"all","canManage":true,"intro":"它不是一个人在战斗。","urlToken":"baozipu","id":6305,"imagePath":"6fa9f229e6c13bcb08fe40.jpg","slug":"baozipu","applyReason":"","name":"北美码农的包子铺","title":"北美码农的包子铺","url":"/baozipu","commentPermission":"COLUMN_ALL_CAN_COMMENT","canPost":true,"created":,"state":"COLUMN_NORMAL","followers":7405,"avatar":{"id":"6fa9f229e6c13bcb08fe40","template":"/{id}_{size}.jpg"},"activateAuthorRequested":false,"following":false,"imageUrl":"/6fa9f229e6c13bcb08fe40_l.jpg","articlesCount":44},"state":"accepted","targetPost":{"titleImage":"/619a9d4475cddcc8e43c_r.jpg","lastUpdated":,"imagePath":"619a9d4475cddcc8e43c.jpg","permission":"ARTICLE_PUBLIC","topics":[],"summary":"近来资本市场寒风劲吹,各大科技媒体都报道了 Snapchat, Zenefit 两家独角兽公司估值被 Fidelity 下调的消息,具体内容不再赘述。很多朋友有疑问,Snapchat 不是没有上市么?为什么报道中说它的股票价格从 $30.72 下调到 $22.91 ? 如果我现在拿到 Snapchat …","copyPermission":"ARTICLE_COPYABLE","translatedCommentPermission":"all","likes":0,"origAuthorId":1245438,"publishedTime":"T12:23:19+08:00","sourceUrl":"","urlToken":,"id":321748,"withContent":false,"slug":,"bigTitleImage":false,"title":"点评 Startup 估值以及 Offer 选择时股票期权的问题","url":"/p/","commentPermission":"ARTICLE_ALL_CAN_COMMENT","snapshotUrl":"","created":,"comments":0,"columnId":6305,"content":"","parentId":0,"state":"ARTICLE_PUBLISHED","imageUrl":"/619a9d4475cddcc8e43c_r.jpg","author":{"bio":"程序员","isFollowing":false,"hash":"b81e8becb0ea232f5bfc6","uid":52,"isOrg":false,"slug":"joseph-holy","isFollowed":false,"description":"来辆AMG C63","name":"Joseph Holy","profileUrl":"/people/joseph-holy","avatar":{"id":"f32f80b31","template":"/{id}_{size}.jpg"},"isOrgWhiteList":false},"memberId":1245438,"excerptTitle":"","voteType":"ARTICLE_VOTE_CLEAR"},"id":302316}],"title":"点评 Startup 估值以及 Offer 选择时股票期权的问题","author":"joseph-holy","content":"近来资本市场寒风劲吹,各大科技媒体都报道了 Snapchat, Zenefit 两家独角兽公司估值被 Fidelity 下调的消息,具体内容不再赘述。很多朋友有疑问,Snapchat 不是没有上市么?为什么报道中说它的股票价格从 $30.72 下调到 $22.91 ? 如果我现在拿到 Snapchat offer, 是不是意味着我可以拿到更多的股票?Startup 的估值先岔到另一个话题:如何算一个 Startup 的估值呢?很简单,看它最新一轮的融资金额和融资金额所在公司的比例。来做个应用题:某 Start up 最新一轮融资一亿美金,投资机构因此占股1%. 那么这一轮,该 Startup 的估值就是 1亿美金 / 0.01 = 100 亿美金。估值的滞后性事实上,每个创业公司只有仅仅几个融资节点(种子,天使轮,A轮,B轮等等),而估值只能根据每个结点的融资状况来计算。那么问题来了:如果一个很牛逼的 Startup 一直不融资,哪怕它的增长再迅速,也无法通过估值体现出来(因为它没融资啊);另一方面,如果一个创业公司没事儿就搞一轮融资,那么自然它的估值就刷新的快。其实这就是估值的滞后性。也就是说,当融资点过后,创业公司的真实价值是不能完全通过估值体现。Startup 的股价为什么没上市的公司也有股票价格?包子之前有一篇关于 Stock 和 RSU 的文章详细介绍这方面内容,点击 “阅读原文“ 即可。没上市公司依然可以出售特殊类型的股票给投资者,只不过这些股票不能通过 public channel 流通而已,但是它也有自己的价格。拿 Fidelity 投资 Snapchat 举例,根据 Crunchbase 上的记录,Fidelity 和另外两家机构联合在 E 轮投资 Snapchat, 额度 3.4亿美金左右,该轮投资把 Snapchat 估值定位 15B, 也就是说,Fidelity 和另外两家机构占 Snapchat 股份 2% 多一点点的样子。Fidelity 下调自己持有股票的评级意味着什么?Again. 估值是靠每轮融资的情况计算,所以理论上 Snapchat / Zenefit 的当前估值没有变,依然停留在上一轮时的情况。所以可以媒体报道的时候也没有直接说 ”估值 XXX 亿“ 的说法,大部分都是说 “Fidelity Markdown XXX”. 那么,Fidelity 作为投资者,他们下调 Snapchat/Zenefit 的价格,意味着这是 Fidelity 内部的分析师根据行业发展现状得出的结论。是否客观?难说,但至少他们自己是这么认为的。像 Fidelity 这类大规模资产管理机构,他们需要证明自己的投资收益业绩和当前资产价值。由于未上市企业的股票无法公开交易且估值具有滞后性,那么这一部分股票价值基本上可以按照他们的意愿来调整,凭的是他们的职业操守和专业素养。当然,Fidelity 的下调行为肯定是和公开市场上小型科技股最近的颓势有关(参考 TWTR, GOPRO 等股价走势),这是一个行业性的趋势,反倒是和单个公司的关系不大,毕竟他们也不知道所投资公司的内部增长数据。至于一个行业何去何从,移动互联网是否能够开花结果,这就是仁者见仁智者见智的问题了。Startup Offer有同学会问,如果拿到估值被下调的 Startup offer, 是不是意味着能拿更多的股数?像上文所说,下调是一家投资公司的行为,不代表公司的公开估值有任何变化。所以想当然的认为可以拿到更多的股票数量是不准确的。不过小编个人认为,这件事情可以作为一种谈判手段来要求公司增加 Offer 中的股票总价值。可行性如何,就得看公司的态度和你的技巧啦。展望当前的主流观点是:公开市场上的科技股泡沫机会几乎没有。千亿公司如 Apple Google Facebook Amazon Microsoft 都有靓丽的财报支撑,每家的核心业务表现良好。加上逐渐被资本市场认可的云计算几乎是由这几个公司瓜分,他们不仅现在活的不错,前面的路更是看的明明白白。百亿公司和几十亿的公司,最近股票已经跌到低点,已经算是客观。未上市的科技公司估值有泡沫,上到几百亿的 UAP,下到几十亿的小独角兽,谁也不知道上市以后的情形是怎样的。风险和机遇都在,看你怎么选了。","updated":"T04:23:19.000Z","canComment":false,"commentPermission":"anyone","commentCount":0,"collapsedCount":0,"likeCount":20,"state":"published","isLiked":false,"slug":"","lastestTipjarors":[],"isTitleImageFullScreen":false,"rating":"none","titleImage":"/619a9d4475cddcc8e43c_r.jpg","links":{"comments":"/api/posts//comments"},"reviewers":[],"topics":[],"adminClosedComment":false,"titleImageSize":{"width":450,"height":300},"href":"/api/posts/","excerptTitle":"","column":{"slug":"baozipu","name":"北美码农的包子铺"},"tipjarState":"activated","tipjarTagLine":"真诚赞赏,手留余香","sourceUrl":"","pageCommentsCount":0,"tipjarorCount":0,"annotationAction":[],"hasPublishingDraft":false,"snapshotUrl":"","publishedTime":"T12:23:19+08:00","url":"/p/","lastestLikers":[{"bio":"nlp","isFollowing":false,"hash":"28e60280ce53adfcb8dcd1bdfaeb78ea","uid":696640,"isOrg":false,"slug":"xue-tian-36","isFollowed":false,"description":"","name":"薛天","profileUrl":"/people/xue-tian-36","avatar":{"id":"bf50f8a0d4cec2a19a47900","template":"/{id}_{size}.jpg"},"isOrgWhiteList":false},{"bio":"穷学生,码畜,","isFollowing":false,"hash":"270f6bccf11a66ddfbe71060","uid":20,"isOrg":false,"slug":"xu-jia-yi-37","isFollowed":false,"description":"","name":"徐佳一","profileUrl":"/people/xu-jia-yi-37","avatar":{"id":"da8e974dc","template":"/{id}_{size}.jpg"},"isOrgWhiteList":false},{"bio":"二十五史+资治通鉴","isFollowing":false,"hash":"a8ee10f3c167f6aadb7c3d11effcf318","uid":361100,"isOrg":false,"slug":"moda1113","isFollowed":false,"description":"","name":"moda1113","profileUrl":"/people/moda1113","avatar":{"id":"fa230af9d5c1be58a8a71a8","template":"/{id}_{size}.png"},"isOrgWhiteList":false},{"bio":"90后北美程序媛","isFollowing":false,"hash":"f1a65abf4c0f89efd70f898","uid":96,"isOrg":false,"slug":"la-la-la-39-65","isFollowed":false,"description":"","name":"啦啦啦","profileUrl":"/people/la-la-la-39-65","avatar":{"id":"df2e3bf0cca","template":"/{id}_{size}.jpg"},"isOrgWhiteList":false},{"bio":"美国小硕一枚","isFollowing":false,"hash":"fd9ea6ca42f42bbe43d28f768f9a718c","uid":12,"isOrg":false,"slug":"zhu-di-39","isFollowed":false,"description":"","name":"朱迪","profileUrl":"/people/zhu-di-39","avatar":{"id":"7eec552fd","template":"/{id}_{size}.jpg"},"isOrgWhiteList":false}],"summary":"近来资本市场寒风劲吹,各大科技媒体都报道了 Snapchat, Zenefit 两家独角兽公司估值被 Fidelity 下调的消息,具体内容不再赘述。很多朋友有疑问,Snapchat 不是没有上市么?为什么报道中说它的股票价格从 $30.72 下调到 $22.91 ? 如果我现在拿到 Snapchat …","reviewingCommentsCount":0,"meta":{"previous":{"isTitleImageFullScreen":false,"rating":"none","titleImage":"/cba4aac5fcc61cabbc46a_r.jpg","links":{"comments":"/api/posts//comments"},"topics":[],"adminClosedComment":false,"href":"/api/posts/","excerptTitle":"","author":{"bio":"程序员","isFollowing":false,"hash":"b81e8becb0ea232f5bfc6","uid":52,"isOrg":false,"slug":"joseph-holy","isFollowed":false,"description":"来辆AMG C63","name":"Joseph Holy","profileUrl":"/people/joseph-holy","avatar":{"id":"f32f80b31","template":"/{id}_{size}.jpg"},"isOrgWhiteList":false},"column":{"slug":"baozipu","name":"北美码农的包子铺"},"content":"上篇文章,我们简要介绍了 MapReduce 框架的局限和 Spark 横空出世的土壤。今天,我们就来详细介绍 Spark 的内部原理和它强大功能的背后设计。前文回顾Hadoop 的局限并非只有 IO 速度的问题,更重要的是 MapReduce 规定死了 map / reduce 两种运算,并且提供之间 shuffle 的数据搬运工作。无论运算怎样灵活多样,你都要走 map -& shuffle -& reduce 这条路,要进行灵活运算并保证优秀性能确实有点吃力。Spark 这边,AMPLab 为此做了精心设计,让各种数据处理都能得心应手。关键概念Spark 的关键就是引入了 RDD (Resilient Distributed Datasets)的概念。其实没有太深奥,你可以把 RDD 想象成一组数据。Spark 把要处理的数据,处理中间结果,和输出结果都定义成 RDD. 这样一个常见的 Spark job 就类似于:从数据源读取数据,把输入生成一个 RDD;通过运算把输入 RDD 转换成另一个RDD;再通过运算把生成的 RDD 转换成另一个RDD,重复需要进行的 RDD 转换操作 (此处省略一千遍);最后运算成结果 RDD,处理结果;为了处理大量数据,还是把要处理的数据进行分区,分散到多台机器上,以便之后并行处理,这个和 Hadoop 的理念一致。不过,RDD 默认被存到内存中,只有当数据大于 Spark 被允许使用的内存大小时才被 spill 到磁盘(具体内容之后的系列文章会详细介绍)。RDD 的接口考虑到 RDD 是连接 Spark 数据操作的核心,RDD 的接口自然是重中之重。简单说,这套接口告诉你:为了生成这个 RDD,它的上一个 RDD 是谁,以及生成过程使用的运算是什么。抽象?我们换个角度再说一遍。你有一堆数据 A,你使用了运算 F 把它转换成另一堆数据 B. 那么当我们问,你如何得到 B 时,你怎么回答?我们需要数据 A,并且需要运算 F. 就是这么简单。在 Spark 里,由于 RDD 被分区存储,所以我们要知道的实际是每个 RDD 分区的来龙去脉。比如:你有一堆数据 A,被分成了 A1,A2 两个分区,你为每个分区使用了运算 F 把它们转换成另一堆数据 B1,B2,合起来就是B。那么当我们问,你如何得到 B2 时,你怎么回答?我们需要数据 A2,并且需要运算 F. 同样的,你如何得到 B1 ?我们需要数据 A1, 并且需要运算 F. 就是这么简单。数据操作别小看了 RDD 的这套接口,掐指一算,绝大多数运算都可以由这套接口定义。我们看几个例子:Map其实我们上面的例子就是 map:一个 RDD 的分区分别转换成下一个 RDD 的分区,各个分区之间互不影响。那每个 RDD 分区的 “爸爸“ 就是上一个 RDD 对应的分区。运算就是用户定义的map function. Filter还是用上面的例子:只不过这个 F 变成“这条数据是否该留下来”,在这种情况下这样 A1 &= B1. GroupbyKey这个复杂一些,它里面的数据不是单个的,而是 key-value pair. 联系我们之前 Hadoop 的例子,RDD B 里的分区中的数据有可能是 A1,也有可能是A2 里的,那我们就清清楚楚地告诉 B,你的每个分区的 “爸爸” 都是 A 里面所有的分区。运算呢?就是合并所有 Key 一样的 key value pair,组成一个 set.ReduceByKey (R)这个比 groupBy 再复杂一点。B 里的每个分区的 ”爸爸“ 还是 A 里面所有的分区。运算呢?就是合并所有 Key 一样的 key value pair, 然后为所有同样的Key 运行 R 这个function.Spark RDD 支持的运算很多很多,但是本质都是用 RDD 的接口灵活的定义出不同运算。用户也可以根据自己需要创作新的运算。这样 Spark 允许用户用不同种类的运算实现了复杂的企业逻辑,甚至是 SQL 的处理和机器学习。这看似简单的设计恰恰是 Spark 强大的基础。RDD的构建从上面的学习我们可以发现 RDD 其实就是数据集,是一组数据被处理到一个阶段的状态。每一个 Spark Job 就是定义了由输入 RDD,如何把它转化成下一个状态,再下一个状态 …… 直到转化成我们的输出。这些转化就是对 RDD 里每一个 data record 的操作。用个高大上点的语言,一个 Spark job 就是一系列的 RDD 以及他们之间的转换关系。那么用户如何才能定义 RDD 和转换关系呢?换句话说,用户如何使用 Spark 呢?可能绝大多数读者没有学习过 Scala,那么我们就用大家更熟悉的 Java 语言描述,Spark 也提供了Java语言的支持。用户需要定义一个包含主函数的 Java (main) 类。在这个 main 函数中,无论业务逻辑多么复杂,无论你需要使用多少 Java 类,如果从 Spark 的角度简化你的程序,那么其实就是:首先生成 JavaSparkContext 类的对象.从 JavaSparkContext 类的对象里产生第一个输入RDD. 以读取 HDFS 作为数据源为例,调用 JavaSparkContext.textFile() 就生成第一个 RDD.每个 RDD 都定义了一些标准的常用的变化,比如我们上面提到的 map, filter, reduceByKey …… 这些变化在 Spark 里叫做 transformation.之后可以按照业务逻辑,调用这些函数。这些函数返回的也是 RDD, 然后继续调用,产生新的RDD …… 循环往复,构建你的 RDD 关系图。注意 RDD 还定义了其他一些函数,比如 collect, count, saveAsTextFile 等等,他们的返回值不是 RDD. 这些函数在 Spark 里叫做 actions, 他们通常作为 job 的结尾处理。用户调用 actions 产生输出结果,Job 结束。补充说明 actionAction 都是类似于 “数数这个 RDD 里有几个 data record”, 或者 ”把这个 RDD 存入一个文件” 等等。想想他们作为结尾其实非常合理:我们使用 Spark 总是来实现业务逻辑的吧?处理得出的结果自然需要写入文件,或者存入数据库,或者数数有多少元素,或者其他一些统计什么的。所以 Spark 要求只有用户使用了一个 action,一个 job 才算结束。当然,一个 job 可以有多个 action,比如我们的数据既要存入文件,我们又期望知道有多少个元素。这些 RDD 组成的关系在 Spark 里叫做 DAG,就是有向无循环图,图论里的一个概念,大家有兴趣可以专门翻翻这个概念。可以发现,实践中绝大部分业务逻辑都可以用 DAG 表示,所以 spark 把 job 定义成 DAG 也就不足为奇了。RDD 的两种变化我们上面刚刚介绍了 transformation 的概念。在 Spark 眼中,transformation 被分成 narrow transformation 和 wide transformation. 这是什么东西呢?上文提到过 RDD 被分成几个分区,分散在多台机器上。当我们把一个 RDD A 转化成下一个 RDD B 时,这里有两种情况:有时候只需要一个 A 里面的一个分区,就可以产生 B 里的一个分区了,比如 map 的例子:A 和 B 之间每个分区是一一对应的关系,这就是 narrow transofmration. 还有一类 transformation,可能需要 A 里面所有的分区,才能产生 B 里的一个分区,比如 reduceByKey的例子,这就是 wide transformation. Narrow 或者 Wide 有什么关系吗?一个 Spark job 中可能需要连续地调用 transformation, 比如先 map,后 filter,然后再 map …… 那这些 RDD 的变化用图表示就是:我们可以大胆设想一下,如果每个分区里的数据就待在那台机器的内存里,我们逐一的调用 map, filter, map 函数到这些分区里,Job 就很好的完成。更重要的是,由于数据没有转移到别的机器,我们避免了 Network IO 或者 Disk IO. 唯一的任务就是把 map / filter 的运行环境搬到这些机器上运行,这对现代计算机来说,overhead 几乎可以忽略不计。这种把多个操作合并到一起,在数据上一口气运行的方法在 Spark 里叫 pipeline (其实 pipeline 被广泛应用的很多领域,比如 CPU)。这时候不同就出现了:只有 narrow transformation 才可以进行 pipleline 操作。对于 wide transformation, RDD 转换需要很多分区运算,包括数据在机器间搬动,所以失去了 pipeline 的前提。RDD 的执行当用户调用 actions 函数时,Spark 会在后台创建出一个 DAG. 就是说 Spark 不仅用 DAG 建模,而且真正地创建出一个 DAG, 然后执行它(顺便说一句 DAG 在 Spark 里不是用一个对象表示的,而是用 RDD 对象之间的关系,之后系列文章会深入学习)。Spark 会把这个 DAG 交给一个叫 DAG scheduler 的模块,DAG scheduler 会优先使用 pipeline 方法,把 RDD 的 transformation 压缩;当我们遇到 wide transformation 时,由于之前的 narrow transformation 无法和 wide transformation pipeline, 那 DAG scheduler 会把前面的 transformation 定义成一个 stage. 重要的事情说三遍:DAG scheduler 会分析 Spark Job 所有的 transformation, 用 wide transformation 作为边界,把所有 transformation 分成若干个stages. 一个 stage 里的一个分区就被 Spark 叫做一个task. 所以一个 task 是一个分区的数据和数据上面的操作,这些操作可能包括一个 transformation,也可能是多个,但一定是 narrow transformation. DAG scheduler 工作的结果就是产生一组 stages. 这组 stages 被传到 Spark 的另一个组件 task scheduler, task scheduler 会使用集群管理器依次执行 task, 当所有的 task 执行完毕,一个 stage 标记完成;再运行下一个 stage …… 直到整个 Spark job 完成。结语Spark 能提供强大的功能和广泛的支持性,奥妙就在于 RDD. 整个思路看起来很简单,就用它把 distributed computation 推到前所未有的高度;你也可以说它很深奥,为什么要如此定义分布式运算?为什么要把运算分成 narrow transformation 和 wide transformation?希望本文对大家有所帮助。之后我们会继续深入学习 Spark 的方方面面,通过探讨 Spark 的众多细节来掌握它的运算模型的精髓。欢迎大家持续关注。","state":"published","sourceUrl":"","pageCommentsCount":0,"canComment":false,"snapshotUrl":"","slug":,"publishedTime":"T12:45:32+08:00","url":"/p/","title":"【最火大数据 Framework】五分钟深入 Spark 运行机制","summary":"上篇文章,我们简要介绍了 MapReduce 框架的局限和 Spark 横空出世的土壤。今天,我们就来详细介绍 Spark 的内部原理和它强大功能的背后设计。前文回顾Hadoop 的局限并非只有 IO 速度的问题,更重要的是 MapReduce 规定死了 map / reduce 两种运算,并且提…","reviewingCommentsCount":0,"meta":{"previous":null,"next":null},"commentPermission":"anyone","commentsCount":2,"likesCount":113},"next":{"isTitleImageFullScreen":false,"rating":"none","titleImage":"/d99d8eda2bf4eafb7534e_r.jpg","links":{"comments":"/api/posts//comments"},"topics":[],"adminClosedComment":false,"href":"/api/posts/","excerptTitle":"","author":{"bio":"程序员","isFollowing":false,"hash":"b81e8becb0ea232f5bfc6","uid":52,"isOrg":false,"slug":"joseph-holy","isFollowed":false,"description":"来辆AMG C63","name":"Joseph Holy","profileUrl":"/people/joseph-holy","avatar":{"id":"f32f80b31","template":"/{id}_{size}.jpg"},"isOrgWhiteList":false},"column":{"slug":"baozipu","name":"北美码农的包子铺"},"content":"最近几年,Data Engineer 作为一个新职位在互联网公司招聘中反复出现,很多朋友申请拿到面试后也一头雾水,不知道如何准备。究竟 Data Engineer 和 Software Engineer / Business Analyst 是不是一回事儿?小编最近恰好有一次和某 Data Engineer 组的 Team Lead 聊到这个话题,第一手资料分享给大家。背景介绍互联网的一个产品定律是,成功的产品必须能迅速点燃用户增长。当年的 Facebook, 现在的 UAP, 都曾带着炫酷的光环风靡主流用户群。在疯狂的增长期,公司的重心永远是”保持增长,不出乱子“。技术部门的核心任务也相对简单,保证产品的技术架构能撑住新用户的增长速度,同时开发新功能保持用户粘性。当产品的蜜月期过后,用户增长的瓶颈迟早到来。于是,创始人和各种 VP 就得坐下来,重新思考:怎样提高用户的增长速度?怎样提高用户粘度?如何提高产品变现能力?等等等。数据难题对于高层面上的产品问题,硅谷不推崇拍脑袋决策。事实上,大部分公司倾向于用数据来解释发生的现象,并通过 A/B Test 的方式不断通过尝试新的实验,帮助产品决策。说起来简单,但搭建一条完备的 data pipeline 并非易事,上下游的 stakeholder 各种各样,真的很难让所有人满意。简单说列举几个核心角色。Business AnalystBA 非常重要,他们非常熟悉公司的各条产品线和业务线,能够通过组合、比较数据来回答 CXO 们的问题。由于 BA 专注于业务和产品层面,因此他们需要高度格式化、提纯过的数据集,这样就可以使用 BI 相关的工具去做深入分析、比较,最终拿出代表结论的图表。Software EngineerSDE 自然是需要写代码咯。他们把收集业务数据的逻辑嵌入产品中,然后通过各种各样的大数据解决方案,把原始数据做一定程度的加工、整理,供其他 stakeholder 使用。Data EngineerBA 和 SDE 知识背景的不对称,如果 BA 提出的需求在 SDE 实现的时候变了样子,那么结果一定糟糕:要么大家发现数据不对,要么大家用错误的数据得出错误的结论。所以 Data Engineer 就出现了,作为 BA 和 SDE 之间的桥梁:一方面他们负责建立合理、有效的数据模型,帮助 SDE 采集原始数据的准确性和统一格式化;另一方面他们了解每一个表、每一列数据的来龙去脉,因此 BA 关于数据的问题往往可以在 Data Engineer 这得到满意的答复。招聘要求Data Model理解数据模型是 Data Engineer 的重中之重。虽然大部分情况下 SDE 负责维护和数据相关的 pipeline, 但 pipeline 中使用的数据模型,一般是由 data engineer 负责维护的。数据模型可以包括:数据表名,列名,各个分析纬度,触发条件等等。只有透彻理解数据模型,他们才能掌握生成数据的来龙去脉,从而帮助 BA 正确的分析数据。Business Acumen一个好的 Data Engineer 一定有非常敏锐的业务、产品直觉。当 BA 提出关于数据需求的时候,他们可以进一步分析出 BA 真正的意图是什么,如何通过构建合理的数据模型来解决 BA 提出的需求。举个例子,当 BA 希望得到一个 app 在 wifi 环境下某个功能的数据时,Data Engineer 可以进一步在数据模型中把网络环境抽象成分析维度,这样 BA 不仅可以看到 wifi 的数据,还可以看 4G / LTE 下的数据。Reporting && Dashboard.Data Engineer 的终极目标是 make data accessible. 不管是 BA 需要的结构化数据,还是 CXO 喜欢的报表,又或是 SDE 喜欢的 dashboard, Data Engineer 都需要满足他们。对于 Reporting 或者 Dashboard,他们往往在 SDE 负责的 data pipeline 上跑一些 reporting jobs, 或者搭一个 dashboard portal (比如 looker),因此最好有一定的技术基础,这种小任务可以手到擒来。尾声不管是大公司还是小公司,对海量数据的理解和分析使用都是产品发展的重要推力。因此 Data Engineer 的市场缺口依然很大,招聘到一个优秀的 Data Engineer 往往比 Software Engineer 更加困难。所以我们继续看好 Data Engineer 作为一个职业发展的方向。","state":"published","sourceUrl":"","pageCommentsCount":0,"canComment":false,"snapshotUrl":"","slug":,"publishedTime":"T07:30:19+08:00","url":"/p/","title":"关于 Data Engineer 的第一手解读","summary":"最近几年,Data Engineer 作为一个新职位在互联网公司招聘中反复出现,很多朋友申请拿到面试后也一头雾水,不知道如何准备。究竟 Data Engineer 和 Software Engineer / Business Analyst 是不是一回事儿?小编最近恰好有一次和某 Data Engineer 组的 Team …","reviewingCommentsCount":0,"meta":{"previous":null,"next":null},"commentPermission":"anyone","commentsCount":2,"likesCount":88}},"annotationDetail":null,"commentsCount":0,"likesCount":20,"FULLINFO":true}},"User":{"joseph-holy":{"isFollowed":false,"name":"Joseph Holy","headline":"来辆AMG C63","avatarUrl":"/f32f80b31_s.jpg","isFollowing":false,"type":"people","slug":"joseph-holy","bio":"程序员","hash":"b81e8becb0ea232f5bfc6","uid":52,"isOrg":false,"description":"来辆AMG C63","profileUrl":"/people/joseph-holy","avatar":{"id":"f32f80b31","template":"/{id}_{size}.jpg"},"isOrgWhiteList":false,"badge":{"identity":null,"bestAnswerer":null}}},"Comment":{},"favlists":{}},"me":{},"global":{},"columns":{"next":{},"baozipu":{"following":false,"canManage":false,"href":"/api/columns/baozipu","name":"北美码农的包子铺","creator":{"slug":"joseph-holy"},"url":"/baozipu","slug":"baozipu","avatar":{"id":"6fa9f229e6c13bcb08fe40","template":"/{id}_{size}.jpg"}}},"columnPosts":{},"columnSettings":{"colomnAuthor":[],"uploadAvatarDetails":"","contributeRequests":[],"contributeRequestsTotalCount":0,"inviteAuthor":""},"postComments":{},"postReviewComments":{"comments":[],"newComments":[],"hasMore":true},"favlistsByUser":{},"favlistRelations":{},"promotions":{},"switches":{"couldAddVideo":false},"draft":{"titleImage":"","titleImageSize":{},"isTitleImageFullScreen":false,"canTitleImageFullScreen":false,"title":"","titleImageUploading":false,"error":"","content":"","draftLoading":false,"globalLoading":false,"pendingVideo":{"resource":null,"error":null}},"drafts":{"draftsList":[],"next":{}},"config":{"userNotBindPhoneTipString":{}},"recommendPosts":{"articleRecommendations":[],"columnRecommendations":[]},"env":{"isAppView":false,"appViewConfig":{"content_padding_top":128,"content_padding_bottom":56,"content_padding_left":16,"content_padding_right":16,"title_font_size":22,"body_font_size":16,"is_dark_theme":false,"can_auto_load_image":true,"app_info":"OS=iOS"},"isApp":false},"sys":{}}

我要回帖

更多关于 今日头条期权offer 的文章

 

随机推荐