15 ms·
We cannot put software on the kind of assembly line/stamping process we can with say door hinges or other metal works that used to require a skilled blacksmith.
by gvb 13y ago
We cannot put software on the kind of assembly line/stamping process we can with say door hinges or other metal works that used to require a skilled blacksmith. That doesn't mean it won't happen some day.
Stamping out software is what your Windows/OSX/linux installation CD/DVD is. Microsoft is making a lot of money stamping out (figuratively nowadays) copies of Windows.
Software engineering is the equivalent of the mechanical engineer combined with mold maker for plastic or stamped parts. There are a lot of tool and die shops around me that are making a lot of money[1] making molds.
[1] Well, they were before the auto market tanked, but they are doing OK again.
- abraininavat 13y agoStamping out software is what your Windows/OSX/linux installation CD/DVD is. Microsoft is making a lot of money stamping out (figuratively nowadays) copies of Windows. I think you misunderstood. The product a software engineer makes is not a CD that lands in a person's hand. It's the arrangement of bits that eventually ends up on that CD. The OP is saying there is no way for a machine to arrange those bits.
- gte910h 13y agoHe understands you. He just disagrees and thinks your metaphor is wrong.
- abraininavat 13y agoHe understands you. He just disagrees and thinks your metaphor is wrong. First of all, let him speak for himself. Or do you claim to read his thoughts? Secondly, no he doesn't seem to understand. The statement he disagreed with was: We cannot put software on the kind of assembly line/stamping process which is obviously a point about the fact that we have no assembly line process for writing new software. He replied with: Stamping out software is what your Windows/OSX/linux installation CD/DVD is which is obviously missing the entire point. We are talking about writing the software, not putting the software on the disk. It's a distinction you've clearly also missed.
- sologoub 13y agoAgree with @abraininavat. There is a big difference between mass distribution and mass design. Another way to look at it is coach builders. 100 years ago, there were many more coach builders and custom car manufacturers than there are today. Car was also a luxury item. That started to be disrupted by mass produced and mass distributed cars, like Ford. Today, most companies that hire "web developers", are either building things using packaged libraries or modifying things to fit. They are not taking off the shelf components and connecting them without modification. Even tools like Salesforce.com default to people writing code to solve complex configuration issues. The UI is catching up, but it's not there yet.
- gte910h 13y ago>Stamping out software is what your Windows/OSX/linux installation CD/DVD is. Microsoft is making a lot of money stamping out (figuratively nowadays) copies of Windows. Software engineering is the equivalent of the mechanical engineer combined with mold maker for plastic or stamped parts. The whole quote shows he disagrees and thinks the analogue is wrong You only excerpted part of the quote which was contradicting the other interpretation of what the product was, not the explanation of what he thought it was.
- jholman 13y agoI agree that the quote suggests that gvb disagrees and thinks the analogy is wrong, or at least inferior to his analogy. I mean, gvb's alternate analogy is also a good one. Yes, writing software is like configuring the assembly line, and yes both of those things are expensive work for highly-trained professionals. And yes the interesting difference is that 99.999% of the cost of making software is this design, whereas in car manufacture it's maybe 5% or 20% or something (and the actual stamping is the rest). This is a good analogy, sure! It's also hopefully old news for basically all of us. Isn't it? But sologoub's analogy is a different one, and it's also a good analogy, and in my experience a less-overused one. And insofar as it's more-novel (to me), it's more instructive, and thus "correcting" it with an overused analogy suggests lack of understanding. Sologoub's point, to attempt to restate and simplify, is this: the value and scarcity of modern engineering is comparable to the value and scarcity of pre-industrial artisans. Industrial artisans because less valuable when industrialization commoditized their work. And sologoub proposes that this could one day happen to software development (and other engineering), and if/when it does, (software) engineering will cease to be lucrative. I think it's an interesting model; I have no idea if it will be possible to industrialize software development, short of god-AI taking over all human labour.
- Datsundere 13y agoWe are getting closer and closer to machine learning. Eventually coders will get replaced.
- mediaman 13y agoThis is a great point. Because software has near-zero replication costs, the "manufacturing" process has no good analog for software industry. The manufacturing industry is supported by an army of engineers in a wide variety of specialties. In fact, manufacturing, in some ways, is starting to look a little more similar to software, because the non-material costs of production are falling (automation replaces direct labor) so replication costs are falling. Manufacturing will never look exactly like software due to the intrinsic role of raw material costs and the capital costs of production equipment, but there are increasing similarities. As manufacturing has become more automated, a greater emphasis is placed on the role of engineer: in an automated factory, there is greater need for skilled engineers and lesser need for direct operating labor. While better software has also helped these engineers become more productive, the net effect has been to improve quality of engineering output rather than to reduce engineering demand. (The exception is people working with engineers, but at a lower skill level. For example, there is little need for draftspeople.) Examples of this improved engineering output are flow simulation software that allows engineers to better push the envelope in part design to reduce part weight and improve production cycle times. The net lesson from manufacturing engineering is that software engineers will continue to be in demand -- likely even higher demand -- so long as they continue to evolve their skills to use the more powerful software as it becomes available. The more powerful software will lessen the cost of software, which will increase demand for it, and increase demand for the skilled developer. For example, abstraction platforms such as Rails increased demand for those who evolved their skill set, because cost of web development fell due to higher productivity, thereby increasing demand for it. However, like a draftsperson or an engineer who refuses to learn Solidworks, the more powerful software will be a negative for those who cannot, or choose not to, evolve their skill set above a more basic level.
- bsg75 13y agoBecause software has near-zero replication costs, the "manufacturing" process has no good analog for software industry. I wonder how many "business people" have a hard time understanding this concept, resulting in the typical shortsightedness that results in Build It Cheap And Fix It Later, where "later" almost never finds its time.