1.4 为什么需要社会化编程
当今的IT业界已经没有了终身雇佣制,人才流动性日益增大。可以说,每个月我们都能在一些著名开发者的博客中看到这种现象:月末刚发布“辞职了”的消息,月初就又“入职了”。
那么,如果您是程序员的面试官,两者之间您会选择哪一位呢?
●能查看到以前所写代码的程序员or无法查看的程序员
●精通最新软件的程序员or不精通的程序员
● 对语言或软件差异带来的不同文化有所理解的程序员or不理解的程序员
为了不成为后一种程序员,理解社会化编程和GitHub至关重要。
●不要闭目塞听,要接触不同的文化
在工作中接触非公开代码的职业程序员们,更应该接触世界上的不同文化,拓展见闻。如果只在公司这一封闭的小世界中敲代码,往往在不知不觉间,手中的技术就变得陈腐不堪了。
放眼世界,注意那些日新月异的源代码、技术、设计以及文化,会对自己编写的源代码及成果带来巨大影响。笔者自身也曾在知名框架的实现中受到启发,良好地实现了公司内部开发的软件。
●会写代码的程序员更受青睐
在软件开发行业中,Web业界的变化尤其激烈,能实际编写源代码的程序员大受青睐。
在过去,程序员只需有简单的编程经验,用人单位更重视其人品、协调性、管理能力。但如今,能踏踏实实编写出代码的职业程序员反而更受欢迎。这是由于近年来随着技术的不断发展,开发一项服务需要用到多种编程语言和技术,以求兼容多种硬件设备。在这种背景下,判断一个求职者能否编写项目所需的源代码,最切实可行的办法就是看他实际写出的东西。
如今,GitHub的出现已经让所有人平等拥有公开源代码的权利。看看Facebook或Twitter能了解一个人的品性,而看看GitHub就能了解一个程序员的实力。
今后,进行社会化编程的程序员会越来越多,从而成为一种普遍现象。在不远的将来,应聘的成功与否将取决于您曾经编写过的代码。因此,面向全世界的代码公开必将越发重要。以编写代码为生的职业程序员们,更应该进行社会化编程。
●GitHub最大的特征是“面向人”
这里讲解一下GitHub与单纯的仓库托管服务的不同之处,在笔者看来这是一个重点问题。
GitHub与以往的仓库托管服务最大的不同点,就在于它以人为中心。
以往的仓库托管服务都是以项目为中心,每个项目就是一个信息封闭的世界。虽然能够知道一个仓库的管理者是谁,但这个管理者还在做哪些事,我们就不得而知了。
GitHub除项目之外,还可以把注意力集中到人身上。我们不但能阅览一个人公开的所有源代码,只要查看其控制面板中的News Feed,还能知道他对哪些仓库感兴趣,什么时候做过提交等。一个人在GitHub进行的开发是一目了然的。
您可以将注意力聚焦到感兴趣的人身上。他既可以是您崇拜已久的超级黑客,也可以是同校同学或公司的同事。
能同时关注人与代码,是GitHub为我们带来的一个新的世界。