在解决了 2961 个用户反馈后,我做出了这样的改变...
2961 个问题?这么多?没错,Zadig 开源这一年来,也就平均每天十几到几十个问题吧,其实准确的数字不可能知道,但量大是一定的!这一年与社区小伙伴相处过程,也是我职业生涯心得最多/成长最快的一年,想知道我的故事吗?那继续往下看!
大家好我叫 MinMin,本科毕业于 UIUC,(对,就是那个发明了网景 netscape 浏览器的鸡蛋森的母校)
社区小伙伴应该对我比较熟悉,没错,下面这个正是在下。
当然也经常活跃在 GitHub 上,时不时会看到我的回复,这个也是我。
Zadig 的每次发布的英文版 Release Note 翻译,还是我。
工作这么杂,想必不是开发工程师吧,不不不。。下面我给大家讲讲我的研发经历。
职场摸索
那是 2020 年的 11 月,在经历 2 年的职业探索期后,以纯正的 Golang 工程师加入到 KodeRover 团队,当时主要做一些业务模块的开发,彼时对云原生和容器技术产生了浓厚的兴趣。回想过去多少有点好高骛远、眼高手低,但经历一系列打怪经历,像是代码仓导入服务,工作流定时器、触发器的重构等功能的开发,直到 2021 年 7 月 Zadig 正式开源,我的职场之路开始有了一些新的变化。
升级打怪
在 Zadig 宣布开源的时候,有大量用户蜂拥而至,我主要负责安装脚本的编写。 没想到的是,这个功能成为了我和社区建立连接的一个桥梁。安装作为第一步,直接影响试用体验,通过分析,我们将安装分为几类场景:
- All in One 针对只有一台主机的场景,内置 K8s,快速搭建起来 Zadig,用于体验。
- 正式使用的场景,可以基于 K8s 环境快速安装 Zadig 并做持久化。
- 高阶使用的场景,基于 Helm 命令安装,可以自定义很多配置项。
虽然当时做了较多的准备,但发布出去以后社区群里依然炸了锅,还是有大量由于环境特异性导致的安装问题,微信吐槽群中的问题非常多,几乎都是安装问题,说实话当时我压力挺大的,心态也比较慌的,每天基本上要花 80% 以上的时间泡在微信群和 GitHub 上,互动解决安装问题,同时感觉到很难集中精力去完成较大功能模块的设计和实现。我当时有点想退缩,心想这样子的时间分配是不利于个人开发能力提升的。
期间借 1on1 交流和 Landy 沟通过这方面的顾虑,她跟我说了一段话 “写代码是很重要的,产品被人稳定的用起来更为重要,解决问题的能力对于一个工程师比写几行代码要重要的多,当然你可以选择退到产品之后”。
我咬了咬牙,决定把这座大山翻过去。。。
在 100% 开源后的紧接着的第二个版本(v1.3.0),我们决定花大精力做第二轮的安装易用性深度优化,随即:
- 申请了大批云资源做实测:All in One 脚本经过了近 50 台主机测试,基于 K8s 的脚本也经过了腾讯、阿里、华为、AWS 等 23 个公有云 K8s 版本和自建标准 K8s、镜像仓库、对象存储实测。
- 全员测试,做第一个用户:我们推崇"Eat own dog food",每一个 Zadig 开发者也都是一个用户。针对兼容性测试,我们内部组织了两次安装体验会,全员在小黑屋集中测试。
于是有了 兼容性列表。后续在这个能力之上,又做了镜像瘦身、内置 Regsitry、脚本进一步缩短,实现了 10 分钟内就能安装和体验 Zadig。时至今日,安装 Zadig 已经变成一件 so easy 的事情了,社区吐槽群的问题也越来越高阶和深入。
开悟之坡
回想过去那段时间,我的心态经历了较大变化,这期间发生一些事件让我对社区交流和开发者这件事有了新的认识。
第一件事情其实是社区小伙伴对 Zadig 产品的期待和评价,每次发版都有一种被社区小伙伴推着走的感觉,不管多晚,总有一些小伙伴在”嗷嗷等待“。
作为最多接触外部反馈的我,认识到了处理社区问题其实不是一件很 “low” 的事情, 恰恰相反,高效的处理社区问题是一个非常好的打磨产品的机会,是让 Zadig 的一段代码产生价值的必经之路。这个过程中随着一个个问题被解决,我的网络问题、K8s 知识、沟通和协作能力都得到了很大的提升。
第二件事情是 Zadig Contributor Bootcamp 的建立,让我对社区内容输出的部分有了更多的了解。 这个活动的建立其实是个很自然的过程,当时为了 Zadig 未来更好的扩展性我们规划了 v1.3.1 底层架构的大规模,引入关键的云原生组件。版本发布后,有很多小伙伴对 Zadig 的架构非常感兴趣,也会有一些相关讨论,当时我找到 Landy:既然那么多人感兴趣,我们就应该分享出去,要不我们试着分享几期。当时我也没多想就粗略规划了下,就一些比较重要的内容和社区发起腾讯会议邀请,没有做任何运营就直接扔到群里。 其实当时对于 Bootcamp 效果没有太多期待也有点忐忑,结果现在一期一期办下来,每期都稳定有 30 来个参与者积极提问、交流、献计献策,这让我充分感受到了开放的力量,正确的事情总会发生。
第三件事情其实是如何让社区的反馈处理过程高效,本身也是一种成长。社区小伙伴各种需求各种问题都有,有时候真的想发火,如果不能很高效的处理,将会把自己拖入低效率状态,我抽象了几类问题:
-
特别小白的问题,比如基础的网络、Dockerfile/YAML 编写这些,刚开始会手把手教,后来我们复盘觉得这样是很不合适的,这不利于更好的社区建设,于是后续此类都建议小伙伴自己摸索
-
产品使用问题,直接扔文档,文档是最好的工具,可以系统性的阐述一个能力,Zadig 文档使用率目前也飞速提升,这非常有利于高效的学习和使用 Zadig,单纯的拿来主义是行不通的,也不是社区倡导的。
-
场景接入问题,直接扔公众号最佳实践,Zadig 在大量企业用户场景下,沉淀了很多好的实践,它山之石可以攻玉,能很大程度的帮助用户找到适合自己的路径。
而现在随着社区小伙伴越来越多,用户实践越来越深度,有很多热心开发者自己充当起了布道师,在此特别提到社区的乔克、Aurora、还有一些同学像“起于微末”分享他们的使用经验,也交流越来越高阶的技术话题,这才是正确的社区打开姿势。
未来展望
自加入 KodeRover 团队以来,随着工作内容越来越多,心态也随着成长而不断改变。 从刚刚入职时候的干劲十足,到经历职责转变后的迷茫不安。最终,这种对于未来的迷茫,在实践中都转变为了对于未来的信心。
现在的我,非常相信社区的力量,也希望能推动 Zadig 的快速成长的同时,与社区内的所有小伙伴深度链接,一起成长。
接下来将是一个新的开始,我将会有相当一部分投入社区的建设,研发的内容也会更加侧重在开发者体验,最近我在做的一件事就是建设 Zadig 论坛来沉淀更多有价值的交流。
One more thing:社区论坛来啦
大家一定好奇每天社群那么活跃,我们是怎么有效处理社区反馈的?其实我们每天会将有效反馈记录到文档中,每周会邀请产品、架构进行半个小时的讨论会,最终沉淀为需求项。每次发版后都会 at 到相应的小伙伴,截至目前社区问题反馈解决率达到 70%。
社区论坛的推出,让沟通更加的高效,知识更好的沉淀。有了论坛,不仅可以链接 Zadig 与用户/开发者,还可以实现开发者之间的互联。微信社群我们会继续保留,仍然能及时听到大家的声音。
来不及解释了,快去 https://community.koderover.com 注册论坛抢占 ID!
Zadig,相信开放的力量。欢迎加入 开源吐槽群🔥

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
openGauss内核分析-统计信息与行数估计
目录 统计信息 行数估计 SQL引擎执行查询主要经历了词法语法解析、查询重写、查询规划和计划执行等步骤。其中,在查询规划过程中,为了生成可执行的最优计划,首先要生成路径,而由于路径存在多样性,因此需要对路径进行淘汰选择。目前优化器进行路径的选择主要是基于估算的代价,因此这种优化器也被称为基于代价的优化器(Cost Based Optimization,CBO)。相对于逻辑优化,这种优化方法是物理优化:根据数据的分布(统计信息)情况来对查询执行路径进行评估,从可选的路径中选择一个执行代价最小的路径进行执行,例如是否选择索引SeqScan vs. IndexScan,选择哪个索引,两表关联选择什么样的连接顺序,选择怎样的具体算法等。 在代价估算时,需要使用基表或连接表的行数,而在很多时候,优化器无法获得准确的行数值,因此需要对行数进行估算(Cardinality Estimation),然后再计算代价。 统计信息 统计信息是物理优化的依据,来源于表信息的统计。其中描述基表数据的特征包括唯一值、MCV(Most Common Value)值等,用于行数估算。 Table-Level表级别统计...
- 下一篇
Apache RocketMQ 4.9.4 LTS 版本正式发布
经过社区全体开发者的努力,Apache RocketMQ 在近期正式发布了4.9.3版本和LTS 4.9.4 版本,共有 120 名贡献者参与其中,新增来自字节跳动、理想汽车、小米、华为云四名committer。 下载地址:https://rocketmq.apache.org/release_notes/release-notes-4.9.3/ 下载地址:https://rocketmq.apache.org/release_notes/release-notes-4.9.4/ 首先RocketMQ LTS 版本指的是Apache RocketMQ社区长期提供支持的版本。在社区后续版本中的BUG修复也会及时的从trunk反向移植到这个版本,从而实现后续5.x和4.9.x双版本交替发布,预计每个 LTS 版本将会支持 18 个月。 4.9.3 是RocketMQ的一个重要版本,该版本除了引入社区非常关注的RIP-28轻量级消息队列LMQ等新特性之外,稳定性和性能也做了大量优化。 4.9.4 作为Apache RocketMQ 的一个 LTS 版本,在4.9.3版本的基础上,该版本中收录...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Windows10,CentOS7,CentOS8安装Nodejs环境
- MySQL8.0.19开启GTID主从同步CentOS8
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- 设置Eclipse缩进为4个空格,增强代码规范