我在阿里做开发的高效打工技巧总结

简介: 如何高效打工?本文作者站在开发的视角总结了一些打工技巧,包括如何高效开会、如何与人沟通、如何做PM等,希望可以给大家提供一些帮助。

来源|阿里云开发者公众号

作者|客舟


前言

如果您的工作中完全不需要自己写PRD 、技术方案、测试用例,那么这篇文章除了会浪费您宝贵的15分钟之外,别无益处,可以绕行了。

背景

很多新入职的工友反馈,大家现在除了编码之外,在厂子里还有很多七七八八的杂活才是工作耗时的大头,比如有些项目里面,沟通&对接相关的工作占比甚至大于70%,实际写代码&自测也就一两天,前面那些细碎的内容,也不方便录入工时,非常苦恼。出于对工友的爱和保护,鄙人决定在这里分享一些打工的技巧,希望能提供一些微不足道的小帮助。

如何高效开会

作为会议发起人

首先,作为会议发起人希望大家能自觉做到如下几点:

提前准备文档

提前准备好会议文档,比如技术方案评审,在你评审之前,至少要写好了完整的技术文档,并且提前私下里和参会的上下游开发勾兑过协议,并且在开会前,把文档贴在日程里面。最讨厌都做方案评审了,上下游都还在抓瞎,最后留下来一大堆action“会后再对”,一场会议出现超过3个“会后再对”就一定有严重的信息gap。所有的评审类型日程,都不应该发展成讨论会。为了防止有些眼神不好的工友不知道贴在哪里,我贴心做了大量截图,大家可以贴在日程描述,或者只贴在日程的评论区



控制会邀时间

我有个朋友,首先这个朋友确实不是我本人,其次这个朋友有个习惯:任何超过1小时的会邀,他都默认不参加。因为超过1小时的会议,除非是线上故障的复盘,否则肯定又臭又长不确定的点又多。不管是技术方案还是产品方案,作为一线技术人员,确实可以绕行,这种会我认为一个大团队,派一个代表参加就好了,比如PD在开发就可以不在了,开发在就不要测试也旁听了。所以我希望大家能在做好充分准备的前提下,合理评估会议真正需要的时间。根据我的经验,5人日以内的业务需求,技术方案评审可以控制在15分钟;10人日以内的需求,技术方案评审可以控制在30分钟左右。1小时的技术方案评审,比较适合多个子域联合评审or全链路技术方案串讲。至于《勾兑接口协议》、《拉齐开发进度》、《XX项目技术日会》这种单个事项的信息同步,10分钟,最多10分钟就够了。10分钟真的可以做很多事情,如果大家发现自己10分钟还没能描述清楚某个问题,我建议是不要开会,直接去需要沟通的那个人面前,搬个凳子坐他身边进行一些结对编程。

提前确认别人有没有时间

我有个朋友,首先这个朋友确实不是我本人,其次这个朋友还有个习惯:任何发过来提示自己日程冲突的会邀,他都默认不参加。因为如果自己作为一个会议参与人,真的这么重要,那么至少要有人提前钉钉打个招呼描述一下背景,其次应该提前发起,既然提前发起,就要检查下核心人员是否available。

我理解很多倒排期的需求或者线上紧急事项,不得已要临时拉会。但是作为一个职业的打工人,如果你10个会邀有8个都是临时拉起来的,那真的很想问一句:“规划”这两个字在你的打工人词典中是不存在的吗?个人经验,一个明确上线时间在15天之内的需求,pd至少要提前2天约prd评审会邀,开发在明确技术方案之后,要至少提前2天发技术方案评审会邀。为了防止有些眼神不好的工友不知道如何查看参与人繁忙,贴图如下:


作为会议参与人

提前阅读会议文档

正常情况下,任何会议都要有个主题,主持人应该提前准备文档,如果对方没有主动抛出来,你在参会前需要主动去要。如果某个工友连续3次拉会,但是没有任何文档准备,你可以默认这个工友不是很需要你了,这场会议有你没你区别不大,可以考虑不去了。

和合作工友互为backup

正常的产技团队,可能在项目初期,或者某些前期对焦项目中,需要频繁接到名字比较玄幻的会邀,比如《AE下单优化讨论》、《23年xx协议边界升级沟通》、这种会议,PD、开发、测试,大家如果比较忙,可以出一个人就好了。同理,作为一个开发团队,跨域需求,全链路的串讲会议,只需要域内接口人出席就好了,除非有需要某个特定人员参与的特定事项。

时间冲突的会议要提前说

如果会议和自己时间冲突,可以大大方方的点一下暂定或者拒绝,并且主动同步会议主持人,然后确认谁作为自己的的backup参加会议。如果你有backup,你有必要提前给对方交代好相关背景,不要让backup一脸懵逼的出现在会议现场。如果你没有backup,大可以直接告诉对方。因为结果无非只有两种:1.你很重要,会议改时间 2.你很不重要,会议如期举行。总之是好过一群人在会议室里面call你,然后在浪费了所有人3分钟之后,听到你在电话那一头尴尬的说一句我不方便,要愉快的多。

希望大家有些边界感

正式场合,比如RRD评审或者技术方案评审,大家不要串台。产品方案评审的时候,希望开发同学不要提问PD有关技术方案的细节,请专注于需求理解本身。技术方案评审的时候,希望PD不要太多介入技术细节,比如表结构设计,系统架构。闻道有先后术业有专攻。否则除了浪费大家时间,就是徒增矛盾。

如何不被测试骂

技术方案评审前要讲清楚背景

哪怕大家都参与了PRD评审,在技术方案评审的时候,也必须重复一下本次开发的需求范围。确保大家理解一致。

临近上线或者上线后发现有需求遗漏,真的很尴尬。

一定要自测

单元测试、集成测试、页面点点按钮。

能执行的自测方案都要尽量去实施,我发现好多工友有点子测试依赖综合症,好像我们的APP的这些个按钮,只有测试才有权限点击一样。动不动造个测试订单,造个trace,什么都要抓个测试来做。没必要,真的很没必要。有些工友甚至连自己产品的debug包都不装,抓trace要么找前端要么找测试。我真的很建议HR巡检一下所有的产技团队,看看谁工作手机没装测试包。

不要背着测试承诺任何事情

任何线上变更(功能代码发布、配置项变更、等等)的上线时间、风险范围,不管是PD还是运营来问开发,都不要背着测试给出任何口径。

所谓的测试人日= 1/2 开发人日,这种粗估策略,只适用于开发&测试内部排期用,严肃场合的评估,需要测试同事亲自评估。

如何不被别的开发骂

先找产品

跨域合作,尤其是涉及到新功能开发的,建议开发同学不要直接绕过对方产品直接找其他团队的开发。

我们要相信PD的能力。所有跨域合作的诉求,先及时的反馈给PD。让PD沟通好排期和优先级之后,给到你指定开发再去对接。避免一些不必要的麻烦。不要自己冷启动。

说清楚前因后果

跨团队协作的时候,任何沟通,尤其是开发之间的,希望大家提前快速完整的描述好业务背景。一个团队的开发,对另一个团队的业务真的没有大家想象的那么熟悉。

你需要任何帮助或者协作的时候,请务必提前整理好文档或者话术,说清楚因为xxx,所以需要对方提供xxxx帮助。

如何做PM

项目管理话题太大了,俺也不太懂,这里只提供一些针对开发同学,比较简单实用的工作技巧。

拉群

是的,就是先拉钉钉群,拉一个xxx干活群。不要用会议群,谢谢。看了太多项目,拖拖拉拉聊了一星期,开了100个会议群,到处都是不同的排期口径和发言人,太伤了

  • 确保所有参与的产技工友都在群里
  • 及时更新群公告,群公告必须包含

子域1:对应开发、对应PD、对应测试子域2:对应开发、对应PD、对应测试
技术方案评审时间:xxxxx联调时间:x'x'x联调环境:dpath(xxxx)提测时间:xxx发布时间:xxxx
PRD: 链接1、PRD: 链接2技术方案:链接1、链接2
  • 任何信息变更,及时@所有相关人,同步在群里

约会

技术方案评审、提测、发布计划review

这些会议,都要根据排期时间,提前2天以上约好日程。否则时间会越来越乱。如果明确了后天就是要技术方案评审,哪怕今天你一个字都没写,也要先把日程约上。

熟悉技术方案

10人日以内的小需求,作为技术接口人或者技术PM,要保证自己了解所有方案技术细节,哪怕是那些不需要你来写的代码。大的项目,至少需要了解自己大组的各个子域,对外的协议变更。比如你知道子域A需要新增一个字段abc,供子域B消费。你不需要知道abc的实现逻辑,但是你必须要知道,这儿有个新增的abc。否则,去参加全链路会议会毫无价值,大眼瞪小眼,有问题问你也不知道,很尴尬。

汇总一下技术方案

搞一个单独的文档,汇总一下所有文档,真的真的很重要。尤其是涉及的子域比较多的时候,最好画一个全链路的图,这个图不需要有太多细节,丑也没关系。流程图、UML都可以。关键是可以表现一下需要参与改造的子域,以及上下游,方便串讲的时候梳理依赖关系,避免开发到了一半,发现需某个团队额外介入,到时候大家都很为难。真的最最讨厌互相甩锅了。

主动参加全链路会议

如果这是一个大项目,而你只是某个子域的技术接口人,AKA域内PM(大部分工友在大项目里面都是这个角色)。那么参加各种项目周会、日会、对焦会,是你义不容辞的责任,除非你的PDM、PTM刚好愿意代劳。另外如果你参加,保证信息上传下达的同时,不要,不要再拉其他工友一起去了,节省一些人力资源。

主动寻求PMO的帮助

当我第一次发现项目里面有PMO这个角色的时候,非常认真的问过他/她几个问题——尤其是开发中,业务还在反复变更需求范围的drama项目。我:"请问PMO有没有资格拒绝临时新增的需求?"对方:“nope”我:“那么谁有资格拒绝这些不合理变更?”对方:“不知道”我:“那你有权利做什么?”对方:… (沉默)(笑而不语)多年来,我一直奔走呼吁,建议那些需要立项的,有PMO团队介入的需求。要在项目里面,给到PMO最大的权力,包含并且不限于:《PRD sign-off之后,拒绝临时变更的权力》、《开除项目成员的权力》…比较遗憾的是,目前PMO同学的权力还比较有限。所以据我所知,就一线技术同学的视角来说,能提供的主要帮助包括并且不限于如下几点:

  • 找会议室。如果你需要会议室,但是在预期的时间段内,订不到任何会议室,建议找PMO协调。
  • 拉架。如果不幸,项目进展中确实发生了一些不愉快的争执,不管是跨团队技术之间的信息GAP,还是业务需求的临时变更,都一定要及时同步给PMO,寻求PMO的协调,不要单打独斗。
  • 上报风险。所有已知风险,会影响开发or测试进展的事项,必须第一时间同步到PMO,尤其是,需要升级到各个子域主管关注的关键问题,最好由PMO统一上升。
  • 抓人。如果真的发生了,开发或者测试途中,技术侧发现当前项目前期评估出现遗漏,需要其他团队的PD甚至开发介入,最好由PMO牵头协调资源,不要技术之间直接沟通。
相关文章
|
4月前
|
Devops 持续交付 测试技术
JSF遇上DevOps:开发流程将迎巨变?一篇文章带你领略高效协同的魅力!
【8月更文挑战第31天】本文探讨了如何在JavaServer Faces(JSF)开发中融入DevOps文化,通过持续集成与部署、自动化测试、监控与日志记录及反馈机制,提升软件交付速度与质量。文中详细介绍了使用Jenkins进行自动化部署、JUnit与Selenium进行自动化测试、ELK Stack进行日志监控的具体方法,并强调了持续改进的重要性。
43 0
|
7月前
|
负载均衡 Kubernetes 数据库
【鹅厂摸鱼日记(一)】(工作篇)认识八大技术架构
【鹅厂摸鱼日记(一)】(工作篇)认识八大技术架构
|
7月前
|
安全 开发者
这些职场潜规则帮你做高效技术人
作者是一个从一线技术人摸爬滚打一步步成长起来的技术管理者,也算是慢慢积累了一些做事和管理的经验心得,三年的管理者快照能侧面佐证作者通过学习和实践从管理小白到逐渐摸到了一些管理门道的自我修炼之路是怎么走过来的。
|
7月前
|
敏捷开发 数据可视化 安全
低代码开发:引爆创新,还是程序员的末日?
低代码开发:引爆创新,还是程序员的末日?
135 0
|
数据可视化 搜索推荐 BI
低代码,一招制敌,解决职场人的的办公难题
低代码,一招制敌,解决职场人的的办公难题
|
缓存 NoSQL 前端开发
优质高效!阿里甩出SpringBoot巅峰之作,进阶不二之选
十多年前,Spring颠覆了传统的JavaEE技术,迎来了Java企业级应用开发的春天,然而今天的Spring Boot却站在Spring巨人的肩膀上,让我们可以更高效地开发与交付。Java Web后端也好,App 后台也罢,甚至独立后台应用,等等,Spring Boot 都是你不可或缺的高效率工具。
|
搜索推荐 Java 程序员
只有一个程序员开发和运营,BuiltWith网站年入1400万美元是怎么做到的?
国外有一位程序员叫 Gary Brewer,他一人撑起了一个公司,这个公司还年入 1400 万美元,约人民币 1 亿元。对此,你是啥想法?
184 0
|
消息中间件
热饭的测开成果盘点第三期:全端自动化平台翻版
本系列是回忆下 博主从事测试以来打造过的所有工具/框架等,算是大盘点。
热饭的测开成果盘点第三期:全端自动化平台翻版
|
算法 测试技术 API
热饭的测开成果盘点第二期:C/S架构的全端自动化
本期介绍的是一个c/s端的工具,即客户端工具。也就是需要下载安装的界面工具,相比较现在流行的B/S即浏览器平台来说,具有以下特点:
热饭的测开成果盘点第二期:C/S架构的全端自动化
|
Kubernetes Cloud Native 前端开发
“金三银四”求职季到来,快速获取云开发核心竞争力,你准备好了么?
随着一股春风袭来,新的一年“金三银四”求职季也悄然拉开了帷幕,想要在2022年的开发者求职大军中“脱颖而出”,了解企业的发展方向必不可少。在数字化的大潮下,要不要上云已经不再是一个问题,而是所有企业的必由之路,怎么上才是企业数字化的关键。
“金三银四”求职季到来,快速获取云开发核心竞争力,你准备好了么?