软件开发会得到整合吗?

发布于 2024-07-26 00:18:14 字数 105 浏览 4 评论 0原文

在系统管理领域,服务器和 IT 基础设施正在迁移到数据中心,有时还会裁减 IT 人员。 同样的事情是否有可能发生在软件开发人员身上,即世界上的软件可以由少数几家大公司而不是这么多开发人员来生产?

In the systems-admin sector, servers and IT infrastructure is being moved into datacenters and IT staff are sometimes cut. Is it possible for the same thing to happen to software developers, that the world's software could be produced by a few massive corporations instead of by so many developers?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(10

末が日狂欢 2024-08-02 00:18:14

不。

构建软件不是一项可以很好扩展的活动。 如果一名妇女需要 9 个月才能生孩子,那么 18 名妇女需要一个月吗? 上面有人提到了“人月神话”——这个问题首先是在那里讨论的。 在某些时候,团队中开发软件的沟通和间接成本实际上开始阻碍前进的动力。

还有一种观点认为,伟大的程序员和普通程序员(或者说那些浪费时间在 StackOverflow 上发帖的人和那些不浪费时间的程序员)之间的生产力相差 10 倍。 净负生产力程序员 - 那些通过不良实践、不良设计决策或以某种方式破坏团队士气实际上导致生产力的程序员。

另外,大多数软件公司专注于一种软件或一种语言,并且一直有新的东西出现。 “创新发生在其他地方”——一旦你足够大,你就会很舒服地做你一直在做的事情,所以你不会去寻找可能破坏你当前模式的新事物。

开源现在已经很强大了——所以你不可能真正让一家大公司封锁除他们自己的软件之外的所有软件。 (无论微软多么想...)

No.

Building software isn't an activity that scales well. If it takes one woman 9 months to have a baby, does it take 18 women one month? Someone above mentioned "The Mythical Man Month" - this problem was first covered there. At some point, communication and overhead costs of developing software in a team actually begins to hinder forward momentum.

There's also the argument that there's a factor of 10 difference in productivity between great programmers and an average programmer (or - those that waste their time posting on StackOverflow and those that don't) And the mythical (or perhaps not-so-mythical) Net-Negative Productive Programmers - those that through bad practices, bad design decisions, or in some way destroying team morale actually cause negative productivity.

Plus, most software houses specialize in a type of software, or a language, and there's new stuff coming out all the time. "Innovation Happens Elsewhere" - once you're big enough, you're comfortable doing what you've always done, so you're not going to be looking for new things that may destroy your current model.

And open source is big now - so you can't really get a big company that's going to lock out all software except for theirs. (No matter how much Microsoft wants to...)

锦上情书 2024-08-02 00:18:14

我认为不会——从短期来看。 对于 TDD 和结对编程以及其他东西,看起来更小、更敏捷的团队才是正确的选择。

我总是回顾“人月神话”之类的事情。 我可以拥有一家拥有 1000 名开发人员的大公司 - 但这并不意味着 1000 工时的项目可以在一天内完成。

只是看起来效果不太好

I would argue no - in the short run. With things like TDD and paired programming and other stuff, it just seems like smaller more agile teams are the way to go.

And I always go back to things like "The Mythical Man Month". I could have a huge corporation with 1000 developers - but that doesn't mean a 1000 man hour project would be done in a day.

Just doesn't seem like it would work well

玩心态 2024-08-02 00:18:14

有些人会关注印度的大型开发公司,并认为一旦所有问题都得到解决,这是一种可能性。

Some would look to the large development houses in India and see this as a possibility once the kinks are all worked out.

待"谢繁草 2024-08-02 00:18:14

人们一直在尝试自动生成软件。 只编写 UML,然后通过程序神奇地编写软件。

但系统管理员总是被需要的,也许不再那么需要了。 那里有数以千计的小型 IT 基础设施和服务器托管公司。

软件开发也是如此。 随着工具和框架的改进以及一切对实际程序员的需求将会减少。 但总会有小公司做定制的东西,而像 SAP 这样的大公司则构建大框架。
而且还必须有人编写框架。

所以不要担心你的工作:)

There were always attempts to automate the generation of software. To only write UML and then have the software being written magically from a program.

But sys-admins are always needed maybe not so much anymore. And there are thousands of small it infrastructure and server hosting companies out there.

It will be the same with software development. With the improving of tools and frameworks and everything the need for actual programmers will decrease. But there will always be the small companies doing custom stuff and the big companies like SAP building the big frameworks.
And somebody has to write the frameworks as well.

So don't fear for your job :)

轮廓§ 2024-08-02 00:18:14

也许部分,但不完全。

除了各种规模的软件公司(主要生产软件)之外,还有许多公司需要定制软件作为其产品的一部分 - 例如,雷达设备的固件。 此类公司雇用了大量的个人开发人员,而外包此类工作既不实际也不有效,因为这需要有人为所需内容创建准确的规范。 创建良好的规范可能比仅仅创建软件更困难。

Maybe partly, but not completely.

In addition to various sized software firms (that produce mainly software), there are many companies that need custom software as parts of their products - say, for instance, firmware for a radar device. Such companies employ lots of individual developers, and outsourcing such work is not practical nor effective, since it would require someone to create exact specs for what's needed. Creating good specs might be even more difficult than just creating the software.

等风来 2024-08-02 00:18:14

我认为,廉价商品硬件和资源(例如“云计算”)的可用性增加更加去中心化的发展动力。 拥有庞大资源的大型企业无法再享有与独立或规模较小的开发团队相比的优势。

从某种意义上说,这就像外面有几家大型出版社,但仍然有许多独立作者(或作者团体)。 例外的是所有那些较新的“汤姆克兰西”系列小说,所有这些小说都是由代表无数作者的笔名写成的。

I would argue that the availability of cheap commodity hardware and resources such as "cloud computing" increase the incentive for development be more decentralized. Massive corporations, with their huge resources, can no longer enjoying such an advantage over independent or smaller-sized development teams.

In a sense, it is like how there are a few big publishing houses out there, but still many independent authors (or groups of authors) out there. The exception would be things like all those newer "Tom Clancy" series novels, all written by a pen name that represents numerous untold authors.

年少掌心 2024-08-02 00:18:14

我认为我们不会看到这种情况发生。

开发软件的一个重要部分是对您正在工作的问题领域有深入的了解。一家大公司不可能拥有大量部门的重要问题领域知识。

与 IT 或 HR 等外围支持功能不同,软件开发往往也是使公司有价值的核心的一部分。 外包核心能力是一个非常危险的提议。 不仅存在巨大的知识产权问题,而且处理外包的公司总是有可能消失或决定不再做这项工作。 如果出现这种情况,外包工作的公司基本上就死了。

I don't think that we'll see this happen.

A big part of developing software is having intimate knowledge of the problem domain that you're working in. There's no way that a single big company would be able to have significant problem domain knowledge for a large number of sectors.

Software development also tends to be part of the core that makes a company valuable, unlike peripheral support functions such as IT or HR. Outsourcing core competencies is a very dangerous proposition. Not only are there huge intellectual property concerns, but there's always the possibility that the company handling the outsourcing goes away or decides they don't want to do the work any more. If that happens, the company who outsourced the work is basically dead.

隐诗 2024-08-02 00:18:14

好的软件旨在提高用户的工作效率,这主要意味着了解人们的工作以及他们的工作方式。 鉴于组织及其内部工作流程的多样性,这需要设计人员和开发人员尽可能贴近应用点进行工作。 所有将这些工作流程标准化为单个应用程序的尝试都不可避免地以软件与任何人的工作相匹配而告终。

根据当前可用或设想的任何软件开发流程,我不会很快担心这个问题。

Good software is designed to make users productive, and mostly that means understanding peoples' jobs and how they do them. Given the huge variety of organizations and work processes within them, that requires designers and developers who work as closely as possible to the point of application. All the attempts to normalize these work processes into a single application have inevitably ended up with software that matches no one's work.

I wouldn't worry about it any time soon, based on any software development process currently available, or cencieved of.

懒的傷心 2024-08-02 00:18:14

服务器管理是可以自动化的。 运行良好的现代服务器场不再让系统管理员直接登录服务器。 一切都通过自动化进行部署和管理。

与软件开发相比,每个单独的程序仍然必须由真人编写。 创造行为没有自动化。 正因为如此,软件开发更像是一门手艺,而不是一个行业。 一个行业可以扩大规模和扩大规模。 工艺只能通过分割成独立的组来扩展。 这就是 1000 名开发人员项目的运作方式。 他们完全由六人组成的团队组成。

所以,不,除非有人发明了一种真正的工具来自动化创建软件的行为,并将其从一门手艺转变为一个行业,否则您不会看到与系统管理员相同的趋势。 你所看到的是,低工资国家正在采用这种工艺,并且雇用廉价工匠可能更具成本效益。 请注意,我说的是“可以”,而不是“将”。 软件开发的最大成本是沟通,而当你离岸时,沟通最有可能失控。

Administration of servers is something that can be automated. A well-run modern server farm doesn't have sysadmins logging into a server directly anymore. Everything is deployed and managed through automation.

Contrast this with software development, where every individual program still has to be written by an actual human. There's no automation of the creation act. Because of this reason, software development is more like a craft than like an industry. An industry can scale up and out. A craft can only scale through segmentation into independent groups. This is how 1000-developer projects work. They consist entirely out of teams of half a dozen people.

So, no, unless someone invents a genuine tool for automating the act of creating software, and turns it from a craft into an industry, you're not going to see the same trend as for sysadmins. What you do see is that the craft is being taken up in low-wage countries, and that it can be more cost-effective to hire cheap craftsmen. Notice that i said "can", not "will". The largest cost of software development is communication, and communication is the most likely to spiral out of control when you offshore.

望喜 2024-08-02 00:18:14

大公司愿意这样做,但它永远不会被完全拥有。 一方面,大型组织将遭受一系列始终困扰大型公司的问题。

永远不要与一个有明确目标和具备编写优秀代码技能的开发人员或小团队打赌。 所有人都可以轻松获取最佳实践、出色的工具和知识。 没有理由(事实上有很多理由不这样做)将开发转移到中心化组织。

Large companies will for to do this, but it will never be owned completely. For one thing, the large organizations will suffer from the host of problems that always plague large corporations.

Never bet against a single developer or small team with a focused goal and the skills to write good code. Best practices, great tools and knowledge are easily accessible by all. There is no reason (in fact there are many reasons not to) to move development to centralized organizations.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文