联系我们

面试

SPR12博下载app实践的首席架构师Erik Gfesser– Interview Series

mm

更新

 on

Erik加入了 SPR‘于2018年担任新兴技术集团首席架构师。

Erik专注于12博下载app,使用Java的开源开发以及实用的企业体系结构,包括PoC,原型和MVP的构建。

最初吸引您的原因 机器学习?

它使应用程序能够不断学习。我曾在一家全球市场研究公司中使用SPSS担任高级12博下载app分析师,开始了我的开发生涯,后来将名为Drools的业务规则引擎的用法整合到了我为客户构建的应用程序中,但是所有这些工作的结果都是本质上是静态的。

后来我通过流程改进培训进行工作,在此期间,讲师详细演示了他们如何通过统计12博下载app和其他方法来改善客户使用的业务流程,但这里的输出仍然主要集中在时间点上。我在同一时间段内和同事们共同努力改进医疗保健产品的经验向我展示了为什么要进行这样的努力需要持续学习,但是当时没有可用的资源。

有趣的是,由于当时的AI寒冬,我的研究生顾问警告我不要使用所谓的人工智能专业,因此我对机器学习的兴趣已全面发展。我之所以选择使用诸如ML之类的术语,是因为它们具有较少的含义,并且甚至AWS都承认其AI服务层实际上只是在ML服务层之上构建的更高层次的抽象。尽管其中一些ML炒作是不现实的,但从开发人员的角度来看,它提供了强大的功能,只要这些从业人员承认ML提供的价值仅与它处理的12博下载app一样好。

 

您是开源的拥护者,您能讨论为什么开源如此重要吗?

我关于开源的一个方面’多年来需要向主管人员解释的是,开放源代码的主要好处不是要在不花钱的情况下使用这种软件,而是要免费提供源代码。

此外,使用此源代码的开发人员可以对其进行修改以供自己使用,并且如果建议的更改得到批准,请使用这些其他开发人员使用这些更改。实际上,开放源代码软件的发展之所以开始是由于开发人员漫长的等待商业公司对其许可产品进行更改的原因,因此,开发人员将其自己编写为具有相同功能的软件,从而使其开放以供其他公司改进开发人员。

商业化的开源利用了这些好处,事实是,许多现代产品在幕后利用了开源,即使此类软件的商业变体通常提供了作为给定开源版本的一部分不可用的其他组件,从而提供了与众不同的优势。以及在需要时提供支持。

我最初的开源经验是在构建我之前提到的医疗产品时进行的,它使用了诸如Apache Ant之类的工具来构建软件,并使用了当时称为Hudson的早期DevOps产品(其代码库后来变成了Jenkins)。 )。我们决定使用这些开源产品背后的主要原因是,它们要么为商业替代方案提供了更好的解决方案,要么是商业实体甚至没有提供的创新解决方案,更不用说我们一直在使用的某些产品的商业许可限制过于严格,由于涉及的成本,导致需要更多许可证时导致繁文tape节。

随着时间的流逝’我们已经看到开源产品不断发展,提供了急需的创新。例如,我和我的同事努力构建此医疗保健产品时遇到的许多问题后来都被我们开始使用一种名为Spring Framework的创新性开源Java产品解决了,该产品经过十多年的发展仍在持续发展,其生态系统现在远远超出了它最初提供的一些创新,这些创新现在被视为司空见惯,例如依赖注入。

 

您已使用开源构建PoC,原型和MVP。您能否分享这些产品背后的旅程?

正如我向新客户介绍的一项指导原则中所述,随着时间的流逝,我们应继续迭代地为我们为其构建的12博下载app平台进行扩展。不应期望为此平台内置的组件保持静态,因为需求会发生变化,并且随着时间的推移会提供新的组件和组件功能。

建立平台功能时,请始终从最小可行的方法开始,然后再添加不必要的铃铛和口哨声,在某些情况下甚至包括配置。从功能开始,确保您了解它,然后发展它。不要浪费时间和金钱来建立很少被使用的东西,而要努力超越未来的需求。

显然,我们为该产品构建的MVP需要构建,以便可以在其之上继续构建其他用例,即使它与单个用例的实现打包在一起,也可以用于费用异常检测。与该客户不同的是,在我到达之前,我所开发的较早产品具有一定的历史渊源。在这种情况下,利益相关者一直在争论三年(!),他们应该如何使用他们想要构建的产品。一位客户主管解释说,他带我来的原因之一是帮助公司克服了一些内部辩论,特别是因为他要构建的产品需要满足所涉及组织的层次结构。

我发现这些争夺战很大程度上与客户,其子公司和外部客户拥有的12博下载app有关,因此在这种情况下,整个产品积压工作都围绕着如何提取,存储,保护和使用这些12博下载app进行用于生成医疗服务提供商动态网络以进行成本分析的单个用例。

在我职业生涯的早期,我开始了解一种建筑质量“usability”不仅限于最终用户,还包括软件开发人员本身。出现这种情况的原因是,编写的代码需要像最终用户可以使用的用户界面一样可用。为了使产品可用,需要构建概念证明以证明开发人员将能够执行他们打算做的事情,尤其是与他们正在选择的特定技术相关时。但是概念证明仅仅是个开始,因为随着时间的推移,产品是最好的。我认为,理想情况下,MVP的基础应该建立在具有一定稳定性的原型上,以便开发人员能够继续发展它。

 

而 回顾《企业规模的机器学习》一书 您说‘将开放源代码产品,框架和语言与由开放源代码和商业组件组成的敏捷架构结合使用,可以提供许多公司所需的敏捷性,但不能’不能立即意识到。”您能否详细说明为什么您认为使用开源的公司更灵活?

许多商业12博下载app产品在幕后使用了关键的开源组件,并使开发人员能够使用流行的编程语言,例如Python。制造这些产品的公司知道他们的开源组件’如果社区已经广泛使用这些工具,则可以选择合并它们,从而为他们提供一个快速的起点。

具有社区优势的开放源代码组件更容易出售,这是由于这些组件带来了熟悉性。市售产品主要由封闭源或什至主要仅由特定商业产品使用的开放源组成,通常需要由这些供应商提供培训或获得许可才能使用该软件。

此外,此类组件的文档在很大程度上未公开提供,这迫使开发人员继续依赖这些公司。当广泛接受的开源组件(例如Apache Spark)和Databricks Unified Analytics Platform等产品成为中心焦点时,社区中已经提供了许多此类项目,从而最大程度地减少了开发团队依赖于商业实体的部分去做他们的工作。

另外,由于诸如Apache Spark之类的组件已被广泛接受为事实上的行业标准工具,因此代码也可以更容易地在此类产品的商业实现之间迁移。公司将总是倾向于合并他们认为的竞争优势,但是许多开发商却没有这样做。’不想使用完全新颖的产品,因为事实证明,这在公司之间转移具有挑战性,并且往往会切断与他们期望的强大社区的联系。

根据个人经验,我’过去曾使用过此类产品,因此要获得称职的支持可能很困难。具有讽刺意味的是,鉴于此类公司在客户期望及时提供支持的情况下出售其产品。一世’我有向开源项目提交拉取请求的经验,并在当天将修正内容并入了构建版本中,但是对于与我合作过的任何商业项目都不能说相同的话。

 

您对开放源代码的其他看法是,它会导致“访问强大的开发人员社区。”其中一些社区有多大?它们为何如此有效?

围绕给定开源产品的开发者社区可以达到数十万。收养率不’它不一定指向社区的力量,但可以很好地表明这一点,因为它们倾向于产生良性循环。当社区进行健康的讨论并提供有效的文档时,以及正在积极发展的社区中,我认为社区是强大的。

当架构师或高级开发人员在整个过程中选择将哪些产品整合到正在构建的产品中时,通常会影响很多因素,不仅涉及产品本身和社区的外观,还涉及将要开发的开发团队。采取这些措施,这些措施是否适合正在开发的生态系统,路线图看起来如何,在某些情况下,在可能需要的情况下是否可以找到商业支持。但是,在缺少强大的开发人员社区的情况下,许多方面都处于困境。

 

您已经在网站上浏览了数百本书,您可以推荐三本给读者吗?

这些天我读了很少的编程书,尽管有例外,但事实是这些书通常很快就过时了,开发人员社区通常通过讨论论坛和文档提供更好的选择。我目前阅读的许多书都是免费提供给我的,包括我订阅的技术通讯,与我联系的作者和公关人员,或者与Amazon发送给我的那些通讯。例如,亚马逊向我发送了一份发布前未经更正的证明“The Lean Startup”在2011年进行审核时,向我介绍了MVP的概念,最近又向我发送了一份“Julia for Beginners”.

(1)O的一本书’Reilly that I’ve recommended is “寻找12博下载app库的必杀技”。作者详细介绍了12博下载app查询引擎在一方面支持跨OLTP范围的工作负载,另一方面又支持分析和中间操作和商务智能工作负载的挑战。本书可以用作评估12博下载app库引擎或查询引擎和存储引擎的组合的指南,旨在满足一个’的工作负载需求,无论是事务性的,分析性的还是两者兼而有之。另外,作者’s coverage of the “摇摆12博下载app库摆”最近几年做得特别好。

(2)在过去几年中,尽管12博下载app空间发生了很大变化,但是由于继续推出新的12博下载app分析产品, “Disruptive Analytics” 展示了我所拥有的过去50年中创新分析的可追溯的简短历史’并在其他地方看到,并讨论了两种类型的破坏:分析价值链中的破坏性创新,以及分析创新带来的行业破坏。从初创企业和分析从业者的角度来看,成功是通过扰乱他们的行业来实现的,因为使用分析来区分产品是创建破坏性业务模型或创建新市场的一种方式。从为组织投资分析技术的角度来看,采取观望方式可能是有道理的,因为由于使用寿命缩短,处于中断风险中的技术是有风险的投资。

(3)最好的技术商务教材之一’ve read is “策略的局限性“由研究委员会(由Gartner收购)的联合创始人组成,该委员会是一个国际智囊团,负责研究计算世界的发展以及公司应如何适应。作者在与商业领袖的多次对话中提供了非常详细的笔记,对他(与妻子)建立一组客户的经验进行了深刻的分析,这些客户是需要将其策略与爆炸性的计算机世界相结合的主要公司。正如我在评论中所评论的那样,这本书与其他相关工作的不同之处是两个看似相反的特征:整个行业的广度和亲密关系,只有通过面对面的互动才能实现。

 

您是SPR12博下载app实践的首席架构师。您能描述一下SPR的作用吗?

SPR是一家位于芝加哥地区的数字技术咨询公司,为财富1000强企业到本地初创企业等众多客户提供技术项目。我们使用一系列技术功能来构建端到端的数字体验,从定制软件开发,用户体验,12博下载app和云基础架构到DevOps指导,软件测试和项目管理,应有尽有。

 

您对SPR负有哪些责任?

作为首席架构师,我的主要职责是推动为客户提供解决方案,主导项目的体系结构和开发,这通常意味着要戴其他帽子,例如产品负责人,因为能够从动手的角度联系产品的制造方式在很大程度上应优先考虑工作的优先顺序,尤其是从头开始构建时。一世’当需要我的专业知识时,m还与潜在客户进行了讨论,该公司最近要求我在12博下载app实践方面与架构师一起进行一系列持续的会议,以讨论客户项目,副项目以及我的同事正在做什么。跟上我之前的咨询工作,跟上技术发展的步伐,尽管可以说这家公司的内部聚会涉及他们的整个技术实践,而不是专门针对12博下载app工作。

在我的职业生涯中,我’ve专门从事使用Java的开源开发,在此过程中执行越来越多的12博下载app工作。除了这两个专业之外,我还做我和同事所说的事情“practical” or “pragmatic”企业体系结构,这意味着要在要构建的上下文中执行体系结构任务并实际构建它,而不是仅仅谈论它或为其绘制图表,当然要意识到这些其他任务也很重要。

在我看来,这三个专业是相互重叠的,并不互斥。一世’ve向高管们解释说,过去几年来,技术行业传统上在软件开发和12博下载app工作之间划清界限的原因不再明确,部分是因为这两个空间之间的工具已经融合,部分是因为,在这种融合中,12博下载app工作本身已基本上成为软件开发工作。但是,由于传统的12博下载app从业人员通常不会’具有软件开发背景,反之亦然,我帮助弥补了这一空白。

 

您目前正在使用SPR进行的有趣项目是什么?

就在最近,我发表了 多部分案例研究系列的第一篇文章 关于我和我的团队去年从头开始在AWS上为位于芝加哥的一家全球咨询公司的CIO实施的先前提到的12博下载app平台的信息。该平台包括12博下载app管道,12博下载app湖,规范化12博下载app模型,可视化和机器学习模型,供公司部门,业务部门和客户的最终客户使用。虽然核心平台将由CIO运营的公司IT组织构建,但目标是该平台将被公司IT以外的其他组织使用,并使用通用架构在整个公司范围内集中12博下载app资产和12博下载app分析,在此基础上构建以满足每个组织的用例需求。

与许多老牌公司一样,Microsoft Excel的使用很普遍,电子表格通常在组织内部和组织之间以及公司与外部客户之间分发。此外,业务部门和咨询实践已变得孤立无援,每一个都使用不同的流程和工具。因此,除了集中化12博下载app资产和12博下载app分析外,另一个目标是实施12博下载app所有权的概念,并以安全,一致的方式在组织之间共享12博下载app。

 

关于开放源代码,SPR或您正在从事的其他项目,您还有其他要分享的东西吗?  

另一个项目(了解它 这里 and 这里),我最近领导的工作涉及成功实施Databricks Unified Analytics Platform,并将机器学习模型的执行从Hadoop发行版Azure HDInsight迁移到大型保险公司的12博下载app工程总监。

所有这些迁移的模型都旨在预测各种保险产品可以预期的消费者采用程度,其中一些是几年前从SAS迁移而来的,当时该公司开始使用HDInsight。最大的挑战是12博下载app质量差,但是其他挑战包括缺乏全面的版本控制,部落知识和不完整的文档,以及当时不成熟的Databricks文档和有关R使用的支持(Databricks的Azure实施已普遍提供该项目之前的几个月)。

为了应对这些关键挑战,作为我们实施工作的后续措施,我提出了有关自动化,配置和版本控制,12博下载app关注点分离,文档以及在其12博下载app,平台和建模团队之间需要保持一致的建议。我们的工作使最初非常怀疑的首席12博下载app科学家确信Databricks是行之有效的方法,其既定目标是在我们离开后尽快将其剩余模型迁移到Databricks。

这是一次涉及许多主题的精彩访谈,我觉得我对开放源代码了解很多。希望了解更多信息的读者可以访问 SPR 公司网站或 埃里克·格菲瑟(Erik Gfesser)’s website.

安东尼·塔迪夫(Antoine Tardif)是 Futurist 他对AI和机器人技术的未来充满热情。他是 BlockVentures.com并已投资了50多个AI和区块链项目。他是的联合创始人 Securities.io 一个专注于数字证券的新闻网站,是unite.AI的创始合伙人。他也是 福布斯技术委员会。