开源(Github)对程序员的影响

到了2017年,我们已经生活在开源的世界里了,进入了软件开源的时代。

下面两件事,可以让你真切地感受到开源时代的到来:

微软曾经是闭源私有软件的典型代表、反对开源的圣斗士,如今已经全心全意地拥抱开源软件,成立了 .Net 基金会(红帽是其中的一员) 并且加入 Linux 基金会。.Net 现在已经作为开源项目进行开发。

GitHub 已经成为了一个奇特的社交网络,它把问题跟踪(issue tracking)和分布式代码控制捆绑在一起。

对那些主要是拥有闭源软件背景的软件开发者来说,他们还没真正了解到开源时代的到来。开源对他们来说就,等同于“用你的空闲时间来进行免费工作”。

但是,对我们这些使用十年时间来建立一个价值10亿美元开源软件公司的人来说,我们并不是使用空余时间来免费为开源软件工作。而且,为开源工作的好处和结果是显而易见的:你建立的声誉是你自己的,而且你可以在换工作时把它带到新的公司里。GitHub 是一个社交网络,你所有的提交和对任何技术的研究、交流这些资产都是属于你自己的,它和你正在工作的公司没任何关系。

聪明人会利用 GitHub 的这个优点来建立自己的资产:向他们日常使用的语言和框架进行提交补丁、问题(issue)、评论。比如,TypeScript、.NET、Redux。

他们同样会尽可能地提倡并安排他们的工作以开源的形式来完成,即使他们的提交显示都是私有的提交。

GitHub 是一个很好的均衡器。你虽然不能从印度找到一份澳大利亚的工作,但你能够在印度利用 GitHub 与澳大利亚人进行工作。

在过去的十年里,从红帽公司获取一个工作机会的方式已经显而易见了:你只需与红帽公司的工程师一起合作开发他们的一些开源项目,然后只提交一些有价值的提交并且得到他们的认可,你就会得到这份工作。否则不会提供工作机会给你。

现在红帽公司依然提供同样的求职方式给求职者,不过仅限于技术职位。如今是开源的时代,这种求职方式在世界各地开始流行起来了。

在 2 月中旬的一次访谈中,Linux 和 git 的发明者 Linus Torvalds (他在 Github 中拥有将近 5 万粉丝)说到:

你需要为开源项目提交大量的小补丁,直到项目的维护者信任你,到了那时你就会成为一个在这个项目中值得信赖的人,而不仅仅是一个提交补丁的人。

在信任网络中,你的声誉代表这你的地位。当你换公司时,你之前的声誉就会有所丢失并且减弱。如果你生活在一个小镇里并且在那待了很久,那么那里的人都会对你有所了解。但如果你去了其他国家生活,无论你去哪个国家,你之前的声誉都已经归零了。你最终会到一个没人了解你的地方,更糟糕的是,那里没人知道谁了解你。

你可能是第一次、第二次,或者更糟糕的是你已经是第三次这样丢失了与你的信任网络的联系。除非你已经通过在研讨会或者大型会议进行演讲建立个人品牌,否则你与其他人共事时建立的信任,以及提交到企业内部仓库的代码都会不复存在。

但是,如果你的工作是在 GitHub 上完成的,它就不会消失。它是可以看得见的。你之前与别人建立的信任网络的联系是可以从 GitHub 里直接看的到的。

在 GitHub 开源社区中将要发生的一件事就是,学生、刚毕业的学以及移民者这些相对弱势的群体可以利用 GitHub 这个优势到澳大利亚找份工作。

并且 GitHub 会改变开发者社区现有的样貌。一些之前比较有权威的开发者将会突然地发现他们的信任网络被破坏了。因为在开源中有个原则叫精英领导(meritocracy?)——拥有最好想法的人胜出、拥有提多提交的人胜出、拥有最多通过测试的人胜出、拥有最佳实现的人胜出,等等。

这不是一个完美的原则(没有任何东西是完美的)。并且会让你很难成为一个可以一起共事的好同事。在红帽公司里,我们解雇过一些明星工程师(rock star engineers ),仅仅因为他们不能和其他同事和睦相处。而那些“其他工程师”会经常在 GitHub 里与其他代码提交者进行交流。

GitHub 不是简单地作为一个代码仓库和原始提交者的成员列表, 一些人把这看成是稻草人谬误( strawman arguments)。GitHub 是一个社交网络。我觉得:

重要的不是你提交到 GitHub 上的代码,是其他人对你 GitHub 上的代码的评论

那是你可以随身携带的声誉。并且在之后的12到24个月里,是否在 GitHub 里为开源项目贡献代码会有明显的区别。就好像有邮件和没有邮件(现在所有人都有邮件了)、有手机与没手机(现在任何人都有手机)的区别。到最后,大多数人将会以开源的方式来进行工作,并且会基于各种因素提供相对公平的竞争环境。

但如今,程序员的职业发展空间已经被 GitHub 打乱了。

时间: 2024-10-25 15:48:39

开源(Github)对程序员的影响的相关文章

为什么开源可以提高程序员的编程技能?

为什么开源可以提高程序员的编程技能? 记住开放源代码在你参与进去的时候效果最佳.代码更改在大多数项目中都是受欢迎的,但是有很多出力的方法.测试开源代码和文件错误报告:帮助完成文档集:写教程和如何做的例子:参加对话--或者仅仅只是帮助传播.每一件事都能带来改变,并且越多的人参与进来越好! 我已经写了很多年的软件.最近我意识到,我越涉及(致力于,结合于等)开源技术,我写出来的代码就更好.这不由地让我疑惑起来:难道里面有什么相关性或因果关系吗? 阅读代码能让你变得更优秀 我在编程生涯的早期就明白我阅读

聊聊 GitHub 对于程序员的品牌价值

魔都的快节奏生活,依旧充满了那么多的闲暇碎片时间.近来迷上<增长黑客>,马桶上,地铁里,睡觉前,没事总喜欢翻一翻.里面很多朴实无华的片段,不经意间触入心间.比如本文将要分享给大家的,借例 GitHub 的一段阅读有感. 对于这个全球最大的俗称程序员同性交友网站 GitHub,相信你们中的很多人,比我要熟悉得多.这里不作无谓介绍,只想根据<增长黑客>的部分阅读感悟,简单聊聊 HR 或者面试官从技术求职人员的 GitHub 帐号中,能获取什么信息.相信你能有所得. 如果你活动圈子足够广

为什么学习开源可以提高程序员的编程技能?

一.阅读代码能让你变得更优秀 在编程生涯的早期就明白阅读的代码越多,代码就能变得更好.当我不得不维护其他人的代码时,简单和干净的代码几乎总是比花哨或复杂的代码好-- 即使有注释.然而另一方面,当我花足够的时间去理解复杂代码的时候,我常常能够学到新的技巧.不论怎么样,都能让我有所提高. 这使得我在那些没有代码审查的地方一再争取.而当没有足够的时间来正式执行"代码审查"的时候,我会自己浏览存储库和阅读代码. 二.超越语法 在你不得不全力对付任意编程语言的语法时,也就是学习如何充分利用该语言

Codelf 搜索开源代码帮程序员命名

"计算机科学里两件最难的事:缓存失效和命名." Codelf通过搜索在线开源平台Github, Bitbucket, Google Code, Codeplex, Sourceforge, Fedora Project的项目源码,帮开发者从中找出已有的匹配关键字的变量名,从而帮助为变量名苦恼的开发者命名.这个搜索服务支持直接搜索中文. @来自开源中国社区 原文地址:https://www.cnblogs.com/qjuly/p/9742507.html

答读者问(5):有关数学对程序员的作用、研发工作岗位要求和实习对找工作的影响等问题

最近,有很多读者通过微博.微信与本人交流.感觉大家对于学习.对于技术都非常的有热情,让我也学到了很多东西. 我提取了几个大家比较关心的问题予以答复,请有相同疑问的朋友参考一下. 问题1:数学对程序员重要吗? 答复:要回答这个问题,我举一个身边的例子. 我们项目组有两个同时入职的员工(比我晚一年入职),一个是研究生毕业,一个是本科毕业.前者在校成绩很好,几乎每门数学课都考了90分以上:后者在校成绩马马虎虎,但据说写程序很厉害.他们同时进行入职培训,同样有指导老师教,同时转正.大半年之后,我无意间打

程序员思维的局限

我相信大家都可能听到过这样一个故事,一名记者看见农村的一个正在放羊的小孩 问他"你的理想是什么?" 小孩回答说:"放羊!" "羊儿喂大了干什么?" "卖钱!" "有了卖羊儿的钱干什么?" "娶老婆!" "娶老婆干什么?" "生小孩!" "生小孩来干什么?" "放羊!" ...... 这段流传甚广的段子,但是我

程序员学习方法(摘抄)

程序员必看,学习的方法 0.引言 在学习编程语言的路上,发现初学者(包括俺)问 得最多的问题莫过于“如何学习编程?Java该如何学习?“.类似的问题回答多了,难免会感觉厌烦,就萌生了写下本文的想法.到时候再有人问起类似的问 题,我可以告诉他(她),请你去看看<Java学习之路>.拜读过台湾蔡学镛先生的<Java夜未眠>,有些文章如<Java学习之道>等让我们确实有共 鸣.我个人推荐的<thinking in java>. 从网络上摘下来的一句话是这样的:”软

说我装13?过来,打屎你!(揭秘程序员装13面具)

本文来源中关村在线,文章内容仅为博你一笑,转载仅为研究交流. 程序员一直都是很善良的IT工种,勤勤恳恳不辞辛苦的工作,不过今天的文章不是为了宣扬程序员的伟大.尽管在互联网的发展中,他们贡献了无数的代码,用自己的技术推进了互联网的进程.我们还是要扒一下程序员的装13行为,可能会有很多程序员看了本文会十分的愤慨,但考虑到你们很忙,没有时间黑公园网站,我也就不客气了. 程序员你还说没有装13 写代码离不开各种编程工具,有众多工具供选择便有花样的喜好,对装13的程序员来说,是坚决要抵制IDE的,IDE臃

没有学历的程序员

大神可能看标题都不屑一看,我确实没有学历,也经受了没有学历的痛,但我不是来发牢骚牢骚的,只是阐述这样一种事实的存在:以及原因.影响.解决与对待. 做为一个程序员,你有没有经历学历之痛? 有学历的程序员永远不懂没学历的痛,就像白天不懂夜的黑. 有学历的还没等毕业,校园招聘已经开始了,还没有走出校园,可能已经和某个知名的大公司签下了协议,拿到实习试用的机会:而没有学历的呢,校招对他们来说永远是个梦. 我为什么没有高学历? 我记得是我在上初中的时候,电视上就播放过这样的新闻"有多少多少大学生毕业后找不