9月7日-8日,相约 2023 腾讯全球数字生态大会!聚焦产业未来发展新趋势! 了解详情
写点什么

PowerShell 主架构师:我用业余时间开发项目,表现优秀反而被微软降级了

  • 2022-05-11
  • 本文字数:2611 字

    阅读完需:约 9 分钟

PowerShell主架构师:我用业余时间开发项目,表现优秀反而被微软降级了

经过两年多的时间,微软在 5 月 3 日宣布对用于 Visual Studio Code 的 PowerShell 扩展进行了一次重大更新,是对 PowerShell Editor Services 的核心 PowerShell 引擎的彻底改造。

 

巧的是,5 月 7 日,PowerShell 创建者 Jeffrey Snover 在推特上分享了他因为研发 PowerShell 而被微软降级事情的不满。

 

事情经过

 

事情起源于投资者 Peter Thiel 对勇气的讨论:“勇气并不总是在商业中得到回报”,而 Jeffrey 则认为 “勇气是未来领导者和以前员工的一个关键特征”。他还断言,“许多人专注在让老板满意,而不是解决问题。”此外,他还说出了一个埋藏了十多年的秘密:

 

当我为 PowerShell 做原型时,一位朋友告诫我说这是会被解雇的事情。还好我没有被解雇,而是被微软降级了。


“这真是令人尴尬。我不得不告诉我的妻子,但我没有告诉我的家人和朋友。十多年来,在我晋升为杰出工程师之前,我从未向任何人提起过这件事。” Jeffrey 表示。

 

Jeffrey 于 1999 年加入微软,担任管理和服务部门的架构师。2009 年 3 月,Jeffrey 获得了 “杰出工程师” 的称号,而其因研发 PowerShell 而被降级的事情大约发生在  2006 年之前。但事实上,在 2006 年 11 月 1.0 版完成后,Windows PowerShell 在半年内被下载近百万次。

 

Jeffrey 为什么要研发 PowerShell 呢?他在接受外媒采访时表示,作为一名长期 Unix 开发人员,他曾尝试直接使用 ksh 或 bash ,但都失败了。

 

“Unix 和 Windows 之间存在核心架构差异。Linux 是面向文件的操作系统,而 Windows 是面向 API 的操作系统。在 Linux 中,如果可以修改文件并运行进程,那么就可以管理任何事情。这就是 awk、sed 和 grep 作为管理工具的原因。当时,Windows 上没有这样的功能。一切都在返回结构化对象的 API 后面。这就是为什么 awk 不适用于 WMI,sed 不适用于 Active Directory,而 grep 不适用于注册表。我必须研发一种新工具来控制这种环境。”

 

微软对员工的业余时间研发有规定,禁止员工开发直接与现有 Microsoft 产品配套的产品。或许出于这个原因,Jeffrey 研发的 PowerShell 并没有受到微软欢迎。

 

据悉,当时他花费时间研发 PowerShell ,被微软从 L69 降级到 L68,微软甚至试图将他降级到 L67,并强烈暗示这是一次影响薪资的降级,以此作为警告。

 

“设计一个新产品的原型怎么会导致这么严重的负面后果?”有人问道。Jeffrey 并没有正面回应降级的原因,而是将微软和谷歌进行了对比:“微软并没有谷歌的 20 % 政策。”

 

谷歌的“20% 政策”是指,允许员工灵活地将 20% 的工作时间花在与薪酬无关的创新项目上。其余的 70% 的时间应该用于核心业务任务,10% 的时间用于与核心业务无关的项目。

 

“Jeffrey 在微软确实吃了不少苦头……”多年前就有网友感叹道。“我只是不擅长遵循指示。”Jeffrey 曾说道。“组织/领导者面临的挑战之一是,创新在成功前只是叛逆。这就是为什么主管对我大喊:“Jeffrey ,‘WINDOWS’的哪个部分让你困惑了?”Jeffrey 在推特上写道。

 

Jeffrey 在推特上也坦诚:“我曾考虑将 PowerShell 作为一家初创公司,但意识到要成功需要在成千上万台机器上运行。在 Windows 中发布意味着我的想法将被超过 10 亿台机器使用。我接受了这个事实,影响力比自我更重要。”

 

微软的改变

 

90 年代到 00 年代初期,微软有严格的禁止兼职政策。2011 年时,Windows Phone 7 团队开始鼓励员工在业余时间开发自己的项目。这在一定程度上推动了微软政策的变化。

 

“微软一直在碰壁,为 Windows 制造越来越多的花里胡哨,但没有人需要。”斯隆商学院管理与工程系统教授 Michael A. Cusumano 曾评价道,像微软这样的公司需要定期进行自我改造。

 

“我们往往有严格的兼职规定,”开发者体验总监 Brandon Watson 谈到该公司时说道,“但我们已经改变了这些规则,这样开发者就可以在业余时间做这件事,并获得经济利益和工作成果。”

 

根据 Watson 的说法,该公司提供的是应用销售的标准分成:70%给开发者,30%给微软。

 

当年,这项激励措施发布后很快就有 3000 多名员工注册提交了应用程序。其中微软的一对新婚夫妇编写了 Bubblegum 应用程序,他们分别是微软云计算平台项目经理 Sriram Krishnan 和 Xbox 团队项目经理 ararthi Ramamurthy。

 

根据 Krishnan 的说法,应用程序的研发工作都是在业余时间完成的。“我们在夏威夷度蜜月时开始着手研发。”

 

哈佛商学院投资银行教授 Josh Lerner 表示,微软不仅是在奖励人们在业余时间所做的事情,还是在利用这种能量实现公司的目标,来追赶上移动市场。

 

员工与企业博弈

 

如今,员工在业余时间做自己的开发已经被众多企业接受,甚至鼓励员工业余时间做研发。后来也引发了大家关于“业余时间不写代码的程序员永远不会像那些写代码的人那样优秀”的讨论,业余时间是否写代码甚至成为面试官衡量候选人的标准之一。

 

但开发者们也开始面临新问题:业余时间研发成果归个人还是公司呢?

 

在微软,员工业余时间的任何东西,只要 100% 使用的是自己的资源,那么项目就属于员工个人。

 

谷歌在劳动合同中明确规定,谷歌拥有雇员在公司期间所创造项目的知识产权,这一规定也适用于雇员的个人项目,以及旧项目在任职期间的新开发工作。开发者对这项规定也颇有微词。直到 2019 年,Nginx 创始人 Igor Sysoev 被捕,谷歌的政策才有所宽松。

 

2019 年, Nginx 创始人 Igor Sysoev 的前东家 Rambler 集团对 NGINX Inc. 提出了侵犯版权的诉讼,声称拥有 Nginx 网络服务器代码的全部所有权。莫斯科警方查封了 Nginx 在莫斯科的总部,扣押了设备、带走并讯问了多位雇员,包括联合创始人兼现任首席技术官 Igor Sysoev,以及联合创始人 Maxim Konovalov。

 

这次的事件中,最大的争议在于 Rambler 声称 Igor Sysoev 在担任公司系统管理员时开发了 Nginx,因此 Rambler 拥有 Nginx 技术的所有权。而 Sysoev 声称项目是用“业余时间”进行开发的。

 

这件事发生后迅速引起了整个科技圈的关注。最终,由于 Rambler 扛不住业界舆论,声称撤销对 Nginx 公司的刑事案件而完结。

 

这件事后,谷歌发布新的规定称,公司雇员可以向公司递交申请让个人项目脱离谷歌,但谷歌未必会批准每一个申请。一旦未被批准,就意味着该项目属于公司所有。不过根据谷歌员工的说法,未被批准的项目不在少数。

 

参考链接:

https://www.theregister.com/2022/05/10/jeffrey_snover_said_microsoft_demoted/

https://www.mercurynews.com/2011/03/04/moonlighting-within-microsoft-in-pursuit-of-new-apps/

活动推荐:

2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。

2022-05-11 14:563378

评论 1 条评论

发布
用户头像
!这点实属不容易

Jeffrey 在推特上也坦诚:“我曾考虑将 PowerShell 作为一家初创公司,但意识到要成功需要在成千上万台机器上运行。在 Windows 中发布意味着我的想法将被超过 10 亿台机器使用。我接受了这个事实,影响力比自我更重要。”

2022-05-11 20:47
回复
没有更多了
发现更多内容

云效应用交付平台 AppStack,10分钟完成代码提交到上线

阿里云云效

阿里云 DevOps 运维 云原生 应用交付

吃到多样性红利的12种方法

狼大柔

个人成长 思维模型 多样性

网络安全kali渗透学习 web渗透入门 使用WireShark对常用协议抓包

学神来啦

当元宇宙遇上梵高

脑极体

架构训练营模块七作业

沈益飞

架构是训练营 架构师训练营 4 期

利用 Helm 在各类 Kubernetes 中安装 Rainbond

北京好雨科技有限公司

golang context详解

en

golang Context

模块七

Only

架构师实战营 「架构实战营」

架构实战营 4 期第七模块作业

jialuooooo

架构实战营

作业:架构实战营模块 7

Poplar89

「架构实战营」

“热搜”中的分布式数据库

OceanBase 数据库

oceanbase 客户案例 四川农信

netty系列之:channelPipeline详解

程序那些事

Java Netty 程序那些事 2月月更

Web Components 系列(十)—— 实现 MyCard 的基本布局

编程三昧

前端 组件化 2月月更 webComponents

架构实战模块7

Anlumina

「架构实战营」

新版上线|能力中心打造全新视角

钉钉开发者

钉钉能力中心 钉钉开放平台能力中心 钉钉开放平台 能力中心

模块七作业

novoer

「架构实战营」

Kubernetes集群监控平台(kube-prometheus-stack/Metrics Server)搭建教程

山河已无恙

Kubernetes Kubernetes 集群 2月月更

使用Rainbond部署Logikm,轻松管理Kafka集群

北京好雨科技有限公司

dubbogo 入围 2021 年“科创中国”榜单

apache/dubbo-go

微服务 云原生 dubbo dubbo-go

虎符交易所完成首次HOO回购 超40万HOO添加到虎符AMM流动池

区块链前沿News

Hoo虎符 Hoo 虎符交易所

王者荣耀商城异地多活架构设计

supermenG

架构师训练营 4 期

模块七 - 王者荣耀商城异地多活架构设计

圈圈gor

架构实战营 「架构实战营」

「架构实战营」模块七《如何设计异地多活架构》作业

DaiChen

作业 模块七 「架构实战营」

分享你的见解与经验|RocketMQ Summit 2022 议题征集中!

阿里巴巴云原生

阿里云 RocketMQ 云原生 活动

《Sysdig 2022云原生安全和使用报告》发现:超过75%的运行容器存在严重漏洞

York

容器 云原生 安全

第八周作业

lv

Rootkit Hunter恶意程序查杀

喀拉峻

网络安全

王者荣耀商城异地多活架构设计

tony

「架构实战营」

告警运维中心|构建高效精准的告警协同处理体系

阿里巴巴云原生

阿里云 云原生 监控 Arms 告警运维中心

架构实战营4期-模块七作业

木几丶

「架构实战营」

架构实战营模块七作业

zhongwy

  • 扫码添加小助手
    领取最新资料包
PowerShell主架构师:我用业余时间开发项目,表现优秀反而被微软降级了_文化 & 方法_褚杏娟_InfoQ精选文章