软件开发的政治

史蒂夫·耶格(Steve Yegge)有几篇文章( 在这里这里 )阐述了有关软件工程的新思维理论。 正如他所说,

  1. 软件工程有其自己的政治轴心,从保守到自由。 […]
  2. 在这个政治轴心上,“保守”和“自由”的概念专门用于软件工程。 但是,它们与现实世界中的同僚显示出一些强烈的相似之处。
  3. 无论是否意识到,从事与编程计算机有关的工作的软件行业中的每个人都在这个政治范围内处于相当精确的位置。

他继续解释了对软件开发的“保守”态度(他说这是风险管理)与“自由”观点的特征。 他建议静态类型化是两个阵营之间的关键分界,然后着手将计算机科学和编程概念,语言甚至技术公司分配给它们。 第二篇文章对反馈有很多回复。 阅读它们和评论。

有时很难知道这些帖子是否是精心制作的巨魔,但是由于许多人会以它们的面值来对待它们,因此,让我继续讨论一些提出的论点。 这些帖子对政治体系的运作方式(更不用说保守派和自由派的愚蠢讽刺漫画)以及软件组织的运作方式都缺乏了解。 首先,使用“保守”和“自由”绝对无济于事。 它给辩论带来了情感上的负担。 与大多数软件开发问题相比,政治更重要,影响深远并且具有更大的历史背景。 与选择一方与另一方的差异相比,用Haskell与Ruby编写应用程序的差异微不足道。 (如果您相信“所有政客都是一样的”,那么您就不会引起注意。)

因此,大多数人的政治观点很少改变。 失败者在美国“压倒性”总统选举中的普遍投票率便是一个例证:通常接近40%,而共和党和民主党候选人都一样。 许多人对一党有终生忠诚,没有任何问题,新闻或证据可以影响他们。 选举结果由少数选民和人口变化决定。 而且,当政党做出重大转变时,实际问题甚至可能都不重要,但他们的追随者仍然忠诚。 参见新保守主义或新自由主义。

相比之下,软件开发态度截然不同。 程序员可能对语言和框架持坚定态度,但是有很大的动摇只能用实用主义来解释,而不能用任何哲学观点来解释。 例如,看一下Objective-C在TIOBE索引中的位置 。 iOS设备的巨大成功意味着机遇,许多程序员决定通过在Objective-C中编写代码来尝试自己的运气。 PHP使用率是最受欢迎的Ruby的四倍,因为每个托管供应商都免费提供PHP支持。

换句话说,金钱很重要。 市场决定赢家和输家。 而且大多数程序员接受结果,因为否则他们将无法养家糊口。 市场奖励程序员在特定技术或领域的长期经验,以及对大公司具有发展动力或价值的技术。 大多数理由都是事后的。 编程战争通常只不过是争夺地位。 很少有人能够做出完全脱离市场状况的选择。

在艰难的劳动力市场中,程序员(试图闯进来)有动力去尝试学习许多技术,使自己以更多的知识呼吸来定位自己,或者干脆有更多的目标瞄准。 有工作的程序员有动力不要在工作场所动摇船。 如果有可能适得其反并被解雇,您就不要尝试新的东西。 即使在有利的就业市场中也是如此,但是然后就有更大的灵活性和尝试新事物的空间。

在组织内部,当有人做出选择时,尚未提出的问题是:“ 这会使生活变得更轻松或更艰难吗? ”这是一个深切的个人问题。 在大多数情况下,您提出的更改将意味着其他人付出更多的精力,时间和风险,更不用说花在您的想法上的冷钱。 此外,如果您的想法成功,您将获得大多数赞誉,但如果失败,他们将共同承担责任。 这与其他人对软件编程的态度或观点无关,而只是成本效益的决定,有时是在潜意识中做出的,但是仍然做出了。

当您提出一种摆脱这种情况的方法时,您可以看到人们的态度。 例如,给一个团队额外的一百万美元,看看人们在多快的时间内改变对是否容易做的看法。 或者,如果每个人都开始用Ruby编写代码而不是他们现在正在做的事情,那么这是一个巨大的增长。 或将最后期限延长6个月而不分发新工作。 惊人的成就。

所以,这里没有政治。 只是出于个人利益。

参考: Thought Clusters博客上我们JCG合作伙伴 Krishna Kumar 的软件开发政治学

翻译自: https://www.javacodegeeks.com/2013/07/the-politics-of-software-development.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值