In driving down I-293 around the city of Manchester one night this weekend, I noticed some of the old factories across the river were lit up so you could see the machinery they contained. Those machines have probably been producing goods reliably for decades.
In my last post, (“Corporate Specialization“) I used an analogy of power plants to describe how software engineering groups might someday fit into the corporate landscape.
I found myself thinking that a more precise analogy would be to liken software application development to… hardware application development.
When it comes down to it, hardware, software… the end user doesn’t care. They’re all just tools to get their real jobs done.
I remember seeing this when I was a kid. I recall observing that when the Atari 2600 has a cartridge inserted, and it’s powered on, the hardware and software components were functionally indistinguishable. The complete system might as well be a dedicated-purpose hardware machine. It became an appliance.
Modern platforms don’t really change that appliance effect to the end-user.
So, aside from operators, I’m sure these classic B&M manufacturers have technical people to maintain and manage their equipment. I’d be surprised to find out that they keep a full team of mechanical engineers on the staff, though. It seems to make sense that a mature software development industry will start to look much more like that over time.
Further, take a look at computer hardware. It’s undergone some maturing over the past few decades too. There really aren’t many companies that actually bake their own. I remember tinkering a bit with chips & solder. Then, I started building PC’s from components. While my current desktop at home is still one of my own “Franken PC’s”, I think it’s been over a year since I even cracked the case on it. I suspect that when I finally break down & replace the thing, it will be 100% Dell (or maybe Sony) [and Microsoft].
With respect to software engineering, never mind all that FUD we’re hearing about IT getting sucked into business units. That’s good for “operators” and “maintenance” types, who become analytics and process management in the new world order. I suspect the heavy lifting software engineering will eventually be done mostly by companies that specialize in it.
With that, it might be more educational to look at the histories-to-date of the industrial-mechanical and electrical engineering groups to see the future of the software engineering group.
I think this might be where MS & Google are really battling it out, long term. As the software industry continues to mature, the companies with the most proven, stable software components will end up with the market advantage when it comes to building “business factories” out of them for their clients. …or maybe it will just be about the most matured development and engineering processes… or maybe both… ?