写点什么

满心欢喜入职 Gitpod 一年后失望离开:垃圾邮件当 OKR、天天造势但就不兑现承诺

  • 2022-09-21
    北京
  • 本文字数:3691 字

    阅读完需:约 12 分钟

满心欢喜入职 Gitpod 一年后失望离开:垃圾邮件当OKR、天天造势但就不兑现承诺

去年,选择了房车露营生活的 Geoffrey Huntley 受邀请加入了 Gitpod,远程办公、充满才华横溢的人、开源等因素都让他选择加入 Gitpod。Gitpod 是一个开源的开发者平台,可以自动配置现成代码的开发者环境。Gitpod 公司则是在 2020 年成立,目前重点放在了云上的自动化开发环境。

 

当时的 Huntley 在文章中称赞道:过去几年,Gitpod 一直是我工具包中一个有意义且关键的软件,因为 Gitpod 让我能够在任何地方在任何设备上进行开发。“我可以连续几个小时谈论 Gitpod 所做的工作多么有意义,以及它如何让开源维护者更容易为自己的项目吸引新的贡献者。”

 

不过在 Gitpod 任职一年多后,Huntley 便选择了离职,并写了博文来讲述自己离开的原因。他表示自己离开的原因很复杂,但促使其下定决心的是那封“让人恶心”的内部邮件,“它打碎了我的归属感,让我迫不及待想要逃离……”

 

我们对 Huntley 叙述的内容进行了整理,也希望借此机会一窥 Gitpod 现在面临的内外部挑战。

 

Gitpod 内部问题

两年过去,管理面板仍直接向网络开放

 

在刚刚加入公司的时候,我不安地发现https://gitpod.io/admin 就那么直接地向网络开放,并在内部员工间传来传去。而差不多两年过去,全体员工仍然可以通过个人 GitHub 账户下载客户的源代码和环境变量。

 


 “可真「刑」:Gitpod 可以直接下载用户工作区的数据压缩包”

 

早在 2021 年 3 月,曾经发生过一起安全事件。当时公司在生产环境中部署了管理面板访问通道,而且默认完全开放、不经任何身份验证,也从未对客户发出过提醒。事件之后,Gitpod 已经筹集到 3600 万美元风险投资,所以至少该请位安全工程师了吧……但是并没有。

 

客户们怨声载道

 

Gitpod 嘴上把服务客户喊得山响,但实际行动却始终跟不上。

 

别用 @gitpod——他们礼拜五宕机,导致我三天做不了开发,还有一整天的代码彻底丢失。他们的客户支持啥帮也忙不上,连帮我查找邮件地址都做不到……

 

— Ryan George (@RyanGGeorge) 2022年9月19日

 

当产品质量和服务可用性的大问题得不到解决时,拼命吸引客户有意义吗?没有,只会招来更多骂声。

 

天天为 DevX 造势,但迟迟无法兑现

 

Gitpod 把大量精力花在了宣传“开发者体验至上”的理念上。但纵观整个工作经历,我发现公司连内部开发员工的体验都不关心。

 

根据最新统计,Gitpod 有 11 名员工全职从事软件开发。大家顶着 300 毫秒的延迟用亚太及日本(JAPAC)的 Gitpod 服务操作欧洲或北美的集群。于是问题来了:

 

“当这帮员工每天受到糟糕开发体验的折磨,同时看到公司随时强调 DevX 开发体验的重要性时,内心会作何感想?”

 

已关闭、未解决的问题包括:

 

Gitpod 新加坡区,问题 #5534:https://github.com/gitpod-io/gitpod/issues/5534

Gitpod 孟买区,问题 #6139:https://github.com/gitpod-io/gitpod/issues/6139 

亚太数据中心,问题 #4526:https://github.com/gitpod-io/gitpod/issues/4526

 

用垃圾邮件当 OKR 推动增长策略

 

这里先向大家“科普”一个新词儿,Gitpod 化。所谓 Gitpod 化,就是往流行的开源 repo 中发送垃圾邮件,把相应的 PR 设计成广告展示。

 

公司甚至专门定了 OKR,要求员工宣传 Gitpod 的优点。因为种种行为太过火,很多项目的维护者甚至在自述文件里专门强调,不会接收/合并.gitpod.yml 和“在 Gitpod 中打开”选项。

 

有开发者在推特上讽刺道:笑死http://github.com/gitpod-for-os看起来还是在人工发小广告,“有幸”成为第一个收到小广告的人。

 

情况已经显而易见。我曾多次向领导层建言,提醒他们在开源项目里发垃圾邮件的营销策略实在是败人缘。但结果嘛……“问题已关闭,未解决”。

垃圾领导

 

如果大家身为新晋领导,看着身边的老员工一个个离开,你会怎么想?反正咱们这位老大想得很开:都是别人的错。

 

你们这些资深老员工离职的时候,真的应该好好做一番自我反省。

— Mike Nikles (@mikenikles) 2022年8月24日



说了半天都是白说,谁离职谁错就完事了……

面临的外部挑战 

微软正在战略性驱逐 Gitpod

 

自由竞争的破坏者微软又出手了,这次的战场是在 Visual Studio Code 生态系统之内。面向全体 VSCode 用户,微软先后推出了 GitHub Codespaces 和 Visual Studio Codespaces 两款与 Gitpod 高度重合的服务。更要命的是,人家的产品没有讨厌的弹窗广告。

 

其实微软的作法也不能说有多过分,毕竟从事语言工具开发的工程师身份不菲。根据粗略计算,Gitpod 每年至少要再额外砸下 900 万美元的薪酬成本才能跟 GitHub Visual Studio Codespaces 正面竞争。另外有博文披露,后续 Gitpod 将不能合法使用微软维护的 VSCode 语言服务器。

 

跟微软竞争向来不是什么好主意。微软最擅长的就是把自家方案设置成默认值,Octopus Deploy 公司创始人兼 CEO Paul Stovell 在 2016 年就亲身经历过这家软件巨头的“毒打”。

 

一夜之间,微软的产品就成了设置选项。我们在 Build 2016 大会上展示了自己的方案,但总有人跑到我们展台问:微软也有同类产品,我们为什么要用你们家的?问题是“微软同类产品”才刚刚公布,我们哪里知道呢……

 

可重现开发者环境是一波浪潮,而非特定产品功能

 

可重现的开发者环境长期不受重视,直到最近才开始逐渐普及。也许再过几年,这类环境将成为开发流程中的标配。但我觉得整个行业正走向跟 Gitpod(即. workspace-images 和 .gitpod.yml)不同的方向。

 

workspace-images 的问题在于,除非 Gitpod 员工能在每一个 Docker 镜像中单独更新,否则客户根本得不到安全修复。

 

至于.gitpod.yml,它的问题是规定了一种特定的开发者环境重现方式,这种方式会造成供应商锁定,而与之竞争的 devcontainer.json 开放标准则是微软 VSCode 和 GitHubVisual Studio Codespaces 中的默认选项。

 

如果问我从业这 40 年来总结出的核心经验是什么,那就是无论微软把什么东西当成默认选项发布,最终都能赢得市场。

 

但无论是 Gitpod 还是微软,我觉得他们都忽略了行业正在超越 Docker、转向 Nix(或 Guix)等新兴工具的整体趋势。这些工具不仅能提供可重现的开发者环境,同时也包含更加灵活自主的软件供应链工具(可通过源代码/二进制文件替换)和软件物料清单。

 

Nix 唯一的缺点就是让人们迅速与现实脱节。如果各位已经忘了依赖项版本维护起来有多痛苦,请马上使用 Nix。

 

— Mitchell Hashimoto (@mitchellh) 2022年2月8日

 

我可以大方承认,我自己就是 Nix 的铁粉。四年之前,这款由学术界酝酿出的构建工具占据了我的心,并迅速发展为市场主流。通过 Cachix 和 nix 这类工具,用户能够以独立于供应商之外的姿态获得与 Gitpod 相同的预构建+可重现环境功能集。

 

这当然很好,只不过面对糟糕的经济环境,大家的心态都变得更加保守持重,所以我觉得没有哪款产品(包括 nix)能够在短时间内成为可重现开发环境的客观标准。

 

所以,谁能更好地融入企业的现有工作方式,最大限度减少相应的人员/流程变更,谁就能降低产品普及的成本风险,从而真正在市场上获得认可。

 

也正因为如此,我很难相信人们会愿意在自己的每个 git repo 中添加 .gitpod.yml。在 Gitpod 工作时,我也多次在内部讨论中提到过这个问题,毕竟开源维护者一直强烈反对“再加个 yml”的作法。

Gitpod 工作流很快就将不再独特

 

看看下面的内容,我的意思不言而喻了。



Kubernetes 不是那个正确的抽象层

 

Gitpod 的开发环境立足于 Kubernetes pod。虽然后者非常简洁,但经过认真考量,我觉得 Kubernetes 并不是适合 Gitpod 的正确抽象层。原因有以下几点:

 

  • 围绕 Kubernetes 进行产品设计,会把受众群体限制在使用容器的开发者之内。在糟糕的整体经济环境下,企业需要一款能够面向所有软件开发场景的统一工具——包括 Windows 桌面开发、macOS 移动开发和数据科学(能够访问强大的 GPU)。

  • Kubernetes 太复杂了。企业在 Kubernetes 方面本身就缺乏丰富的经验,因此以本地产品的形式推广/销售/支持 Gitpod 将极为困难,而且需要辅以相应的文化转型。

 

一线老员工的真实想法

 

我认为对于远程代码执行即服务这类业务(即运行不受信的公共工作负载)来说,容器的环境隔离技术还不够安全。Gitpod 确实利用 Linux 命名空间实现了不少酷炫的功能,但这样既不够安全,也要承担相应的代价。

 

由于上述原因,之前两年我们一直无法在 Gitpod 上原生运行 Kubernetes。客户之所以愿意把开发环境从本地许配电脑转移至云端,最关键的动机之一就是想要运行云原生工作流和应用程序。但 Gitpod 做不到这一点,那还折腾什么劲。

结束语

 

Huntley 表示自己很珍惜在 Gitpod 工作的时光,同事们既亲切又聪明。但他认为,要让产品真正发光发热,Gitpod 还需要解决结构、战略和领导等层面的诸多问题。“我是等不到那天了,所以就此别过吧。”

 

离开 Gitpod 后,Huntley 目前投身到了NFT 行业,创建了 thenftbay.org。Huntley 称自己将以太链和 SOL 链上所有 NFT 文件打包成一个 17.76TB 的压缩文件,并将 BT 种子放在该网站上供任何人下载。

 

在该网站上可以找到很多热门 NFT,但无论点击哪个 NFT,都会指向那个巨大的压缩包,无法单独下载。Geoffrey Huntley 表示,他想用盗版让人们意识到自己买的 NFT 究竟是什么,真正关注 NFT 的价值,进而不会被卖家当成韭菜。

 

参考链接:

https://ghuntley.com/tea/

https://technews.tw/2021/12/01/nft-the-pirate-bay/

2022-09-21 15:472918

评论

发布
暂无评论
发现更多内容

翻遍GitHub,这份MySQL全面手册,受喜爱程度不输任何大厂笔记

Geek_0c76c3

Java MySQL 程序员 架构 面试

ShareSDK Android端权限说明

MobTech袤博科技

sdk Andriod

从简历被拒到收割8个大厂offer,我只用了三个月

程序知音

Java 架构 java面试 后端技术 Java面试八股文

来看看这份对标80W+年薪的Java进阶路线图,职业规划路线该怎么走一目了然!

Geek_0c76c3

Java 程序员 架构 面试

技术分享预告|DocArray x Redis 比快更快的向量搜索

Jina AI

人工智能 开源 算法 向量检索 神经搜索

浅析+在Node中实现JWT鉴权机制!

CoderBin

前端 Node JWT Express 10月月更

三翼鸟:智能的是产品,智慧的是生活

脑极体

HummerRisk V0.4发布:新增云资源态势、资源拓扑、检测规则组、支持在 K8s 安装及大量功能优化

HummerCloud

云计算 云原生 态势感知 云安全 混合云

leetcode 785. Is Graph Bipartite判断二分图 (中等)

okokabcd

LeetCode 数据结构与算法

【等保小知识】等保备案和等保测评有什么差别?

行云管家

等保 等级保护 等保测评 等保备案 等级测评

新型蜜罐有哪些?未来方向如何?

郑州埃文科技

蜜罐 隔离攻击IP

大闸蟹套路多?“码”上溯源让你安心吃蟹!

旺链科技

区块链 产业区块链 大闸蟹

一文读懂 MySQL 索引

说故事的五公子

MySQL 数据库 索引

OpenHarmony社区运营报告(2022年9月)

OpenHarmony开发者

OpenHarmony

唐刘:透明一切,是我们在复杂环境下与客户建立信任的最佳途径

PingCAP

TiDB

MASA MAUI Plugin IOS蓝牙低功耗(三)蓝牙扫描

MASA技术团队

MASA MAUI Xamarin MASA Blazor

GitHub已置顶安排!Alibaba最终Guide版Java面试突击宝典+架构师系统进阶指南

Geek_0c76c3

Java 数据库 开源 程序员 开发

web前端技术培训学习好点

小谷哥

大数据学习培训机构怎么去选择

小谷哥

多云管理平台支持哪些平台?哪款比较火?

行云管家

云计算 多云 云管理

数据库-MySQL-基础(1)

Geek_a7ae15

MySQL 数据库

百度App性能优化工具篇 - Thor原理及实践

百度Geek说

Java App 企业号十月 PK 榜

菲尔兹奖得主小平邦彦:数学是什么?

图灵教育

数学

打破“双十定律”,华为云AI推动超级抗菌药Drug X研发加速

华为云开发者联盟

AI 华为云 药物研发 盘古大模型 企业号十月 PK 榜

抖音后端123面开挂,全靠这份啃了58天的「Java进阶核心知识集」

Geek_0c76c3

Java 数据库 程序员 架构 面试

【LeetCode】仅执行一次字符串交换能否使两个字符串相等Java题解

Albert

LeetCode 10月月更

阿里 DBA 首次公开 MySQL 调优笔记,GitHub上已经开始疯狂涨星

Geek_0c76c3

Java 数据库 开源 程序员 面试

快速上手SpringBoot

亮点

Java spring-boot 10月月更

算法基础(五)| 差分算法及模板详解

timerring

算法 10月月更 差分算法

启科量子国产量子编程软件项目将启动开源计划

启科量子开发者官方号

人工智能 量子计算 量子模拟 Python. C++

LeetCode第一个错误版本使用JavaScript解题

大师兄

算法 前端 10月月更

满心欢喜入职 Gitpod 一年后失望离开:垃圾邮件当OKR、天天造势但就不兑现承诺_语言 & 开发_Geoffrey Huntley_InfoQ精选文章