博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GitHub对您的软件事业产生的影响
阅读量:2523 次
发布时间:2019-05-11

本文共 2013 字,大约阅读时间需要 6 分钟。

在接下来的12到24个月内(换句话说,在2018年至2019年之间),人们雇用软件开发人员的方式将发生根本变化。

从2004年到2014年,我在Red Hat(全球最大的开源软件工程公司)工作。 在这里的第一天,2004年7月,我的老板马蒂·梅塞尔(Marty Messer)对我说:“您在这里所做的所有工作都是公开的。将来,您将不再拥有简历,而人们只会使用Google。 ”

这是当时在Red Hat工作的独特特征之一。 我们有机会公开创建自己的个人品牌和声誉。 通过邮件列表和错误跟踪器与其他软件工程师进行沟通,并且将针对Merurial,Subversion和CVS(并发版本系统)存储库的源代码全部开放并由Google编制了索引。

快进到2017年,我们生活在一个开源软件吞噬的世界中。

有两个因素可以使您真正感受到时代感:

  1. 长期以来,微软一直是开放源代码专有软件的发源地,并且是反对开放源代码的十字军。 该公司成立了.NET Foundation(已加入Red Hat)并加入了Linux Foundation。 .NET现在作为一个开放源代码项目公开开发。
  2. GitHub已成为一个单一的社交网络,将问题跟踪和分布式源代码控制联系在一起。

对于主要来自封闭源代码背景的软件开发人员来说,目前还不清楚。 对他们来说,开源等于“在业余时间免费工作”。

但是,对于那些在过去十年中创建了一家价值10亿美元的开源软件公司的人来说,没有任何空闲或业余时间可以从事公开工作。 而且,公开工作的好处和后果是显而易见的,您的声誉是您的,并且可以在公司之间移植。 GitHub是一个社交网络,您在社交媒体上的投入和贡献是由您在社交媒体上的投入和贡献所创造的,而与您碰巧正在工作的公司无关。

聪明的人将利用这种环境。 他们将在工作中每天使用的语言和框架(包括TypeScript,.NET和Redux)的上游提供补丁,问题和注释。 他们还将倡导并创造性地安排他们尽可能多的工作在公开范围内完成,即使这只是他们对私有存储库的贡献图。

GitHub是一个很好的均衡器。 您可能无法从印度在澳大利亚找到工作,但是没有什么可以阻止您在印度的GitHub上与澳大利亚人一起工作。

在过去的十年中,在红帽工作的方法很明显。 您刚刚开始与Red Hat工程师就他们正在公开工作的一项技术进行合作,然后当您显然在做出了宝贵的贡献并成为了一个很棒的人时,您就会申请一份工作。 (否则他们会打您。)

现在,几乎所有技术都对所有人开放相同的途径。 随着世界被开放源代码吞噬,如今,无处不在。

在 ,Linux和git的发明者Linus Torvalds(49K位关注者,在GitHub上为0)表示:“您发射了许多小补丁,直到维护者信任您为止。不仅可以使您成为一个发送补丁的人,还可以成为信任网络的一部分。”

您的声誉是您在信任网络中的位置。 当您更换公司时,这会被削弱,并且其中一些会丢失。 如果您住在一个小镇上并在那里住了很长时间,那么整个镇上的人们都会认识您。 但是,如果您移动国家/地区,那就可以了。 您最终到达一个没人认识您的地方,更糟糕的是,没人知道任何认识您的人。

您失去了一级和二级,甚至三级的联系。 除非您通过在会议或其他大型活动上发表演讲来建立品牌,否则您与他人合作并将代码提交到公司内部存储库所建立的信任就消失了。 但是,如果这项工作已经在GitHub上进行,那么它就不会消失。 可见 它已连接到可见的信任网络。

将会发生的第一件事就是弱势群体将开始利用这一优势。 学生,应届毕业生,移民-他们将以此来移民澳大利亚。

这将改变景观。 以前有特权的开发人员会突然发现他们的网络被破坏。 开源的原则之一是精英管理-最好的主意赢,最多的提交赢,最通过测试的赢,最好的实施的赢,等等。

它不是完美的,什么也没有,它并不能消除或打交道成为一个好人。 公司解雇了一些摇滚明星工程师,他们只是不擅长与他人打交道,而这些东西确实会出现在GitHub中,主要是在与其他贡献者的互动中。

GitHub不仅是一个代码存储库,而且是原始提交编号的列表,因为有些人用稻草人的论点来描述它。 这是一个社交网络。 我这样说:重要的不是您在GitHub上的代码。 别人在GitHub上所说的关于您的代码很重要的事情。

GitHub是您可移植的声誉,在接下来的12到24个月内,随着一些开发人员开发出GitHub,而其他开发人员却没有这样做,它将与众不同。 就像拥有电子邮件而不是没有电子邮件(现在每个人都有电子邮件),或者拥有手机而不是没有手机(现在每个人都拥有手机)一样。 最终,绝大多数将在公开场合工作,并且它将再次成为在其他因素上有所不同的公平竞争环境。

但是现在,GitHub扰乱了开发人员的职业空间。

最初出现在Medium.com上。 经许可转载。

翻译自:

你可能感兴趣的文章
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_09 序列化流_2_对象的序列化流_ObjectOutputStream...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_10 打印流_1_打印流_概述和使用...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_09 序列化流_4_transient关键字_瞬态关键字...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_07-网络编程_第1节 网络通信概述_1_软件结构...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_09 序列化流_6_练习_序列化集合...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_09 序列化流_3_对象的反序列化流_ObjectInputStream...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_07-网络编程_第1节 网络通信概述_2_网络通信协议...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_07-网络编程_第1节 网络通信概述_3_网络通信协议分类...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_07-网络编程_第1节 网络通信概述_4_IP地址...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_07-网络编程_第1节 网络通信概述_5_端口号...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_07-网络编程_第2节 TCP协议_1_TCP通信的概述(上)...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_07-网络编程_第2节 TCP协议_2_TCP通信的概述(下)...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_07-网络编程_第2节 TCP协议_3_TCP通信的客户端代码实现...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_07-网络编程_第2节 TCP协议_4_TCP通信的服务器端代码实现...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_07-网络编程_第3节 综合案例_文件上传_1_综合案例_文件上传的原理...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_07-网络编程_第3节 综合案例_文件上传_2_综合案例_文件上传案例的客户端...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_07-网络编程_第3节 综合案例_文件上传_3_综合案例_文件上传案例的服务器端...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_07-网络编程_第3节 综合案例_文件上传_4_综合案例_文件上传案例阻塞问题...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_07-网络编程_第3节 综合案例_文件上传_5_综合案例_文件上传案例优化...
查看>>
阶段1 语言基础+高级_1-3-Java语言高级_07-网络编程_第4节 模拟BS服务器案例_1_模拟BS服务器分析...
查看>>