Tubi 故事|解决了核心问题,团队才有机会发展壮大

2024-02-01 00:04

本文主要是介绍Tubi 故事|解决了核心问题,团队才有机会发展壮大,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在之前的 Tubi 故事中,我们回顾了中国团队从四人到百余人精英队伍迅速扩张的黄金原则,以及在小众技术语言领域吸引高端人才的秘诀。然而,招聘策略再出奇,团队快速发展的前提都是这支团队对于公司是不是可靠且重要,继而才会有招聘的需求,团队才有可能壮大。接下来,我们将分享 Tubi 中国团队如何一步步建立起在 Tubi 整体业务中的技术影响力,中国团队成员又是如何保持与团队共同进步,创造了团队和个人的成功。


对于任何一个公司而言,在外地设立研发中心或分部就像一个小型的创业实验,需要考虑许多因素。比如,Tubi 在 2016 年创立中国团队时就特别关注 —— 能否迅速招募到中国最顶尖的工程师团队,能否快速有效地实现中美团队之间的高效协作,以及中国的政策和环境是否能提供充足的支持等。

在谈到创建这支与总部有着天然的地理文化差异的中国团队时,Tubi CTO Marios 说:“在 Tubi,我们经常进行一些实验,我们决定将创建中国团队也视作一个实验,看看会有什么结果。

尽管在创建中国团队时,我们面临着这一实验的诸多不确定性,但有一点我们十分明确,那就是我们希望在中国招聘资深工程师,打造一个和 Tubi 美国工程师团队同样优秀的精英队伍,而不是一个外包团队。我们从一开始就明确,这些人将与美国团队一起工作,而不是在中国和美国分别进行各自的项目,这将有助于增进团队之间的协作,更好地发挥整个团队的潜力。”

解决那些最核心的问题

在创建中国团队这一关键实验中,陈天面对的是空前的压力和强烈的动力。他回忆说:“当时,Tubi 还处于早期创业的关键阶段,我们还在为公司的生存与发展奋斗。在这种情况下,每一个项目都充满了紧迫性,都必须全力以赴以创造显著的收益。”

对于 2016 年刚刚创建的中国团队 来说,向 Tubi 展示中国团队能够带来显著价值是极为迫切和关键的任务。只有大家齐心协力,才能确保这一探索性实验的成功;一旦成功,不仅能够扩大中国团队的规模,还能为 Tubi 带来更多的收益。同时,只有高效利用资源并获得最佳的投资回报,通过一项项实际成果,才能让美国团队深信设立中国团队的价值和收益远超跨时区和地域的沟通成本;只有这样,中美团队之间的信任才能逐渐建立,从而使未来的沟通和协作更加顺畅和高效。这不仅是一项挑战,也是一个机会,可以促进两地团队的协同合作,共同推动 Tubi 的发展和成功。

当中国团队有了第一批员工后,这支由四人组成的工程师团队立即投入到了紧张的工作中。

陈天回忆中国团队最初负责的工程项目时说:“大约在 2017 年,我清楚地记得当时 Tubi 的 Ad Break Finder 效果欠佳。我与 Yingyu 深入探讨了我们在开发 Ad Breaker Finder 时遇到的挑战。经过讨论,他开始构思一种新方法:创建 Tubi 影片的精灵图(sprite image)。这样,内容团队的同事们就能更高效地确定广告插入的确切位置了。以前,我们必须手动拖动视频进度条才能查看特定时间点的场景内容,Yingyu 的这一思路显著提高了工作效率,为我们的项目带来了重大的改进。

当时,Chun 负责我们的 CMSUI 项目。可以说,原先的 CMSUI 系统是没有任何架构、是一个想到哪做到哪的系统,整体性能不尽人意,数据查询也相当缓慢。面对这种情况,我产生了开发全新版本 CMSUI 的想法。就在那时,Algolia 发布了一个相对稳定的版本;我对它进行了初步探索,并制作了一个简易的演示版本,展示了 Algolia 在处理复杂查询方面的高效率。考虑到 Tubi 当时的内容库规模,我意识到搭建一套这样的 CMSUI 系统是经济可行的。之后,Chun 接手了这个工作,用 Algolia + React 技术栈重写了整个 CMSUI 系统。我们目前使用的 CMSUI 系统就是基于 Chun 当初的蓝图,逐步增加了更多功能的结果。”

这些年,中国团队做出了许多类似的重要贡献。欢迎订阅 Tubi 技术博客,了解 Tubi 技术动态!

酒香也怕巷子深

作为一支与总部存在地理距离、在语言和文化方面存在差异并且较为内敛的团队,Tubi 中国团队还需要有意识地建立并扩大在 Tubi 的技术影响力。

陈天回忆起中国团队刚创建之时说:“我记得除了 Yingyu,其他团队成员的英语表达和理解能力在当时都稍有欠缺,在与美国同事的交流中存在一些困难。不过,这并不是一个大问题,我们通过文档等书面方式进行沟通,通过画图使彼此能理解一些技术方面的想法。这样一来,中国团队也有了足够的机会在工程项目上施展才能、做出贡献。”

他还指出,中国团队在沟通方式和风格上与美国同事也存在一些差异。例如,有的中国团队成员之前没有在外企工作过,他们与人沟通时习惯使用“XX 总”这样的称呼;这样的沟通方式不仅与 Tubi 的扁平化文化不相符,而且可能会无意识地放低他们的位置。此外,中国团队成员往往较为内敛,即使他们对别人的想法有所异议,也不会直接驳回,而是会在现场保持默许,之后再找合适的场景和方式进行沟通。

为了提升中国团队在 Tubi 的技术影响力,并进一步加强与总部的信任,陈天带领中国团队的同事们采取了一系列行动,突破上述挑战。陈天分享说:“我从一开始就向中国团队成员灌输‘平等’的理念,让大家明白自己与 CEO、CTO 之间是平等的,他们可以直接表达自己的想法。在灌输理念的同时,我也以身作则,引导团队在称呼上统一,对等的定位得以回归,平等沟通的基础也就建立起来了。” 这种在称呼上的改变对于原本较为内敛的中国工程师来说,无疑是一种鼓舞,让大家更有勇气和意愿去沟通工作上的挑战,并展现他们在项目上的成就。

此外,中国早期团队也会不定期邀请 CEO 参加 China Team Meeting,建立起了与 CEO 直接面对面的沟通渠道,特别是在公司取得重要突破时,CEO 亲自到场分享重要消息,并回答大家关心的问题。陈天回忆说:“我们还邀请过 Tubi 当时的 Co-Founder 来与团队分享公司的发展历史和盈利模式,让大家更清楚地了解各系统之间的关系,也更有意识地参与到 Tubi 的整个商业运作中。” 这种信息透明、基于信任的团队文化从那时开始延续至今,Tubi CEO 每年都会来一次北京与同事们面对面交流,每个季度还会通过视频会议解答中国团队关于业务发展的疑问。


Tubi 中国团队一直在发展壮大,与这支团队能持续在 Tubi 业务发展中发挥重要的作用、解决最核心的问题密不可分。期间,Tubi 中国团队也形成了一支强大的本地管理队伍,这不仅是因为团队规模扩大的需要,更是 Tubi 对中国团队这一实验结果的肯定与信心。

CTO Marios 表示:“我认为中国团队这一实验取得了一定效果,并且具有很大的潜力。在未来几年,我们会继续寻找最匹配的人才。关于中美团队之间的合作,我们会确保所有的工程项目不局限于特定地区,中美团队将继续共同承担相同的功能和业务。”

精彩预告

欲知中国团队本地管理队伍如何形成、以及他们产生了什么样的重要影响,欢迎关注【比图科技】公众号,下回听 Tubi 中国团队的同事们讲一讲!

Tubi 有更多

  • Tubi 工程师文化
  • 他们加入 Tubi 时也考虑过这些问题
  • 探秘 Tubi 北京新办公室
  • 这是一家有图书馆的公司
  •  一个观看量超四万的系列视频是怎么来的

Tubi 正在热招

Tubi Data Team 目前正在寻找一位大数据平台开发 Lead,他 / 她将领导数据开发团队,创建高质量、可扩展的流数据管道,与所有用户建立联系;将在开放创新的环境中与机器学习团队、产品经理、DevOps 团队和数据科学家合作,推动用户增长;对系统架构设计全面负责,解决性能、可扩展性、可重用性和灵活性等问题;并倡导工程最佳实践,培养与保持团队内的工程师文化;负责技术招聘和指导团队成员的职业发展,建立一支高效的开发团队。

欢迎加入!

这篇关于Tubi 故事|解决了核心问题,团队才有机会发展壮大的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/665483

相关文章

mybatis和mybatis-plus设置值为null不起作用问题及解决

《mybatis和mybatis-plus设置值为null不起作用问题及解决》Mybatis-Plus的FieldStrategy主要用于控制新增、更新和查询时对空值的处理策略,通过配置不同的策略类型... 目录MyBATis-plusFieldStrategy作用FieldStrategy类型每种策略的作

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

Python Jupyter Notebook导包报错问题及解决

《PythonJupyterNotebook导包报错问题及解决》在conda环境中安装包后,JupyterNotebook导入时出现ImportError,可能是由于包版本不对应或版本太高,解决方... 目录问题解决方法重新安装Jupyter NoteBook 更改Kernel总结问题在conda上安装了

pip install jupyterlab失败的原因问题及探索

《pipinstalljupyterlab失败的原因问题及探索》在学习Yolo模型时,尝试安装JupyterLab但遇到错误,错误提示缺少Rust和Cargo编译环境,因为pywinpty包需要它... 目录背景问题解决方案总结背景最近在学习Yolo模型,然后其中要下载jupyter(有点LSVmu像一个

Goland debug失效详细解决步骤(合集)

《Golanddebug失效详细解决步骤(合集)》今天用Goland开发时,打断点,以debug方式运行,发现程序并没有断住,程序跳过了断点,直接运行结束,网上搜寻了大量文章,最后得以解决,特此在这... 目录Bug:Goland debug失效详细解决步骤【合集】情况一:Go或Goland架构不对情况二:

解决jupyterLab打开后出现Config option `template_path`not recognized by `ExporterCollapsibleHeadings`问题

《解决jupyterLab打开后出现Configoption`template_path`notrecognizedby`ExporterCollapsibleHeadings`问题》在Ju... 目录jupyterLab打开后出现“templandroidate_path”相关问题这是 tensorflo

如何解决Pycharm编辑内容时有光标的问题

《如何解决Pycharm编辑内容时有光标的问题》文章介绍了如何在PyCharm中配置VimEmulator插件,包括检查插件是否已安装、下载插件以及安装IdeaVim插件的步骤... 目录Pycharm编辑内容时有光标1.如果Vim Emulator前面有对勾2.www.chinasem.cn如果tools工

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动

Java多线程父线程向子线程传值问题及解决

《Java多线程父线程向子线程传值问题及解决》文章总结了5种解决父子之间数据传递困扰的解决方案,包括ThreadLocal+TaskDecorator、UserUtils、CustomTaskDeco... 目录1 背景2 ThreadLocal+TaskDecorator3 RequestContextH

关于Spring @Bean 相同加载顺序不同结果不同的问题记录

《关于Spring@Bean相同加载顺序不同结果不同的问题记录》本文主要探讨了在Spring5.1.3.RELEASE版本下,当有两个全注解类定义相同类型的Bean时,由于加载顺序不同,最终生成的... 目录问题说明测试输出1测试输出2@Bean注解的BeanDefiChina编程nition加入时机总结问题说明