GitHub作为全球***源代码托管网站,可谓是全球程序员的一片圣地。6月4号,Microsoft终于坐实了多年来的“绯闻”,在官网正式宣布75亿美元收购GitHub。
引用网上的一句段子来评价此事:全球***的闭源软件公司Mircosoft对于***的开源软件社区GitHub的贡献最多,手握***开源数据库MySQL和开源编程语言Java的Oracle是开源死敌。
GitHub的初衷就是连接开发者,让他们通过Git更好开展项目。“social coding”的精神贯穿了GitHub的方方面面。正式发布这10年来,GitHub极大地促进了开源软件的发展,那么,作为一名码农在码农圣地工作是怎样一种体验呢?
无政府状态
众所周知,GitHub上所有的代码都是基于协作进行开发的,而GitHub在公司管理上也是大量采用协作方式实现。因此,GitHub不强制员工到办公室报到,甚至鼓励员工在任何喜欢的地点和时间工作,并且认为这样可以增强员工的创造力。
在2007年左右的创业初期,GitHub采用一种叫做“无政府”的方式进行管理公司,尝试“尽一切可能避免使用胁迫、暴力、武力和权威的同时,产生一个高效和理想的社会”。
GitHub的办公室常年都是这样,人都在别的地方工作
在一个规模不大且成员彼此高度信任的组织里,这种“无政府”状态并没有什么坏处。因为GitHub的每个人都有权做他们想做的任何事情,所以每个员工都有很大的自由度。但是,随着公司规模的扩大,这一点非常特别的公司文化正在不断的收到业务压力的冲击。
在2017年,一位前GitHub工程师发表了一篇当时非常轰动的文章”My Year at GitHub”,其中就抨击了这种工作方式,你可以在本文底部的参考文献中看到。
这篇文章引起了很大轰动
开发工具
GitHub的员工分散在世界各地,其中一些人根本没有固定的联系地址(你永远不知道你的同事是不是每天住桥洞的homeless)。为了适应这样的工作生活方式,GitHub努力减少召开会议的次数。这对员工来说肯定是很爽的,但在操作上,也增加了公司运营的难度。
正如GitHub系统总监Sam Lambert所说“在GitHub没有一种规定好的工作方式。这带来了非常真实和复杂的挑战,而我们正与之对抗,但我们想要试图避免召开会议,那是因为我们很难在不同时区之间做到同步。”
这是酒吧?不,这是GitHub的办公室……
由于员工的大部分工作都是通过线上沟通完成的,评估他们的依据不是工作时长,而是工作效率。
为了保持组织有序,避免陷入混乱,GitHub使用了一套先进的网络聊天室和聊天机器人,以此帮助推进组织化活动,减少了明确要求某人提供帮助或提前召开会议的需求。可以在聊天室完成各种类型的工作,聊天机器人负责部署站点、提供维护、重启主机、配置主机——基本上,所有事情都能通过聊天机器人完成。
可以说,这真的很程序员了。
顺便说一下,这些聊天机器人是GitHub通过内部开发的工具Hubot创建的。正如GitHub在Hubot官网描述的那样:“……Hubot是开源的,它通过Node.js上的CoffeeScript编写而成,可以轻易在Heroku那样的平台进行部署。”Hubot本身带有一些基本的脚本,但它强大的地方在于你可以编写出自己的版本。
想做啥做啥
“social coding”的精神在这里再一次得到体现,GitHub员工每个人都可以发表自己的观点或对别人的想法做出评论。虽然GitHub的创始人和其他核心成员会帮助团队设定愿景,但是每个人都有权决定自己应该做什么。每个人都可以把自己的想法推荐给其他人,在说服与被说服中,得到最终的结论。如果你的“旅行计划”不能吸引其他人加入,那么你只有独自上路了。
一名叫做Brandon Keepers的GitHub工程师说:“我们可以利用GitHub来构建GitHub,所以我们非常了解它的优势和不足。我们利用GitHub Issues跟踪bug以及计划实现的新特性。即使有些好的想法与目前的工作无关,在公司内部我们会有一个创意白板可以将它们记录下来。”
而技术总监Ryan Tomayko曾表达了类似的看法:“如果我告诉某个人应该做什么,然后他们按照我的要求去做,接下来会怎样?我会不会还需要告诉他们还有别的事情要做?如果部门里除了他还有20个工程师,难道我还要为他们每个人决定应该做什么?”
尽管这种方式听上去很民主,但是随着时间的推移,也有越来越多的问题暴露出来。比如,如果每个idea都需要受到所有人的质疑,那么无形之中每个人都会浪费非常多的时间仅仅是“讨论idea”,真正做事的时间就很少了。而且,这种效应会随着公司人数增多进一步被扩大。
员工待遇
员工的福利可以说相当好。2015 年,当时员工不足600人的GitHub在工资和福利方面的开销达到了7100万美元,这相当于每个员工每年近12万美元。虽然对于工程师来说这个价格并不算高,但是,即使是像GitHub这样的公司,除了工程师之外还有一大群Sales Marketing Operation之类的人员,平均下来每位员工的待遇简直好的过分。因此,近几年投资者也一直指责GitHub在招聘员工时花钱太过大手大脚。
而从2016年1月到10月,这一数值更是进一步攀升到1.08亿美元。
GitHub不仅有办公室,而且环境相当不错。在这里,你可以看到一个酒吧和休息区,甚至在GitHub旧金山总部内还有一个翻版的白宫椭圆形办公室。
GitHub的白宫型办公室
这家因不走寻常路而繁荣兴旺的公司没有太多的常规事物,但为那些有需求的人准备了一个正式的办公空间。除此之外,还在科罗拉多州博尔德市和日本东京拥有规模较小的正式办公室,以及在全球各地拥有多个共同办公空间,让员工可以在需要时进行聚会或工作。
小结
也许正是这种基于协作和“social coding”的工作氛围,让GitHub成为了程序员们最喜欢的网站,过去十年,除了2014年Tom Preston-Warner的“骚扰门”事件,GitHub的发展似乎都是顺风顺水的,打败了各路有力的挑战者,其中包括微软的CodePlex和谷歌的Google Code等同类产品。
不过近两年看来,也许随着GitHub的不断壮大,开始出现一些无序发展的势头。比如公司支出太多,加之Google投资了竞争对手GitLab,这两点被外界普遍认为是GitHub愿意被收购的原因。
对于被微软收购,对于绝大多数用户来说,心里还是拒绝的,希望GitHub还能继续保持原来的样子,而不是之前的Nokia或者CodePlex。
纵观GitHub在过去十年的发展,仿佛让我们看到了美剧《硅谷》里Piped Piper的样子。从创业公司怀揣的“程序员的情怀”到公司发展中期受到的现实压力,GitHub在这种转型中一直都走的很艰难。最终,这种情怀还是输给了现实。
但是,我们也希望GitHub在Microsoft更加系统化的管理下,能够走的更好更远,也让世界上更多的人看到程序员们的智慧之光。