一名数据工程师的自白

工程师人生 2018-10-08 09:36 次阅读
2011年,我作为一名商业智能工程师加入 Facebook。到了 2013 年离开的时候,我的职称是数据工程师。 获得这个职称,并不是因为我被升职或是分配。而是 Facebook 觉得我们的工作已经超越了典型的商业智能。我们为自己创造的这个新角色是个全新的学科。 我的团队处在这场变革的前线。我们一直在开发新的技能呢、新的处理方式、新的工具,而且通常与传统方式背道而驰。 我们是先头部队!我们是数据工程师! 一名数据工程师的自白 数据工程是什么? 数据科学作为一个学科,已度过其自我肯定和自我定义的青春期。而处在同期的数据工程,是个年龄稍小的弟弟,但是也在度过相似的阶段。数据工程学科以其兄长为榜样,但也在相反的领域定义自己,并找寻属于自已的身份。 数据工程师也像数据科学家一样要写代码。数据科学家有很好的分析能力,并且对数据可视化很感兴趣。与数据科学家不同,而且受启发于我们更显成熟的父学科——软件工程,数据工程师要构建工具、基础设施、框架和服务。事实上可以证明,相比数据科学,数据工程更接近软件工程。 如果讨论与既有职责的关系,数据工程领域可以认为是商业智能和数据仓库的超集,而且更多的元素是从软件工程得来的。这个学科也囊括了所谓的“大数据”分布式系统的相关领域内容,以及广泛的Hadoop生态圈、流式处理和大规模计算的相关概念。 在还没有正规化的数据基础架构团队的小公司里,数据工程的职责也会涵盖搭建和维护组织数据基础架构的工作任务。这包括搭建和维护像 Hadoop/Hive/HBase、Spark 平台之类的活。 在小一些的环境里,人们倾向使用 Amazon 或 Databricks之类的托管服务,或者从 Cloudera 或 Hortonworks 之类的厂商获取支持,这本质上就是将数据工程的职责外包给了其他公司。 在大一些的环境里,由于对数据基础架构团队的需求越来越高时,组织更倾向于专门指定或者开设一个正式的角色来处理这些工作。在这些组织中,这个把数据工程流程自动化的职责,同时落到了数据工程团队和数据基础架构团队手中,而且两个团队合作解决高级问题也是很常见的。 虽然这个角色在工程方面的范围在扩大,但其他原本作为商业工程角色的应关注的方面,却变得越来越次要。比如像构建和维护大量的报表和仪表板,已不是一个数据工程师的主要关注领域。 我们现在有了更好的自服务工具,可以让分析师、数据科学家和广义的“信息工作者”变得更精通数据,可以独自应付数据的使用。 ETL 在变化 我们也观察到从拖拽式 ETL (Extract Transform and Load) 工具到一种更加可编程化的方式的大体转变。像 Informatica、IBM Datastage、Cognos、AbInitio 和 Microsoft SSIS 之类的平台技术掌握在现在的数据工程师中并不常见,取而代之的是更通用的软件工程技能,和对编程或配置驱动的平台技术的掌握,像 Airflow、Oozie、Azkabhan 或 Luigi。工程师开发和维护自己的任务编排器/调度器也是很常见的。 有很多不使用拖拽工具开发复杂软件的理由:但最重要的是代码才是对软件最好的抽象。讨论这个话题超出了本文的范围,但是也很容易推导出为什么要用代码写 ETL,原因和写其他软件是一样的。代码允许任意程度的抽象,允许使用熟悉的方法进行所有逻辑处理,可以很好地和源控制集成,也易于版本管理和协作。事实上 ETL 工具暴露图形接口给用户像是数据处理发展史上的一个迂回,这个话题都可再单独写成一篇有意思的博客了。 让我们强调下这个事实,传统 ETL 工具所暴露出的这种抽象是达不到目的的。我们当然需要将数据处理、计算以及存储进行抽象,但我觉得解决的方法并不是将 ETL 元语(比如源/目标、聚合、过滤条件)展现为一种拖拽风格,需要的是一种更高级的抽象。 举例说明,在现代数据环境中做抽象, A/B 测试框架的试验设置:整个试验是什么样的?相关的处理操作是什么?应该暴露给多少比例的用户?预期每个试验会影响哪些度量?试验什么时候生效?在这个例子中,我们有一个需要接收精确、高级输入,需要进行复杂统计学运算以及得出计算结果的框架。我们期望如果引入一个新的试验,就可以相应进行额外的运算并得到额外的结果。在这个例子中,我们要注意的重点是,在这个抽象中输入变量并不是由传统 ETL 工具给出的,而且在拖拽界面中构建这样一个抽象也毫无操作性可言。 对于现代数据工程师而言,传统的 ETL 工具大多数都已过时了,因为无法用代码表达逻辑。因此所需要的抽象也就不能用这些工具直观表达。现在大家知道了数据工程师的职责包括了设计大量的 ETL,并且知道了一套全新工具和方法论是必需的,可以说这迫使这个学科从头重建。数据工程师需要新的技术栈、新的工具、一套新的约束,并且很多时候,是新的一代人。 数据建模在改变 典型的数据建模技术(比如星型模型),曾经定义了我们典型地通过数据仓库为分析工作进行数据建模的方法,但现在已不像之前那样重要。传统的数据仓库最佳实践已经改变。存储和计算要比以前便宜,而且随着可线性扩展的分布式数据库的出现,工程时间成了更紧缺的资源。 这里列举一些数据建模技术方面的变化: 进一步反范式化:在维度中维护代理键这件事可能很棘手,而且这使得事实表的可读性变差。而在事实表中使用自然的让人可读的键和维度属性变得越来越普遍,省去了在分布式数据库中大量繁重的 join 操作。同时要注意像 Parquet 或者 ORC 之类的序列化格式,或者 Vertica 之类的数据库引擎,都提供了编码和压缩的支持,这可以减少通常由于使用反范式化所带来的性能损失。那些系统本身具备为存储进行范式化的能力。 blobs(二进制大对象):现代数据库已经逐渐通过本地类型和方法支持 blobs。这让数据建模师学会了新的招式,并且可以让事实表根据需要一次存储多个粒度的数据。 动态模式:由于 MapReduce 的出现,以及文档存储越来越流行,和 blobs 在数据库中的支持,不需要执行 DML(数据操作语言)就改进数据库模式变得更容易。这使得以迭代方式去建数据仓库更加容易,也免得开发前需要达成完全一致和认同。 系统化维度快照(在每个 ETL 调度周期为维度存储一个全量副本,通常存储在独立的表分区)作为一种处理缓慢变化维(SCD, slowly changing dimension)的通用方法,只要很少的工作量,是一种简单通用的方式。而且这种方式不像经典方式,在写 ETL 或者类似的查询时可以很容易掌握。将维度属性反范式化到事实表,在事务发生时就直接记录维度属性值,,也是一种容易并且相对廉价的方式。回想一下,复杂的 SCD 建模技术其实是不直观的,而且降低了可访问性。 一致性:一致性维度和度量在现在的数据环境中,依然是极为重要的。但是随着数据仓库需求的快速变化,随着更多的团队和角色被邀请到这项工作中贡献力量,一致性就少了一分必要性,更多的是一种权衡。当分歧的痛点变得无法控制,其背后也会产生一致和趋同。 角色和任务 数据仓库 “数据仓库是一个专门为查询和分析而构造的事务数据副本。” — Ralph Kimball 数据仓库是一个面向主题的、集成的、时变的、非易失的集合,用来支持管理层的决策制定过程。 — Bill Inmon 数据仓库依然像之前一样重要,数据工程师负责了很多方面的数据仓库建设和运维的工作。数据工程师的焦点就是数据仓库和相关工作。 现代数据仓库应该是比之前更加开放的设施,欢迎数据科学家、分析师和软件工程师去参与到建设和维护中。如果企业活动限制了什么角色才能够管理数据流程,那数据显然就过于中心化了。虽然这允许随着组织的数据需求而相应扩展,但是经常导致形成了更混乱的、走形的、不完善的基础设施。 数据工程团队通常会拥有数据仓库中几片有保证的、高质量的区域。比如在 Airbnb,有一组“核心”模式(schema)由数据工程团队管理,这里有清晰定义和度量的服务等级协议(SLA,service level agreement),严格遵守命名约定,并且相关的流水线代码遵循一套最佳实践。 为数据对象制定标准、最佳实践和认证流程的“卓越中心”,这也成为数据工程团队的职责之一。团队可以进而去参与或领导一个项目来分享其核心能力,以帮助其他团队成为更佳的数据仓库公民。比如,Facebook 有一个“数据夏令营”的培训项目,Airbnb 正在开发一个类似的“数据大学”的项目,数据工程师在这里主持会议来教大家如何熟练使用数据。 数据工程师也是数据仓库的“图书管理员”,编目和组织元数据,定义从仓库归档或提取数据的流程。在一个快速生长、迅速演变、轻度混乱的数据环境,元数据管理和元数据工具成为一个现代数据平台的关键组件。 性能调整和优化 随着数据变得比以前更加具有战略意义,企业为他们的数据基础设施建设所提高的预算确实令人印象深刻。这样,数据工程师把时间花在数据处理和存储的性能调整和优化上也就更加合理。由于在方面的预算极少缩减,优化往往从在相同的资源下完成更多事情的角度出发,或者是从试图使资源利用和开销的指数级增长线性化的角度。 知道了数据工程栈发展的复杂性正在暴增,我们可以设想优化这个栈和流程的复杂度也同样充满挑战。可能很容易通过很小的努力获得巨大成功的地方,收益递减法则通常是适用的。 建设可以随企业规模增长的基础设施(或在其上建设),并时刻保持资源意识,无疑是对数据工程师有好处的。 数据集成 数据集成,是通过数据交换来集成业务和系统其背后的实际操作,它和以前同样重要,也和以前同样充满挑战。由于软件即服务(SaaS, Software as a Service)逐渐成为企业运营的新标准方式,跨越这些系统来同步相关数据就成为更加关键的需求了。不仅SaaS服务本身需要最新的数据来运行,我们通常也想把产生在SaaS侧的数据拿到数据仓库,来和我们其他数据一起进行分析。当然SaaS经常会提供它们自己的分析,但是没有系统地支持企业中其余数据所能提供的视角,通常得把这些数据拉取回来。 不集成和共享通用的主键,就让 SaaS 服务重新定义参考数据,这简直是场灾难,应该极力避免。谁也不想人为地在两个不同的系统中维护两份雇员和顾客列表。最糟糕的是,必须要在把他们的 HR 数据拉回仓库时做模糊匹配。 最坏的情况,企业高管经常会在不实际考虑数据集成难度的情况下和 SaaS 提供商签约。提供商特意计划好淡化这些集成任务,以促进他们的销售,然后让数据工程师受困于去做充满疑问的、不被重视的工作。更不用说事实上典型的 SaaS API 经常设计不合理、文档不清晰,并且是“敏捷”的:就是说你可以认为它们会在不做通知的情况下改版。 服务 数据工程师工作在一种更高层级的抽象中,就是说在某些场景下要提供服务和工具来使数据工程师、数据科学家或者分析师要手动来完成的工作自动化。 这里列举数据工程师和数据基础架构工程师可能构建和维护的一小部分服务。 数据摄取:围绕“爬取”数据库、载入日志、从外部存储和API获取数据的服务和工具 指标计算:计算和汇总相关参与指标、增长指标或细分指标量的框架 异常检测:使数据处理自动化,以便当异常事件发生或趋势明显变化时警示相关人员 元数据管理:可以生成和消费元数据,并方便在数据仓库中查找信息的相关工具。 实验:A/B测试和实验框架通常是一个重要的企业分析,并带有一个关键的数据工程模块。 检测仪:从日志时间和相关属性到那些事件,数据工程师 会话:为帮助分析师理解用户行为,为理解时间行为序列专门设计的流水线。 就像软件工程师一样,数据工程师必须不断关注工作自动化、构建抽象来使他们能应对重重困难。虽然环境不同,可自动化的工作的性质不同,但自动化的需求在各个环境是普遍存在的。 技能要求 精通SQL:如果说英语是商业语言,那 SQL 就是数据语言。如果英语都说不好的话,作为一个商务人士又能做的怎么样呢?虽然一代又一代技术老去和退出舞台,但是 SQL 一直作为数据的通用语言顽强地活着。数据工程师应该能够使用 SQL 表达各种复杂逻辑,比如使用“关联子查询”和窗口函数。 SQL/DML/DDL 原语已经足够简单,对于数据工程师来说应该完全掌握了。除了SQL的声明特性,数据工程师还应该有能力理解数据库的执行计划,并明白每个步骤是什么,明白索引是如何工作的,明白不同的 join 算法,以及执行计划的分布维度(distributed dimension)。 数据建模技术:对于数据工程师来说,应该对实体/关系模型形成一种认知反射(cognitive reflex),并且对范式化有清晰的认识,同时对权衡反范式化有敏锐的直觉。数据工程师应该熟悉维度建模和相关概念和用语。 ETL 设计:编写高效、可扩展的、“可演化”的 ETL 才是关键。我正计划在接下来的博文中具体讨论这个主题。 架构规划:就像任何专业领域的专家,数据工程师需要对大多数工具、平台、库和其他可以运用的资源有一个较高层级的理解。比如不同种类的数据库、计算引擎、流处理器、消息队列、工作流编排器、序列化格式和其他相关技术背后的属性、用例和微妙之处。设计解决方案时,数据工程师必须能够对使用哪种技术做出好的选择,能够想象到如何使它们协同工作。 总而言之 通过过去 5 年在硅谷 Airbnb、Facebook、Yahoo! 的工作,以及和像 Google、Netflix、Amazon、Uber、Lyft 等几十个各种体量的公司的各种类型的数据团队的丰富交流,我发现大家对于“数据工程师”的发展成什么样,看法越来越趋于一致,而且我觉得有必要分享一些我的发现。 我希望这篇文章可作为某种意义上的数据工程宣言,并且我希望可以在从事相关领域的社区中激起回应。
收藏 人收藏
分享:

评论

相关推荐

利用深度学习技术来从纷繁复杂的观测图像中识别和发现新的星系

研究人员表示,绝大多数情况下黑洞都会位于星系的中央,这些巨大的黑洞喷射出的射线可以被射电望远镜捕捉到....
的头像 将门创投 发表于 11-16 11:20 301次 阅读
利用深度学习技术来从纷繁复杂的观测图像中识别和发现新的星系

如何用一个GPU实现八个GPU的水平

现在我们达到了文章开头设定的目标,想要复现这一过程,可以点击链接查看代码:github.com/da....
的头像 论智 发表于 11-16 09:24 141次 阅读
如何用一个GPU实现八个GPU的水平

物联网机会:从边缘到云的近实时分析

英特尔和SAP提供端到端的物联网解决方案,可提供基于近实时数据的洞察力。
的头像 英特尔 Altera视频 发表于 11-15 06:51 20次 观看
物联网机会:从边缘到云的近实时分析

成功的工程师通常都具备哪些思维

如果你是一个天才工程师(马上可以离开),可以独立完成一个很多事情,你可以是一个怪咖,因为我相信没有一....
的头像 工程师人生 发表于 11-14 17:01 102次 阅读
成功的工程师通常都具备哪些思维

一位工程师的日常工作感悟

年轻的同学喜欢按学习曲线来看自己过去的每一年,但是这种方式很快就会步入到瓶颈,学习曲线增长突然会变得....
的头像 工程师人生 发表于 11-13 10:17 138次 阅读
一位工程师的日常工作感悟

AI UX:最大限度地减少入侵

AI UX的这一集着眼于您对数据收集的深思熟虑,采用更少的方法可以使您和您的用户受益。
的头像 英特尔 Altera视频 发表于 11-13 06:56 36次 观看
AI UX:最大限度地减少入侵

采用API分析并查找数据集中的类似项

此API分析并查找数据集中的类似项。
的头像 英特尔 Altera视频 发表于 11-13 06:33 56次 观看
采用API分析并查找数据集中的类似项

CORD:中央办公室重新设计为数据中心

CORD(中央办公室重新设计为数据中心)改造了Telco中央办公室。
的头像 英特尔 Altera视频 发表于 11-12 06:17 77次 观看
CORD:中央办公室重新设计为数据中心

SQL优化指南:慢查询日志开启撒网模式

第二种是对返回的数据进行排序,也就是通常看到的Using filesort,filesort是通过相....
的头像 电子发烧友网工程师 发表于 11-08 14:25 127次 阅读
SQL优化指南:慢查询日志开启撒网模式

十年工程师生涯分享

再过几天就是我从业十年的纪念日啦,回首这过去的十年,个中辛酸和快乐只有经历过后才有切肤的体会,有加班的烦劳,有择业的困惑...
发表于 11-08 09:46 77次 阅读
十年工程师生涯分享

解决芯片工程师的两大痛点

看看今天的物联网和智能设备领域,你可能会觉得现在是成为芯片工程师最好的年代。设备越来越小,将越来越多....
发表于 11-07 16:38 411次 阅读
解决芯片工程师的两大痛点

开关稳压器LT1766EGN#TRPBF主要应用于哪些产品

开关稳压器  LT1766EGN#TRPBF 这是料号  主要应用于哪些产品 ...
发表于 11-07 11:36 119次 阅读
开关稳压器LT1766EGN#TRPBF主要应用于哪些产品

数据科学家需要知道的5个基本统计概念,如何才能最有效地应用它们

中间的那条线是数据的中位数。由于中位数对离群值的鲁棒性更强,因此中位数比平均值用得更多。第一个四分位....
的头像 电子发烧友网工程师 发表于 11-07 10:57 270次 阅读
数据科学家需要知道的5个基本统计概念,如何才能最有效地应用它们

25条小贴士能够快速提升和巩固你的数据可视化设计

尽管线性图表不一定从零点开始,但如果图表中含大量对比数据的话,零点就很有必要。相对来说,数据的小幅波....
的头像 电子发烧友网工程师 发表于 11-07 10:54 254次 阅读
25条小贴士能够快速提升和巩固你的数据可视化设计

如何在英特尔AdvisorXE中使用高级适用性建模

intel-advisor-xe高级适用性使您能够在一个体系结构和数据大小上建模并行区域,并预测如果....
的头像 英特尔 Altera视频 发表于 11-06 07:41 80次 观看
如何在英特尔AdvisorXE中使用高级适用性建模

英特尔VTune的性能优化介绍

英特尔®VTune™和性能优化
的头像 英特尔 Altera视频 发表于 11-06 06:17 80次 观看
英特尔VTune的性能优化介绍

为什么说未来是全栈工程师的世界

技术在过去的几十年里进步很快,也将在未来的几十年里发展得更快。今天技术的门槛下降得越来越快,原本需要....
的头像 工程师人生 发表于 11-05 14:20 236次 阅读
为什么说未来是全栈工程师的世界

从一个毕业技术小白,到现在资深工程师,他获得这些!

无论当我在网上、论坛上、还是实际生活碰到的种种电子毕业生的时候,我学的有必要把我的路写写,大家可以扔鸡蛋也可以拍砖哈!先...
发表于 11-05 09:32 417次 阅读
从一个毕业技术小白,到现在资深工程师,他获得这些!

未来的工程师会做些什么

更新: Grace和Noah一直忙于他们的夏季项目。 查看他们的工作,并在每个星期的8月份回来看看更多。 我参加工程课已经很长时...
发表于 11-01 15:45 66次 阅读
未来的工程师会做些什么

Wind River Helix设备云中管理控制台的介绍

本视频介绍了Wind River Helix * Device Cloud中的管理控制台。
的头像 英特尔 Altera视频 发表于 11-01 06:20 176次 观看
Wind River Helix设备云中管理控制台的介绍

工程师写技术博客有哪些好处

没有读者,写技术博客文章感觉不到太多的作用,是浪费时间的事情,是这样吗?
的头像 工程师人生 发表于 10-31 11:21 237次 阅读
工程师写技术博客有哪些好处

工程师怎样关注自己的健康问题

我发现很多程序员都认为敲代码对他们的身体健康貌似没什么影响。我真的非常希望,大家能对程序员面临的健康....
的头像 工程师人生 发表于 10-31 10:54 303次 阅读
工程师怎样关注自己的健康问题

关于放大器设计工程师必须知道的100个基本问题(ZT)

网上看到以对答形式总结的基本原理、概念及实用经验,非常棒的资料,转发分享,放大器应用是个经验活,希望大家多分享交流: ...
发表于 10-31 09:04 125次 阅读
关于放大器设计工程师必须知道的100个基本问题(ZT)

如何使用DPDK进行网络性能基准测试

描述英特尔如何使用DPDK第3层转发(l3fwd)示例应用程序工作负载执行高吞吐量网络性能基准测试。
的头像 英特尔 Altera视频 发表于 10-31 06:57 257次 观看
如何使用DPDK进行网络性能基准测试

工程师写博客有什么好处

客文章,是种与自我的对话,也是种与外界的联繫,也是获得 level up 或 skill learn....
的头像 工程师人生 发表于 10-30 15:11 704次 阅读
工程师写博客有什么好处

英特尔ONP和OPNFV的组件介绍

SDN和NFV如何实现灵活且可扩展的框架并定义英特尔®ONP和OPNFV的组件*
的头像 英特尔 Altera视频 发表于 10-30 06:04 217次 观看
英特尔ONP和OPNFV的组件介绍

DPDK的设计方法与API应用介绍

了解DPDK的设计方法及其常见用例,并概述DPDK在VNF / NFV系统中的使用方式。
的头像 英特尔 Altera视频 发表于 10-30 06:02 272次 观看
DPDK的设计方法与API应用介绍

一个老工程师给新毕业大学生的几点建议

作为一个二十年前毕业的大学生,我和现在的许多人一样走过了,迷茫,选择,再迷茫,再选择的过程。现在把我所经历的一些东西写出...
发表于 10-29 09:32 192次 阅读
一个老工程师给新毕业大学生的几点建议

如何成为更优秀的工程师?

来自Heap(一家主要为企业提供用户数据分析架构的企业)早期员工Michael Malis,就如何成....
的头像 嵌入式资讯精选 发表于 10-28 09:51 413次 阅读
如何成为更优秀的工程师?

整个汽车行业好像进入了漩涡的边缘

按照大家一致的交流的看法,由于今年消费端的情况不理想,之前为了维持批发的增速,在库存端的库存可不少....
的头像 汽车电子设计 发表于 10-27 10:36 1321次 阅读
整个汽车行业好像进入了漩涡的边缘

工程师面试创业公司的真实经历

硅谷充满了下面这种创业公司,它们疯狂崇拜在面试中能够答对几道编码难题的候选人,并认为雇佣这些人最终会....
的头像 工程师人生 发表于 10-27 09:43 304次 阅读
工程师面试创业公司的真实经历

只有商业场景下的数据,才是大量真实的数据

普林斯顿大学建筑学硕士;哈佛大学设计学博士;曾是加州大学伯克利分校的教师;现任同济大学设计与人工智能....
的头像 红杉汇 发表于 10-26 16:29 443次 阅读
只有商业场景下的数据,才是大量真实的数据

30岁仍一事无成,为什么你没时间看看这个“失败”工程师的独白?

  回想我刚毕业那年的春节后,招聘现场也异常火爆,我艰难地挤到了第一排,递上简历,得到两个问题,第一,学什么专业,会干啥...
发表于 10-26 14:15 1790次 阅读
30岁仍一事无成,为什么你没时间看看这个“失败”工程师的独白?

被贾跃亭骗后,孙宏斌一改过往语出惊人

数据显示,通过良好的收并购市场口碑引来越来越多的合作机构,目前融创合作机构快速从2016年的109个....
的头像 AI聂潜 发表于 10-24 11:33 941次 阅读
被贾跃亭骗后,孙宏斌一改过往语出惊人

一名资深IT工程师的面试经验

我已经在 IT 领域工作了相当长时间,有 12 年了。作为一个曾经的求职者和面试官,我对面试有一个客....
的头像 工程师人生 发表于 10-24 10:02 333次 阅读
一名资深IT工程师的面试经验

IT工程师怎样利用副项目找工作

为了在 IT 科技领域谋求一份工作而做副项目,这要不就是极好利用时间,就是在极大浪费时间。
的头像 工程师人生 发表于 10-24 09:41 203次 阅读
IT工程师怎样利用副项目找工作

IT工程师如何高效的学习

IT 行业是一个变化非常快的行业,它需要我们持续去学习新的知识和技能。 但是,工作以后,我们经常会发....
的头像 工程师人生 发表于 10-23 10:46 382次 阅读
IT工程师如何高效的学习

为什么有的公司总是抱怨找不到好的工程师

几个月前,我参加了一场针对技术领域女性的活动。很多参加者中是新的开发者,毕业于编程学校或者计算机科学....
的头像 工程师人生 发表于 10-23 10:37 326次 阅读
为什么有的公司总是抱怨找不到好的工程师

什么是辛普森悖论?辛普森悖论的重要性

导致这一悖论的原因是样本大小。当我们分组统计数据时,Carlo's餐厅的女性推荐率高达90%,但它的....
的头像 论智 发表于 10-23 09:02 413次 阅读
什么是辛普森悖论?辛普森悖论的重要性

一位Java工程师的找工作经历

作者从业 10 几年,经历过大大小小的面试也去过一些大公司,还经历过一些大的找工作浪潮,也看到过很多....
的头像 工程师人生 发表于 10-22 10:56 405次 阅读
一位Java工程师的找工作经历

一名前端工程师的从业经历

四年之前,我也是从原生Js开始,HTML,CSS,浏览器兼容,操作DOM,Ajax交互,慢慢到后来,....
的头像 工程师人生 发表于 10-21 09:51 388次 阅读
一名前端工程师的从业经历

产品开发别侥幸——该来的一定会来的

注:本文是作者以前发表在其个人博客,现在发布到电子发烧友专栏开发的产品越多,就越相信这个世界不存在完....
的头像 聚丰开发 发表于 10-19 11:26 264次 阅读
产品开发别侥幸——该来的一定会来的

一名JAVA工程师的八年从业经验分享

在中国有很多人都认为IT行为是吃青春饭的,如果过了30岁就很难有机会再发展下去!其实现实并不是这样子....
的头像 工程师人生 发表于 10-19 10:28 386次 阅读
一名JAVA工程师的八年从业经验分享

一位Java工程师的职业规划

一位哲人说过:“走好每一步,就是你的人生。”,人生之路说长也长,是因为这是你一生所要走的艰难险阻的跋....
的头像 工程师人生 发表于 10-19 10:17 285次 阅读
一位Java工程师的职业规划

成为高级工程师的必备素质有哪些

之前很多人问过我这么个问题,说怎样才能成为一名高级工程师?我觉得这是一个很好的话题,技术人的职业规划....
的头像 工程师人生 发表于 10-19 09:42 316次 阅读
成为高级工程师的必备素质有哪些

美企“相中”中国副教授, 芯片设计人才告急!

美企“相中”中国副教授 Cadence向福州大学副教授陈建利伸出橄榄枝,他是业内一位先进人才。在芯片电子设计自动化领域,陈建...
发表于 10-17 13:48 800次 阅读
美企“相中”中国副教授, 芯片设计人才告急!

工程师和码农的最大区别在哪

工程师和码农的区别并不在于技术水准的高低。
的头像 工程师人生 发表于 10-17 09:15 428次 阅读
工程师和码农的最大区别在哪

嵌入式工程师的真实现状,有人月薪8千,有人年薪快40万!

一名一线企业嵌入式软件工程师的笔者,想通过自己的实际经历理性地评论当今嵌入式行业的真实状况。 目前国内一个普遍被认同的定...
发表于 10-16 13:42 1207次 阅读
嵌入式工程师的真实现状,有人月薪8千,有人年薪快40万!

请不要随意做全栈工程师

很简单就是最近越来越多的人想做【全栈工程师】,他们的目标就是全栈,他们才入行短短1-2年,甚至刚从培....
的头像 工程师人生 发表于 10-16 11:59 424次 阅读
请不要随意做全栈工程师

全栈工程师在生活中的真实状态

从小米辞职出来创业的两个多月里,通过猎头或自己投简历,先后面试了知乎,今日头条,豌豆荚,美团,百度,....
的头像 工程师人生 发表于 10-16 11:51 350次 阅读
全栈工程师在生活中的真实状态

怎样才算成为一名合格的算法工程师

本科生非ACMER 需要什么程度才算算法合格?
的头像 工程师人生 发表于 10-16 11:08 545次 阅读
怎样才算成为一名合格的算法工程师

全栈工程师和架构师有什么区别

全栈工程师和架构师往往具备一专多能,不但专业技能扎实,还得熟悉掌握前端到后端各种主流技术环节的实现能....
的头像 工程师人生 发表于 10-16 11:04 312次 阅读
全栈工程师和架构师有什么区别

前端工程师面试技巧

我在Twitter和Stripe的一部分工作内容是面试前端工程师。其实关于面试你可能很有自己的一套,....
的头像 工程师人生 发表于 10-15 10:57 297次 阅读
前端工程师面试技巧

网盘不可靠 那么本地数据的安全性的出路又到底在哪

最近笔者在网络bbs上看到有网友在讨论网盘被大扫荡之后的事情。有的同学继续坚持用仅剩的两个较为出名的....
的头像 39度创意研究所 发表于 10-15 09:13 367次 阅读
网盘不可靠 那么本地数据的安全性的出路又到底在哪

网页工程师应该怎样规划自己的技术之路

如今网页的重要性毋庸置疑,在商业上,好的网站已经是企业保持竞争力的重要环节。伴随着网页开发技术的日新....
的头像 工程师人生 发表于 10-12 10:26 884次 阅读
网页工程师应该怎样规划自己的技术之路

成为Python工程师需要哪些技能

掌握计算机的构成和工作原理
的头像 工程师人生 发表于 10-12 09:54 494次 阅读
成为Python工程师需要哪些技能

PM应该把工程师作为伙伴而不是工具

过节前看到一篇文章,讲产品项目就应该由工程师来主导,但国内让PM去驱动项目,搞得乱七八糟,很恼火,怎....
的头像 工程师人生 发表于 10-12 09:38 420次 阅读
PM应该把工程师作为伙伴而不是工具

详解为多个地图创建自定义缩放控制的具体步骤

我并不是空间专家,因此我花了一些时间才弄明白。如 3 中所述的,我想用中心点的纬度 / 经度加上或....
的头像 Tableau社区 发表于 10-11 15:49 305次 阅读
详解为多个地图创建自定义缩放控制的具体步骤

数学建模三剑客之Numpy

numpy的数组对象除了一些常规的属性外,也有几个类似转置、扁平迭代器等看起来更像是方法的属性。扁平....
的头像 电子发烧友网工程师 发表于 10-11 10:44 347次 阅读
数学建模三剑客之Numpy

工程师必看:六招搞定常见电子元器件的检测

1. 判断晶振的好坏 先用万用表(R×10k挡)测晶振两端的电阻值,若为无穷大,说明晶振无短路或漏电;再将试电笔插入市电插孔内,...
发表于 10-04 16:52 218次 阅读
工程师必看:六招搞定常见电子元器件的检测