如果你的公司在拥抱开源的道路上进展缓慢,不妨从微软的Python经验中取取经。
随着我们跨入2019年,很显然,对我们来说,仅仅做一个软件消费者是不够的, 还需要引导像Capital One和Comcast这样的大企业意识到:软件正在“吞噬世界”,他们需要开放软件开发来生存(和繁荣)。 即使对于那些理解这一需求的人来说,在一个保守的大公司里做出改变也是很艰难的。(注意到我灰白的头发了吗?)
微软之所以一直让人着迷,是因为它为我们提供了一个极其罕见的例子——一家公司设法彻底改变自己的文化,并将这种文化转变转化成公司可观的收入。在公司是如何开始拥抱Python的故事中,尽管“Python是一种属于别人的语言,所以微软不感兴趣”,但是我们可以学习到改变在大公司中是怎样发生的。
漠不关心的态度
现在,Python是“微软服务和团队支持的基本语言之一,也是公司内外快速增长的数据科学分析领域最受欢迎的选择,” 软软工程师Steve Dower在一篇微软新开源故事帖中写到。但就在八年前,Python在微软的脚步只停留在少数几个关心开源语言的工程师身上,公司的大多数人都对它不屑一顾。
今天,情况大不相同。“许多微软产品现在都支持Python,并且一些最新的产品只支持Python。”
什么改变了?在某种程度上,微软(再次)找回了成为一个开发平台公司的信心。回到Windows和Office时代,这足以围绕专利产品建立一个帝国,但我们后来放弃了这个帝国,转而支持开源平台,邀请社区创建。通常这是一个开源发展的问题(正如Microsoft和谷歌在云服务中证明的那样),但并不总是如此。例如,苹果为iOS创建了大量地开放模式,它接受各种第三方应用程序,这些应用程序直接与苹果自己的产品竞争(谷歌地图在这一点上也做得很好)。
问题是,如果微软想作为一个开发平台公司生存下去,除了改变别无选择。
做出改变并不容易
改变一个公司的企业文化并不容易。正如Dower写的,对Python的怀疑挥之不去。例如,他指出,由于微软一直奉行自上而下的公关(这种模式在接触社区贡献者方面基本上毫无用处),所以, “Python每次发布都会在Twitter、Reddit和Hacker News等这些我们很少宣传自己产品的地方引起轰动”。他还暗示让公司内部听到Python的声音是多么困难:“许多人并不相信微软实际上在与Python打交道,包括我们自己的同事。我在一个开发人员旁边工作了半年,他居然都不知道我们实际上有一个Python团队”。
在2015年之前,Python的发展势头在微软内部已经有所增长,但大公司的惯性依然存在。例如,Dower提出有必要“与法律团队多次面谈”,以获得向CPython提交代码的许可。虽然如此,这种势头是真实存在的:为100人组织的Python日吸引了1000名与会者(真人和虚拟),约占当时公司的1%。Python正在变成现实。
在这8年里,有无数小的进步,可能还有一些倒退(Dower没有强调)。微软从敌视开源到成为世界上最大的开源贡献者,从对Python漠不关心到成为其最热情的支持者之一,并雇佣了5名Python的核心提交者。这是一个巨大的进步,但同样是由许多小的、不被重视的步骤推动的。
因此,无论你在你们公司的开源发展之路上走到了哪里,都要坚持下去。这是正确的做法,即使你的公司还没有认识到这一点。
最后
如果对Python感兴趣的话,可以试试我的学习方法以及相关的学习资料
对于0基础小白入门:
如果你是零基础小白,想快速入门Python是可以考虑培训的。
一方面是学习时间相对较短,学习内容更全面更集中。
Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
三、精品Python学习书籍
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
五、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
六、Python练习题
检查学习结果。
七、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
大家拿到脑图后,根据脑图对应的学习路线,做好学习计划制定。根据学习计划的路线来逐步学习,正常情况下2个月以内,再结合文章中资料,就能够很好地掌握Python并实现一些实践功能。