\

要点:\

  • 当前技术发展迅猛,其中的一些改进将可使你的客户们最终受益,并简化他们的生活。聚焦于这样的改进是十分重要的。 \
  • 采用了“凡事皆服务”的原则以来,Intuit公司得以前所未有地快速行动起来,可更快地创造出神奇、顺畅的客户体验。 \
  • 技术改造中,有两件重要的事情需要牢记:1)尽可能在开始阶段就说服执行者,并得到执行者的支持,2)通过与团队的交流,确保团队对技术改进的理解,并围绕改进开展工作。 \
  • 科技世界正在发生改变,客户期望也同样在发生变化。Intuit的平台重构工程将会促进创新,并满足用户重大权益。 \
  • 仅一年内,Intuit TurboTax软件得以转变其企业架构,为超过三千万的用户提供了在任何设备上可使用的报税软件的完全版和原生版。

\

在本次访谈中,Alex Balazs,作为Intuit公司Turbo Tax软件的VP Fellow架构师,将讲述他们是如何使用Node.js去分割他们遗留系统平台的整体架构。Balazs谈及了如何使员工参加到项目中,项目中面对怎样的挑战,以及其它大公司如何能从他们的经历中获益。\

InfoQ: 既然TurboTax已经采用了一些新的技术,关于该过程你能更多地介绍一下吗?\

\

Alex Balazs: Intuit TurboTax软件的发展历程是十分有趣的。在上世纪90年代,TurboTax作为桌面软件产品取得成功,因此成为家喻户晓的产品。TurboTax将纸质表格填写转化为软件操作,使得报税填写更加容易,这在当时是非常创新的技术。\

考虑到技术已向移动和云计算领域迁移,我们也不得不进行变革。如何将这个仍使用遗留技术构造的产品并且当前是蓬勃发展的商业,在新的领域中进行彻底地改造?这就像要在飞行中对你所驾驶的飞机进行重新构建。我们意识到,如果我们想要继续保持对神奇产品的创造,就需要对技术与创新进行持续地转化。\

过去两年中,我们前行于公司技术栈现代化的征程上,并创立了我们的技术战略。该战略使我们不仅要去建立最好的报税软件,而且要去为我们的客户解决各类各异的复杂问题。我们首先构建了一个知识引擎,在其中编码了税务法律、逻辑和计算等内容。该引擎不仅推进了开发人员的开发速度和项目创新,而且使所有人能更好地理解税费的计算方式。这个知识引擎在项目中具有非凡的作用。\

此后,我们的现代化征程聚焦于去构建一个服务平台。我们知道面向未来的产品的建立,需要一个面向未来的平台;我们也知悉解决诸如报税之类的复杂问题是十分困难的任务;这个事实源于我们经历的两次失败的平台重构经历。\

高尔定律指出:“一个可用的复杂系统势必是从一个可用的简单系统发展而来的。从头开始设计复杂系统从根本上而言是不切实可行的,并且修修补补是无法让一个复杂系统可用的。你必须由一个可用的简单系统重新开始。”

\

InfoQ:那么你们是怎么做到的?\

\

Alex Balazs:通过采用“凡事皆服务”的原则。这是前期我们从行业中一些最优秀的人那里所学到的,即我们的技术必须使我们以及其他开发人员能够快速地去创造神奇、顺畅的用户体验。在团队可按员工各自的节奏工作时,服务提供效率得以改进。因为这允许我们的员工在不必召集会议的情况下,独立地去构建、测试和发布服务及产品体验。\

服务是为他人所创建的,因为服务具有一个标准的合约,是可扩展的、安全的、可被搜索到的并易于使用的。\

通过大规模地提供高质量的、创新的、可响应的服务而建立持久优势的做法,在现有技术具有局限性的条件下是非常难以实现的(经常是不可能实现的)。\

我们的目标是通过让我们的全体员工提供他们平生最好的工作而引领技术栈的革新,这种创新可提供突破性的用户体验及爆炸性的用户增长,并淘汰过时的报税方法。\

Node.js技术影响了我们的技术平台重构提议。当我们启动平台重构征程时,我们有一个使用遗留技术所构建的整体架构,具有一千万行的旧代码。我们的方法是通过将已仓储的整体代码库分解为更小的、更简单的服务组件而构建企业级服务。该方式使我们在无需颠覆上百万用户年年所仰仗的操作经验的前提下加速创新。\

基于对可用技术的审慎分析,我们确定Node.js技术将有助于我们构建“凡事皆服务”的征程。但是我们知道,如果想要大规模地去实现Node,我们不能只考虑该技术的优点。实际代码也证实了这一点。考虑到这些,我们设计了实验去测试整个技术栈中最短板的一块。在两个月内,我们构建了用于端到端的用户体验的实验,引入了从产品管理、产品开发、用户体验和工程中所获取的所有专业技术。实验证实了Node.js可以在大规模环境中正常地工作。\

当前,我们正在扩展我们所使用的服务(包括Node.js)去打破原有的整个庞然大物。我们将整体代码库视为一座冰山,并用Node.js在垂直切片上进行钻进。假以时日,过去的代码库将会最终被分解,留下的是由包括Node.js在内的许多组件所构建的新平台。

\

InfoQ:在诸如Intuit这样的大公司中,你怎样使员工去支持你?\

\

Alex Balazs:我们曾设想所有的雇员在面对使用新技术的工作机会时,都会鱼跃而上。但事实并非如此。员工时常是很享受于用他们所知的去工作。我们知悉这关键在于应向员工解释清楚,现有平台是岌岌可危的,这个理由是令人信服的,它说明了技术改进的必要性。如果所有各层级的员工都没有参与进来,再好的点子都是没有意义的。执行者的支持也是十分重要的;企业领导有时也是不敢于对当前仍盈利的产品进行技术改进。确保去说服公司内部的各个层级也是我们的职责。

\

InfoQ:为什么Intuit要着手去实现该平台重构的提议\

\

Alex Balazs:科技世界正在改变,用户期望也同样在发生变化。在我们所从事的行业里,商业模式经常被瓦解重建,我们需要行动敏捷,并像初创公司一样地思考问题。公司和应用正在重构,从桌面向云端迁移。满足“凡事皆服务”是全Intuit公司范围的关键重点,而在应用服务中,Node是一种标准的运行时环境。我们企业的规模和数据本身都需要企业级架构,该架构是Node可提供的。\

我们进行平台重构并非是为了使用某个新编程技术或是为了清理我们的代码库。启动该历程的最根本原因在于,促进创新并满足客户的重大权益,并且我们已看到了有意义的结果。在过去的两年中,Intuit通过从整体代码库向模块化面向服务开发的转化历程,已经节省了近120编程人年的时间。我们的原生移动端开发技术已使开发人员的生产率提高了10倍。所有这些都意味着更好的开发人员体验,以及更多的时间可用于去解决可改善我们客户生活的重要问题。

\

InfoQ:你们的研发过程是如何改进的(例如敏捷之类的)?\

\

**Alex Balazs:**Intuit构建了一个服务平台;该平台的核心理念在于,平台团队指出架构问题的解决方案,包括主机、监控、管理、启动、集群、更新,并致力于提供多服务的支持。反过来,全公司的开发人员团队聚焦于解决他们的客户问题,以及服务的商业逻辑。

\

InfoQ:你们曾面对怎样的挑战?\

\

Alex Balazs:从企业组织的角度看,我们所面对的挑战之一就是,对于满足移动端优先而言,我们企业的组织结构并非是最有效的。我们历史上的策略曾是为iOS、Android、Windows、Mac及Web分别建立完全独立的团队,更遑论对其它设备的支持。我们已通过一次重组,将所有移动端开发团队重组在一起并向统一的目标看齐,致力于一起取得胜利。

\

InfoQ:对于其它可能考虑着同样问题的企业,你有什么好的建议可以给出吗?\

\

Alex Balazs:下面是我们基于在Intuit的经验而得到的建议:\

  • 凡事皆服务-确认你公司中进展缓慢的任务并对此有所准备。 \
  • 分而治之-掌控全公司中不同资源所具有的专业技术。 \
  • 在平台中,服务开发人员需在系统的控制和与其它系统的符合性间做权衡。优先满足符合性,并使得易于与公开合作的模块一起使用。人们总是喜欢使用易用的东西。

\

InfoQ:你们下一步将如何进展?\

\

Alex Balazs:我们仍处于技术转变的历程中,但我们正在看到我们努力的成果。在仅仅一年中,Intuit TurboTax转换了其企业架构,并向超过三千万使用各种设备的用户发布了填报税务软件的完全版和原生版。 下一阶段,我们将使用Node.js及其它技术扩展服务,使得软件更加高效,并易于开发人员创新。\

我们并不是在企业级规模上使用诸如Node.js等JavaScript技术的唯一企业。包括PayPal、Netflix和Walmart Lab等企业都在使用这些技术进行研发。但是我们都认识到,拥有众多用户和大量资产收入的企业仍有许多需要去学习的。这也是为什么Intuit引领建立企业级JavaScript联盟的原因。我们每月举行会议,一起分享最佳实践。我们仍处于合作和部分技术开源过程的初始阶段,该过程使得我们这些企业相比于去各自发展而言,可更加快速地共同前进。我邀请其它企业通过访问我们的网站加入我们。

\

关于受访者

\

Alex Balazs是Intuit公司用户税部门的副董事长,兼Fellow首席产品与工程架构师。在该职位上,他负责引领先进技术创新、卓越工程管理和Intuit TurboTax报税软件产品线的技术战略。Balazs是一位成熟的领导者及工程师,他通过务实的架构有效地加速了企业的商业产出,该架构具有面向未来的大胆的想象力,可不断地通过快速的实验达成对架构愿景的验证。作为一位在Intuit具有16年工作经历的雇员,Alex自16年前加入Intuit以来,历经一系列的岗位,其中包括杰出架构师-消费税部门首席架构师,首席身份识别架构师及软件架构师。

\

查看英文原文:Q\u0026amp;A with Intuit's Alex Balazs


感谢张龙对本文的审校。

\

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号:InfoQChina)关注我们。

Intuit的Alex Balazs访谈相关推荐

  1. alex机器人 ser_访谈 | 壹佰米机器人CO-FOUNDER & SVP:ALEX

    原标题:访谈 | 壹佰米机器人CO-FOUNDER & SVP:ALEX 壹佰米机器人CO-FOUNDER & SVP:ALEX(孙广彬) 郑州大学硕士毕业,历任中创信测科技股份公司( ...

  2. 最新宣布:Intuit和微软公司就Intuit合作平台的最新版Windows Azure SDK扩大合作关系...

    开发人员在云中的机会成倍增加.今天Intuit提供了关于这个趋势的另一个绝好的例子,即宣布公司正在加大投资,使用Windows Azure 更好地整合Intuit合作平台.这将为开发人员和渠道合作伙伴 ...

  3. IETF访谈: HTTP/3全球份额持续增长,QUIC前景一片光明

    正文字数:2402  阅读时长:4 分钟 本篇文章为IETF近期对Lucas Pardue 关于QUIC标准化工作的访谈.作者为IETF Blog 记者Grant Gross.   文 / Grant ...

  4. Alex Hanna博士:Google道德AI小组研究员

    Alex Hanna博士是社会学家和研究科学家,致力于Google的机器学习公平性和道德AI. (Dr. Alex Hanna is a sociologist and research scient ...

  5. 高管访谈:AI 驱动的新兴金融市场改革,还有这三项障碍

    外媒financial revolutionist近期策划了一场访谈,邀请嘉宾讨论人工智能对新兴市场的影响,他们认为,人工智能的先驱们大多来自科技界,已经通过 Fintech 对金融服务行业带来了震撼 ...

  6. Geoffrey Hinton 最新访谈:不出五年,我们就会破解大脑的运作机制,但不是通过反向传播...

    整理:李梅.黄楠 编辑:陈彩娴 过去十年,AI 在计算机视觉.语音识别.机器翻译.机器人.医学.计算生物学.蛋白质折叠预测等等领域取得了一个又一个突破,而这些突破的背后,均离不开深度学习.那么,深度学 ...

  7. 马斯克最新访谈全文,信息量极大,远见令人震撼

    "建设太空文明和成为多星球物种是重要的,如果将来发生了第三次世界大战或者类似的事情,或者发生了全球性热核战争,那个时候可能地球上所有的文明都将被毁于一旦,但它至少能够继续在别的地方存在.&q ...

  8. 马斯克成全球首富!万字最新访谈披露,信息量极大,远见令人震撼

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要25分钟 Follow小博主,每天更新前沿干货 作者 | 六毛 来源 | 车东西(ID:chedongxi) 转载自:理想岛 据CNBC报道, ...

  9. css tricks_电线之间:接受CodePen和CSS-Tricks声望的Chris Coyier访谈

    css tricks by Preethi Kasireddy 通过Preethi Kasireddy 电线之间:接受CodePen和CSS-Tricks声望的Chris Coyier访谈 (Betw ...

最新文章

  1. TC配置文件WCMD.INI详解,只能在ini重修改的配置
  2. php 爬虫_Scrapy 爬虫完整案例-基础篇
  3. 深度学习利器:TensorFlow与NLP模型
  4. 加括号改变连除式结果(洛谷P2651题题解,Java语言描述)
  5. python检查_python – 检查属性是否存在的最佳方法是什...
  6. 迎新年\年会背景PSD分层模板
  7. Harbor快速部署到Kubernetes集群及登录问题解决
  8. 解密flash播放器
  9. 顶尖中文大学计算机专业课程体系
  10. Android--Activity的跳转及Activity之间的数据传递
  11. redis 的线程模型
  12. MAC查看一个库的编译版本
  13. unity插件共享汇总大全
  14. 51单片机流水灯电路以及C代码
  15. 工龄工资每年工龄自动增加计算设置
  16. PSU CS Guest Lectures at CCUT(波特兰州立大学在长春工业大学的讲座课程)
  17. Android端阿里云实人认证
  18. win11任务管理器怎么打开?win11任务管理器打开的技巧方法
  19. python读文件完整代码_Python读写文件的代码示例
  20. 如何才能做到用户持续增长?

热门文章

  1. FPGA配置模式(Altera版)
  2. 【 FPGA 】时钟抖动浅记
  3. 虚拟机中docker安装mysql远程无法访问解决方法
  4. 基于MSM 的tomcat session 共享
  5. 背水一战 Windows 10 (47) - 控件(ScrollViewer 特性): Chaining, Rail, Inertia, Snap, Zoom
  6. gRPC异步处理应答
  7. 无法上外网, ping网关ping不通的解决——arp命令
  8. VS2012经常使用的快捷方式完成最全面
  9. 数据库Sharding的基本思想和切分策略
  10. linux shell命令设置内存大小运行jar文件