在 Tubi 做 Tech Lead 有多刺激!

news2024/11/18 15:32:12

上周我们发布了一篇《当你在 Tubi 是一位 Tech Lead》采访稿,后台收到了这样一条留言,说出了许多技术人在选择管理岗位还是继续深耕技术方向时的纠结:

‘有些同事更喜欢投入精力处理有挑战的事情,而不愿花费太多时间进行人际沟通,这在 Tubi 被认为是正常的且受到所有人尊重。’这句话让我特别感动,因为我也希望能够在这样的环境下工作。实际上,沟通也是一门技术,它和其他技术领域不同。但很难说,它是更容易还是更难的技术领域。

我们在采访 Tubi Tech Lead 时提了这样一个问题:“如果再有一次机会选择,你还会选择成为 Lead 吗?”几乎所有的回答都是坚定的“是”,但也有人坦率地分享说:“如果再有一次机会,我不会成为技术负责人,因为我发现我对软件开发更有热情。”据一位在 Tubi 工作五年多的同事回忆,他见过两个这样的案例,他们转回 IC 岗位后非常开心地工作着。尽管他们的能力已经足以担任 Lead,但每个人都有自己的选择,因为作为 Tech Lead,你的工作所带来的激励与挑战与作为 IC 还是有很多不同。

本文将分享 Tech Lead 在 Tubi 做技术管理工作的激励和挑战。

帮助他人和团队成功是最大的激励,也是最大的挑战

Tubi Multimedia Processing Platform 负责人 Taotao 在回忆自己近四年的技术管理工作中所面临的挑战与激励时,他说:“我从只需要向我的老板负责转变为也需要对我的团队和团队成员负责,这是一个很大的变化和挑战。我需要找到方法来帮助我的团队和成员实现目标并取得成果,还需要让更多的人能看到他们的成果。攻克这些挑战的过程,本身就会带来极大的正向激励。 ”

作为北京 Android Team Tech Lead 的 Kobee 也有类似的感受:“在 Tubi 数据驱动的文化中,基于数据做出决策、衡量产出、判断稳定性,这将大受欢迎。但实际情况是,我的团队大部分成员在刚加入团队时在数据查询和分析方面并不具备优势,但如果没有数据这把尺子,我们就无法衡量工作对业务的贡献。对于 Android Player 团队而言,数据意识则更加重要,面临 Player 性能优化相关且具有一定复杂性的工作,善用数据可以帮助我们更快地找到正确的方向和突破点。”

通过追问 Kobee,我们有机会更深入地了解到他和 Andriod Team 是如何一步步攻克这些挑战的。“我们这些年坚持做这样几件事以提高团队成员的数据意识:

第一,当团队成员完成了一个成功的实验,或对某个业务核心指标做出了改善时,我便会鼓励他们在更大范围的会议中公开分享,为那些对数据尚没有足够敏感度的团队成员提供一个机会,清楚地看到数据分析对问题发现、问题解决和项目成功所带来的重要影响。第二,如果团队成员在数据分析方面需要帮助,我会尽全力协助团队成员梳理数据,深入理解业务指标和性能指标,在数据和项目意义之间建立起直接关联。

第三,不同团队之间的影响也促进了我们团队数据意识的提升。我还记得刚加入 Tubi Andriod Team 时,尽管我们在理论上认为 Andriod Player 相比 Web Player 在 Fire TV 上会有更好的性能表现,但由于我们对业务数据的理解尚浅,无法从数据层面更好地呈现 Andriod Player 在性能方面的优势,因此无法影响当时的决策。在 Web Team 等其他团队的影响下,Andriod Team 被激励着去弄清楚差异背后的原因,不断加深对业务数据的理解。

帮助团队成员逐步拥有更好的数据意识,是一段挑战与激励并存的过程。当我看到团队成员慢慢融入了这种文化,并且在数据意识方面越来越强,我感觉特别开心。 ”

信任自由的团队文化,对技术管理提出了更高要求,也创造了发挥管理才能的空间

Yitian 从带实习生一起工作到现在成为 Staff Tech Lead,他在分享自己作为技术管理者所面临的激励与挑战时说:“在 Tubi,工程师有着比较宽松自由的工作环境,也有着充分的空间发挥自主性,逐层分级分派任务、大家都是工具人的情况在 Tubi 完全不存在。然而,这种文化也对管理者提出了更高的要求,具有权威性和很重痕迹的管理方式不一定奏效,保护甚至继续激发已经具有强烈主人翁精神的团队成员,是作为 Tubi Tech Lead 需要面临的一大挑战。”

负责新闻直播平台的 Hailong 对于 Tubi 信任自由的工作环境对技术管理带来的影响,是这样看的:“在 Tubi,公司和员工之间有着充分的信任,这是与我所经历的其他组织的最大不同。因此,在 Tubi,Tech Lead 无需向上级做过多的、详细的工作汇报,也会有充分的空间发挥自己的管理才能。比如,Tubi 不同团队的 Tech Lead 都会针对自己团队的特点、结合自己的管理经验,设计和其他团队完全不同的流程。在这样的情况下,Tubi 内部的开发效率反而更高,减少了很多沟通成本和固定的工作流程,使大家都能够专注于核心业务的开发。

在 Tubi 这样充满信任和自由的环境中担任 Tech Lead,我可以将几乎所有的注意力放在项目管理和技术问题上,通过规划、分配、验收和协调沟通将自己的能力发挥到最大 —— 当我确认了对公司和团队正确的方向后,便可以借助团队这个杠杆,获取充分的资源和他人的配合,在更短的时间内高质量地实现目标,这让我感到非常有成就感和满足感。”

中美两地协作,让我们更能穿越差异,紧密合作

负责新闻直播平台的 Gaia Team 在中美两地都有成员,其中一些同事还会在美国东海岸和杭州远程工作。由于重叠的工作时间较少,每个人有更多时间可以专注于自己的开发工作,但也因为相处时间有限,团队成员之间的了解不足和同步滞后成为了技术管理上的挑战。

Gaia Team Lead Hailong 在面对这一挑战时,他的策略是“既然没有那么多时间可以相处,那就珍惜每一次相处的时间,用心观察他人也认识自己。” 他补充道:“中美程序员不仅在工作时间上有所不同,他们在做事风格、解决问题思路和沟通模式上也存在差异,这种差异提醒着我要投入更多心思,像照镜子一样地去观察每个人是如何工作的、如何写文档、用什么方式沟通、如何开始写第一封邮件,并反照自己是怎样做的,以此来增加对每个人的理解,这也为我在团队内部和团队之间完成大量的协调沟通工作提供了重要基础。

对于一个大型项目来说,每周同步一次项目进展并解决出现的问题是完全可行的,不会出现同步滞后的问题。然而,对于一些突发性的事件,这种跨时区的同步就会有一定的滞后,从而带来管理上的挑战。挑战也意味着机遇,作为新闻直播平台,我们完善了大型事件的预警机制和危机处理流程,确保 Tubi 直播频道在面临用户量激增时有足够多的预案,以保证用户体验。这样的预案或保障,可以在很大程度上减少跨时区团队在面临突发事件无法实时同步所带来的管理挑战。”

Tech Lead 队伍等你来壮大

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

欢迎投递:boards.greenhouse.io/tubitvchina…

欲知“ Tubi Tech Lead 出色完成技术管理工作的秘诀是什么,他们带团队的风格有什么不同”,欢迎🌟星标关注【比图科技】公众号,听下回分享!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1115390.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Janus: 逆向思维,以数据为中心的MoE训练范式

文章链接:Janus: A Unified Distributed Training Framework for Sparse Mixture-of-Experts Models 发表会议: ACM SIGCOMM 2023 (计算机网络顶会) 目录 1.背景介绍all-to-allData-centric Paradigm 2.内容摘要关键技术Janus细粒度任务调度拓扑感知优先级策略预取…

30二叉树-了解二叉树

目录 树的定义 二叉树(Binary Tree) 二叉树的存储方式 链式存储 顺序存储 二叉树的遍历方式 LeetCode之路——144. 二叉树的前序遍历 分析 树的定义 树结构(Tree Structure)是一种分层的非线性数据结构,它由节…

【OpenCV实现鼠标绘图,轨迹栏做调色板,图像的基本操作】

文章目录 鼠标绘图轨迹栏做调色板图像的基本操作 鼠标绘图 在OpenCV中操作鼠标事件 函数:cv.setMouseCallback() 目的是在鼠标双击的地方画一个圆。首先,我们需要创建一个鼠标回调函数,该函数会在鼠标事件发生时执行。鼠标事件包括左键按下…

PyQt学习笔记-获取Hash值的小工具

目录 一、概述1.1 版本信息:1.2 基本信息:1.2.1 软件支持的内容:1.2.2 支持的编码格式 1.3 软件界面图 二、代码实现2.1 View2.2 Controller2.3 Model 三、测试示例 一、概述 本工具居于hashlibPyQtQFileDialog写的小工具,主要是…

中国移动启动算网大脑“天穹”全网试商用

10月12日,中国移动在2023全球合作伙伴大会主论坛正式启动算网大脑“天穹”全网试商用,全面开启算力网络2.0新征程,标志着中国移动算力网络迈向“融合统一”新阶段。 为落实国家“东数西算”战略,中国移动开创性提出算力网络新理念…

操作系统【OS】微内核

基本概念 微内核结构将操作系统划分为两大部分:微内核多个服务器微内核包含: 与硬件处理紧密相关的部分一些较基本的功能客户和服务器间的通信客户与服务器之间是借助微内核提供的消息传递机制来实现交互的 基本功能 进程管理 进程的通信、切换、调度…

【算法练习Day24】递增子序列全排列全排列 II

​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:练题 🎯长路漫漫浩浩,万事皆有期待 文章目录 递增子序列容易出错的地方 …

微信手续费2023标准

不管是微信还是支付宝,商户最低的收款手续费率可以达到0.2%费率。一般我们普通商户的收款费率一般在0.6左右,当然也有使用0.3的,也就是1万元的费率是30-60块钱,对于一些流水比较大的商家来说,确实很有必要把这个手续费…

【实用技巧】Latex写算法伪代码(格式篇)

本文主要介绍个人在编写Latex算法伪代码时所遇到的格式问题。 目录 包冲突换行与缩进算法换页 包冲突 \usepackage{algorithm} \usepackage{algorithmic} \usepackage{algorithmicx} \usepackage{algpseudocode} 网上查找算法伪代码第三方包,主要会跳出来这四…

虹科案例 | 瑞士Agroscope研究所利用压力传感器自动测量反刍动物(奶牛)的咀嚼运动

——用于动物测量研究的数据记录仪:虹科MSR145 瑞士Agroscope研究所隶属于联邦农业办公室,是农业、食品和环境领域可持续发展的推动力量,为农业和环境政策决策以及法规执行提供科学和技术基础。 作为Agroscope研究所的合作代表&…

【超详细】CentOS 7安装MySQL 5.7【安装及密码配置、字符集配置、远程连接配置】

准备工作:CentOS 7系统,并确保可以联通网络 1、获取MySQL 5.7 Community Repository软件包 注意:这里使用的是root用户身份。 wget https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm2、安装软件包 rpm -ivh mysql5…

PyTorch入门教学——TensorBoard使用

1、TensorBoard简介 TensorBoard是Google开发的一个机器学习可视化工具。其主要用于记录机器学习过程,例如: 记录损失变化、准确率变化等记录图片变化、语音变化、文本变化等。例如在做GAN时,可以过一段时间记录一张生成的图片绘制模型 2、…

数字秒表VHDL启动暂停清零,源码和视频

名称:数字秒表VHDL启动暂停清零(代码在文末付费下载) 软件:Quartus 语言:VHDL 代码功能: 数字秒表 使用VHDL语言设置数字秒表。要求具有百分秒、秒和分钟显示,百分秒范围00-99,秒范围00-59,分钟范围0…

《java 桌面软件开发》swing 以鼠标为中心放大缩小移动图片

swing 使用Graphic2D 绘制图片,要实现对图片进行缩放和自由拖动。 1.以鼠标所在的位置为中心,滚轮控制缩放 2.缩放后再支持鼠标拖动。 基本原理: 利用scale() 函数。进行缩放。但是要注意的地方是,如果是在 public void paintCom…

Linux 下安装配置部署MySql8.0

一 . 准备工作 MySQL安装包:在官网下载需要的版本,这里我用的版本是 MySQL 8.0.34 https://dev.mysql.com/downloads/mysql/ 本次linux机器使用的是阿里云ECS实例 二 . 开始部署 1. 将安装包上传至服务器 解压到当前文件夹 tar -zxvf mysql-8.0.34…

Python 实现http server接收mutipart/form-data文件 方法1

Python 实现http server接收mutipart/form-data文件 方法1 1 Server端代码2 客户端截图3 代码说明 1 Server端代码 import os from flask import Flask, request from werkzeug.utils import secure_filenameapp Flask(__name__) app.config[UPLOAD_FOLDER] E://recv//app.ro…

玩游戏缺失“d3d11.dll丢失“的问题的五种解决方案

在我日常的计算机维护工作中,经常遇到一些用户报告他们遇到了"d3d11.dll丢失"的问题。这是一个常见的Windows系统错误,通常会导致程序无法正常运行。在这篇文章中,我将分享我找到的五种有效的解决方法,以帮助这些用户解…

开源的容器运行时项目 Podman

本心、输入输出、结果 文章目录 开源的容器运行时项目 Podman前言Podman 简介Podman 与 Docker 的区别Podman 在使用上和 Docker 有什么区别从构建者角度分析 Podman 在使用上和 Docker 有什么区别从使用者角度分析 Podman 在使用上和 Docker 有什么区别 Podman 常用命令容器镜…

Linux shell编程学习笔记14:编写和运行第一个shell脚本hello world!

* 20231020 写这篇博文断断续续花了好几天,为了说明不同shell在执行同一脚本文件时的差别,我分别在csdn提供线上Linux环境 (使用的shell是zsh)和自己的电脑上(使用的shell是bash)做测试。功夫不负有心人&am…

详解如何利用Pytest Cache Fixture实现测试结果缓存

这篇文章主要为大家详细介绍了如何利用Pytest Cache Fixture实现测试结果缓存,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起了解一下− 前言 接口自动关过程中,经常会遇到这样一些场景,“请求2需要用到请求1响应的数据”,常见的…