京东物流王梓晨:打造全栈团队,你要避开这些大坑

FPGA实现100G ROCE V2 RDMA系统:从CMAC配置到AXI Lite控制链路的实战指南 RDMA(远程直接内存访问)技术通过绕过操作系统内核,实现高带宽、低时延的数据传输,是高性能计算与数据中心网络的关键基础。ROCE V2作为融合以太网的RDMA实现,将RDMA语义封装于UDP/IP报文之中,兼顾性能与通用性。在FPGA平台上构建100G ROCE V2系统,核心在于将协议栈逻辑硬件化,并围绕AXI Lite配置总线、CMAC以太网子系统、XDMA主机接口等关键IP进行协同设计。AXI Lite以其简洁的握手时序和低逻辑开销,成为控制面寄存器配置的理想选择;而CMAC的复位序列与FEC协商, 阅读详情

我叫王梓晨,来自京东物流研发系统架构部,现在负责京东物流 GIS 团队。今天, 我想和大家分享的是如何打造全栈团队。

首先假设现在有一支团队叫“如此团队”,里面的成员如下:

我们的 PM(产品经理)叫小汪,他提出的需求是设计一个“航空母舰”;
我们的业务负责人 Business Owner,给他取名叫伟哥;
同样还有些 RD(研发工程师),就叫他们小明和小强好了,他们的 leader 叫大猫;
团队里的 QA (测试) 同学叫小丽。

\"\"

现在,这些团队成员因岗位设置不同,职责自然也不同。但是在相互沟通的过程中,却产生了一些问题。这并不是奇怪的现象,在日常工作中很多团队都会遇见同样的情况。

场景 1 :沟通不畅怎么办?给你“好看”的

第一个场景,RD(研发团队)的领导大猫有一天跟大家说:现在已经进入到了集成测试阶段,需要和其他部门一起进行联调测试,所以从现在开始必须做到 bug 日清。

不久之后,大猫查看 jira 等工具,发现依旧有很多 bug。这时候,大猫就开始问研发工程师小明是什么情况?小明说这不是自己的 bug 啊,PRD(产品需求文档) 上就是这么写的。测试小丽同学却说不是这个意思,PRD 上写的是另一种情况。争执不下,无奈最后搬出 PM(项目经理)小汪来裁判,仔细听了小明和小丽各自的阐述后,无奈地摇摇头说,都没理解到位!

我们经常会遇到同样的沟通场景,但出现的原因是什么?该如何解决?我建议可以从看板辅助开始。

\"\"

说白了,就是建立一套透明可视化、标准化的流程。这是一个普通的看板,Idea 列代表 user story 还是一个萌芽,需要进一步孵化。进入到 PO 产品阶段,需要细化需求,鱼骨图似的不断的问为什么。之后才能进入到 Backlog 阶段,在此阶段,产品负责人需要分解出任务列表并确定优先级事项;最后才是开发测试,开发和测试都要包含 to do / doing 和 done。有一些任务出现问题时,可以先把它放在一边。当任务进入迭代时,你会发现这些问题是没有价值的。那么我们再回想一下,刚才关于 bug 做到日清的问题,对照看板的内容来看:

在 Idea 到 PO (Product Owner 产品负责人) 这个阶段,产品负责人应该把业务的投入产出比分析清楚,并且能把业务需求转化为开发需求。最后当整个需求要进行开发的时候,再把它拆分出任务列表并确定优先级,作为整个迭代的开始。

在进入 Backlog 的时候,产品、研发和测试三方的同学应当一起把产品所有验证点核对一下,要捋清楚环节和重要的收益点。

像之前出现的问题,很明显能看到,是开发、测试和产品之间没有进行沟通,基本是靠 PRD(产品需求文档)来传递信息。所以我们应该遵循的首要原则是,文档只能用作留档和以后的追诉,不能代替沟通的作用。

场景 2 :责任不清、互相推诿怎么办?

这个场景也很常见:某次大家一起开晨会,研发团队领导大猫说需求需要下周四上线,大家评估一下可以吗?研发同学说没问题,测试同学小丽也说问题也不大。快到时间时,大猫问进展得怎样了?研发同学说已经搞定了;但小丽说,B 系统那个接口根本调试不通,数据库也访问不通,集成的测试也还没写,周四可能没办法上线了。

这个问题对于看板来说,就是交付开发和开发完成的问题。现在我给大家细说一下。

在交付开发的时候,to do / doing / done 是来梳理需求的。因为之前在 backlog 阶段,研发已经和产品经理、测试一起讨论过这个需要了(to do),如果在这个环节大体上来梳理清楚,就能真正做了 (doing)。在 done 的时候,一定要把单元测试写好,且整体代码覆盖率要达到 90% 以上,同时也要帮助下一个测试环节的同学部署好测试环境。

而测试也分为 to do / doing / done 。在 to do 这个阶段可以和开发并行,在这个阶段就去整理每一个业务验证点,形成并梳理最后的集成测试,之后就可以准备上线了。那在测试完成到上线的时候应该需要做些什么?

一个全栈团队需要做以下这些事情:最起码的基本配置要解决,代码最起码要把它推到到 git 上,同时把代码下载下来。要完成这样的集成测试,需要把整个业务条线都整理清楚;集成测试做完后,一定要检查线上的环境。

作为一个全栈团队,一定要非常清楚每个环节潜在交付物的定义;当然其中最重要的一点是,上线之前一定要做好回滚方案。

全栈团队成员应该具备什么样的技能?

接下来,我要分享的是全栈型团队成员都应该具备什么样的技能?首先从领导来说。

首先,全栈型领导应该做一个服务型领导,要对整个团队的任何情况负责,团队出现了任何问题,第一责任人肯定是领导,而不是团队里的任何一个成员。这样的领导绝不是控制大家,而是更多挖掘大家的主观能动性。同时,这样的领导一定需要有个人魅力,要自律,最好还能有一些幽默感。当然,其实最重要的一点,不要扛着下属的猴子,避免把团队成员应该承担的具体责任落到自己身上,否则你就会成为整个团队的瓶颈。

其次,全栈团队一定要讲究执行力。这里想和大家分享京东的人事与组织铁律十四条里的几条原则。第一条是“No No No 原则”,但凡涉及到用户体验以及公司发展的需求,无论是谁提的都不能说 No,一定要给出解决方案;第二条是“24 小时原则”,所有邮件必须 24 小时内回复;第三条是“会议三三原则”,一个会议时长不要超过 30 分钟,PPT 不要超过 3 页,PPT 里应该都是干货,同一事件决策不超过 3 次,否则升级处理,保持沟通的高效;第四条谁发起谁负责,成为第一责任人,如果出现问题,处理问题的同时应该立刻上报风险,让所有的团队成员知道。

最后,全栈型团队一定是自组织团队,自组织就是要多问个 Why ,同时需要每个人都有这样的习惯。当边界出现模糊的时候,需要有个人有主人翁精神站出来协调整个事情。

场景 3:与下属沟通,怎样才是正确的姿势?

再接着看下一个场景,研发同学小明最近感觉很困惑,一边想学习新框架,一边业务需求太多根本忙不过来,天天加班到十一二点,该怎么办?小明对领导大猫“吐槽”,这时候大猫可以有三种思维方式:

第一种思维方式是理性统领。他会觉得每个技术人都会经历这样的阶段,慢慢地熟悉和习惯就好了。所以对小明的疑惑,就随便应付一下。

第二种思维方式是感性统领。大猫会问小明是不是最近状态不好?那你回家好好睡一觉,明天再战。但是这么做其实也不能从根本解决问题。

第三种思维方式是同理关怀。大猫会帮助小明分析,为什么想要学习新框架?知识获取来源于哪?哪些需求是紧迫且重要的?是不是有些需求可以放到二期来做?作为团队领导,应该切实去帮助员工解决问题,而前面的那两项基本没有什么用。

我们还是拿研发团队领导大猫来举例。大猫说,你应该在上线后确认 checklist 里的内容是否执行到位,观察上线一小时后才走;你要看一下 CPU load 是多少?Disk 是多少?这可能是技术人一直以来的沟通方式,但现在是作为领导来沟通,如果总是以这种形式,大家会心里有什么感受?

这就是我要讲的同理心,更多时候是倾听,那倾听应该要注意什么?我觉得要注意两点。

第一,放下假设。我在每次和我的团队成员去沟通的时候,我必须放空自己,把所有的假设全部去掉。

第二,要注意倾听。在倾听过程中呢,一定要站在对方的视角,只有站在他的角度,才能正确的帮助他来进行分析。

场景 4 :如果下属工作走偏了,该怎么办?

这里有另外一个场景,领导大猫问小明这个季度主要做了哪些工作?小明回答说做了一堆的需求,每天都忙成狗。大猫接着问下周的计划?小明说,持续学习,比如我在做 Nginx+Lua,想在前面加一层网关,或者也可以看看 Open resty 的源码吧。

很显然,小明是没有清晰计划的。这时候就需要领导来引导下属进行目标管理。这个目标管理,不只是简单的 OKRS,并且我们一定要细化。

针对不同的目标,我们把它细化为门槛是什么?目标是什么?挑战是什么?这些都不能是统一一个标准。同时应该对定性和定量做一下区分,并且要给它们做不同的权重。

做到这些以后,每天做的工作都要对它进行细化,每天强迫自己做一个总结和计划,每周、每月、每季度都应当如此。当你自己对这部分内容能不断的给它做总结和反馈的时候,你慢慢地就发现你在这个过程当中成长了很多。

还有一个就是部门沟通。在部门沟通和汇报的时候,一定要注意结构化沟通,就是要结论先行,然后再逐层次细化。

场景 5 :领导的职责界限在哪里?

还是拿场景来说,研发团队领导大猫说,要做一款时效类的产品,为了足够快只做到本地缓存就可以。小明听了之后说,本地缓存是有限的,JVM 的 Max 对内存不确定得配到多大才足够,否则容易导致 OOM。大猫想了想说,那就做内存集群。小明回答说,如果做个内存集群,那就可以做 Shard 和 schedule,那为什么要做一个这么复杂的集群?

作为一个服务型领导,你不应该事无巨细,你需要做的是确定每一个边界设计合理的检查点,在风险来临之前及早地发现它,并且尽快地解决它。假设你交给小明一个任务,小明不能把它完成得很好,这时你不要让另一个人替代他的工作,否则小明会很有挫败感。最好的办法是找个人和小明一起分析,以小明为主来向来进行汇报,这样更有助于小明的个人成长。

刚才说的这个例子就是动机债的问题,那么什么是动机债?

作为一个领导来说,首先要做好方向上的指引,确定好方向,定好边界和检查点后交给团队成员。当然,对于风险要有预判性。比如这个成员可能会遇到什么样的问题,可以找谁辅助,在什么阶段辅助等等,这些都是要提前规划好的。

其次是员工满意度。团队领导必须做到言必行,行必果,它的每一个承诺必须得如实来履约。最后,是一定要做适当的授权。授权的意义是培养有潜质的成员成为新的领导,来承担更多的责任。同时还要注意,因为工程师心理都“很脆弱”,所以一定要注意他在组织中的地位,要让他感觉到自己是不可或缺的一部分。

作为全栈团队的领导,如何激励团队和创新?

我的场景故事分享完了,其他部分是一些小枝节,全栈团队基本是一个有差异性的团队,它是由不同水平的成员构成。针对这样差异性的团队,我们需要给它营造一个比较好的环境,有利于成员发挥创造力和灵感,能进行及时的思考和反思。

比如说组织复盘或者做一些创新游戏、破冰游戏等等来调动团队气氛,我认为这是作为 Leader 是非常重要的。其次,差异性的团队应该从三个方面来综合考虑,一是自主权,二是能力,三是地位。

我们要明白每一个人都是独立的、不可替代的。不是说谁代码写得快,谁就是团队里最好的。在此基础上还要保持一定的秩序,在某些方面要做到公开透明。比如说绩效,谁是 A 谁是 C 都要做到公开透明。

对于成员来说,有时候可能需要你和他做深入沟通,要做一对一的专项辅导。对人才的梯度建设,京东有一个五星管理法就是把人分为金子、钢、铁,以及铁锈这四个部分。

· 金子是最好的,能力和价值观是最棒的;

· 80% 的人都是钢,就是价值观很好,能力一般;

· 铁就是能力可能一般,价值观还不错;

· 铁锈可能能力很棒,但是价值观不行,这种人一定要第一个从团队中把他踢出,他一定会影响到整个团队士气,非常可怕。

在观察成员的时候,我们需要注意某个成员是如何处理人际关系,包括处理组织内部关系和组织外部关系,处理个人和 HR、IT 运维支持之间的关系,这个一定能反应出来这个人的综合素质。如果他在各个方面都处理非常好,那么这个人一定是个非常不错的人。

以上都是激励团队和成员的一些方法,接下来是说创新。创新是发展之本,那么具体该如何做到呢?

· 持续地解决问题;

· 团队之间一定要善于分享,彼此肯定;

· 善良勇敢。

这些是每个团队里面大部分人都应该必备的一些因素。在有节奏冲刺的时候,我们需要做到团队目标和规则清晰,主动参与并能做到积极的反馈,这样才能成为团队创新之本。

今天我把试图打造全栈技术团队之路上的一些经验和踩过的坑分享给大家,未完待续,全栈团队,我们依旧在路上。


TGO鲲鹏会,系极客邦科技旗下高端技术人聚集和交流的组织,旨在组建全球最具影响力的科技领导者社交网络,线上线下相结合,为会员提供专享服务。目前,TGO鲲鹏会已在北京、上海、杭州、广州、深圳、成都、硅谷、台湾、南京、厦门、苏州十一个城市设立分会,武汉分会即将成立。现在全球拥有在册会员 740 余名,60% 为 CTO、技术 VP、技术合伙人。

会员覆盖了 BATJ 等互联网巨头公司技术领导者,同时,阿里巴巴王坚博士、同程艺龙技术委员会主任张海龙、苏宁易购 IT 总部执行副总裁乔新亮已经受邀,成为 TGO 鲲鹏会荣誉导师。

如果你想和这些优秀的科技领导者们一起前行,欢迎点击「报名表单,申请加入」。

eDP接口信号组成认识 eDP接口信号主要由Main Link、AUXCH与HPD三部分组成,如下图所示。 Main Link:表示主通道,用来传输各类型视频数据和音频数据; AUX CH:表示辅助通道,用于传输低带宽需求的数据,以及链路管理和设备控制信号; HPD:表示热插拔检测通道。 Main Link南1~4对数据线组成,每对数据线都是一对差分线。对于一款液晶屏而言,Main Link具体需几对数据线,这取决于屏幕的分辨率和彩色位数。 在该通道中传送的信号有视频像素信号、视频定时信号、视频格式信号、比特/像素及 阅读详情

相关推荐

华为S7700交换机Console密码重置全流程详解

本文详细解析了华为S7700交换机Console密码丢失后的重置全流程。通过进入BootROM菜单清除密码,并涵盖单/双主控场景操作、必备工具连接、常见问题排查及重置后的安全配置建议,帮助网络工程师掌握核心交换机的关键应急恢复技能,确保运维安全。

resnet7explorer的博客 540

闭环的OKR:OKR是工具,而非武器

【为什么要做目标管理】目标不明确,上下不同欲:是不是总有这样的一些情况,管理者和下属像是两条永远不会相交的平行线,“你说的是你说的,我说的是我说的”、“三个月过去了,季末一整合发现各个部...

u013527895的博客 906

虚拟机ubuntu22.04.3中安装vitis2024.1注意事项

虚拟机ubuntu安装vitis2024.1

qq_52033578的博客 2495

多级缓存设计详解 | 给数据库减负,刻不容缓!

王梓晨:物流研发部架构师,GIS技术部负责人,2012年加入京东,多年一线团队大促备战经验,负责物流研发一些部门的架构工作,专注于低延迟系统设计与海量数据处理。曾负责青龙...

开涛的博客 519

FPGA—ZYNQ_BD Block Design学习(一)

1.第一步:打开Vivado软件,创建或打开一个工程。2.第二步:在Block Design中添加arm核心,并将其配置为IP核。3.第三步:配置arm核心的外设信息,如DDR接口、时钟频率、UART接口等。4.第四步:完成Block Design中的模块互联,生成PL端的比特流。 5.第五步:导出PS端的硬件信息,包括arm IP核的外设、速度、引脚和地址等信息。1创建bd 需要有ddr以及uart和时钟配置外设io口,这里就是zynq的管脚规定好的,根据原理图用哪个个勾选哪一个。 对外设uart的配

m0_58129662的博客 1028

FISCO-BCOS配置及使用控制台

如果因为网络问题长时间无法下载,请尝试:curl -#LO https://gitee.com/FISCO-BCOS/console/raw/master-2.0/tools/download_console.sh && bash download_console.sh。为了可以更加方便快捷,所以HelloWorld合约已经被内置了,位于控制台下面的contracts/solidity/HelloWorld.sol。用于获取和设置name的值,合约代码如下。部署成功会返回合约地址。

qq_51562644的博客 831

从 0 开始构建研发高效能全栈式团队

我们邀请到了 Dell EMC VxRail 的高级主管软件工程师、DevOps 架构师管俊老师,与我们分享研发高效能全栈式团队的建设策略。

simayi2018的博客 717

从MIPS汇编到C语言:手把手教你用Mars模拟器理解指令集(附实战代码)

本文详细介绍了如何使用Mars模拟器从MIPS汇编过渡到C语言编程,通过实战代码解析ADD、LW、BEQ等指令集与C语言结构的对应关系。内容涵盖环境搭建、算术运算、内存访问、条件分支及函数调用等核心概念,帮助读者深入理解MIPS指令分类和计算机底层运行机制。

weixin_26821003的博客 357

20 | 全栈团队的角色构成

从技术的角度上看,和相对偏“硬”的常规内容不同,特别放送部分,一般倾向于介绍一些较“软”的其他内容。第一章的 [特别放送] 介绍了北美大厂工程师的面试流程,第二章的 [特别放送] 我们讨论了学习的方法。那第三章的特别放送,也就是正在阅读的这一讲,想结合自己的经历,谈一谈全栈团队的角色构成。这些团队的角色构成可以说各有春秋,但是和以往直接进行优劣比较的方式不同,今天想换个形式,在这一讲的分享中,将尽量保持中立和平和,而将有态度和有观点的思考留给你。

qq_37756660的博客 1213

BSW: Dcm模块配置--28服务

这个章节讲解下UDS中的28服务(Communcation Control)的配置,顾名思义,对当前ECU的通讯状态进行变更,主要设置应用报文,网络管理报文的收发控制,通常应用在刷写APP软件时,降低总线负载。这里首先要提醒的一点是,28服务几乎不需要手写代码,只有在客户需求要求前置条件不满足时报特定NRC时才需要填充代码。实际配置中主要涉及的模块有DCM,BSWM,ComM,RTE.2.BswM模块的配置。3.ComM模块的配置。1.DCM模块的配置。

Forever_Oct的博客 3086

pandas教程:2012 Federal Election Commission Database 2012联邦选举委员会数据库

里面包含了支持者的名字,职业和雇主,地址,赞助金额。我们可以已经能想到如何切割、整理数据,来提取赞助者的统计数据,或提取宣传活动的模式,这里我们展示一些不同的分析方法。可以看到有些职业是同一种工作类型,指代的是同一个东西。这两个连续操作是分别独立执行的,一个结束后,另一个才开始。上,这里我是把数据集压缩成了ZIP格式,解压后能正常导入)。我觉得也有必要好好了解一下,这个网站做了很好的讲解,),所以我们最好添加这样的信息。这样的情况,即把两个索引操作连在一起。,发现映射关系被正常执行了,所以这里的。

Cachel Wood的博客 349

电子班牌系统建设指南:从需求设计到运维落地的完整方案

智慧校园的落地,往往从一块屏幕开始。电子班牌看似是简单的信息展示终端,实则是连接排课、考勤、门禁与德育管理的物联网节点。其技术价值在于通过数据对接与平台化架构,将碎片化校园业务整合为实时联动的数字化流程。在教室走廊、考场、走班制教学等场景中,人脸识别、课表同步、远程下发与离线容灾能力,直接决定了系统能否长期被师生使用。本文结合真实项目经验,从需求量化、硬件选型、网络部署到高频故障排查,系统梳理智能终端在校园环境中的工程化实施路径,为教育信息化建设提供可复用的参考框架。

weixin_34025051的博客 516

从 Junior 到 Lead:ABAP 开发者进阶路线图与真实项目练级法

本文拆解了ABAP工程师从初级到高级的成长路径,强调能力提升依赖于可复用经验的积累。对于初级开发者,建议夯实ABAP Dictionary、内表处理和数据库思维三大基础,培养数据流与规则层的结构化思维,并逐步掌握面向对象编程。中级阶段应注重代码可维护性,通过单元测试和Clean ABAP规范提升工程质量。文章指出,ABAP开发者需要学会筛选学习重点,建立知识地图,并重视团队协作中的代码可读性。关键在于将碎片知识整合为可迁移的模型,而非盲目追求新技术。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 173

配置了maxUnavailable:0,K8s滚动更新为何还会出现502?

Kubernetes滚动更新常被视为提升发布可用性的核心能力,但maxUnavailable:0只保证副本数不下降,并不等于请求无损。就绪探针通过、Endpoints切换、Pod优雅终止之间存在时间窗口,旧Pod被切断或新Pod未真正就绪,都可能让Ingress转发层出现502。理解Service端点更新机制与生命周期钩子的配合,是定位偶发故障的关键。对线上发布而言,需要结合探针深度、terminationGracePeriodSeconds、preStop等配置做整体加固,才能从“配置0宕机”走向“真正无

weixin_34342207的博客 284

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

上一篇: 华为敏捷/DevOps实践:如何开好站立会议
下一篇: 数据库设计中的9大常见错误
2名名名名名名名名名名名名名名名名名名名
2名名名名名名名名名名名名名名名名名名名 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域 业界专家认证 业界专家认证
博客等级 码龄12年 1134粉丝 2600原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

2名名名名名名名名名名名名名名名名名名名

谢谢啊011702

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值