I wish someone had told me about it early, perhaps before going to college. I have been working for about 10 years now with most of experiences in data communications, and it’s been pretty obvious to me that real value of a system resides in software, not in hardware. In the communication systems, what determines reliability is usually their OS and software in general. Hardware matter, too, but only up to certain point. And, it’s relatively easy to reach a reasonably robust hardware product. The real art of creating value is really in software. I wish I have known this before. While I started my freshman year as a CS major, but later I changed to EE because I didn’t like to spend too much time in front of a computer.
Anyhow, the two pillars of data communications industry is Cisco and Juniper. When Juniper first came out, its software took much different path from Cisco. Cisco’s IOS used to be this humongous, non-modular piece of code and changes in the one part of IOS may easily break different part of IOS. It was somewhat synonymous to MS Windows OS, where the backward compatibility requirement has hindered it from introducing much better OS for a while. Also, their approach was similar where Cisco IOS would support any network protocols under the sun like DECnet and Appletalk, while Juniper only supported newer protocols. When a process within IOS fails or goes nuts, it would bring down the whole system, but not Juniper’s OS – JunOS. It was definitely smaller, faster, more reliable and more resilient. But now Cisco’s new OS called IOS XR is also modular SW, I think the playing field has leveled. Cisco is a big power house in networking which commands more than 60% market share in most of industries it has penetrated, and Juniper might forever remain as the number 2, niche player in the market (Crossing the Chasm).
Anyhow, when I look at new innovation or innovative companies popping up, it’s not in L1 to L4 of OSI layer. It’s usually in higher level. Look at all web 2.0, social networking and SaaS (software as a service) companies taking the market by storm. Some say it’s bubble 2.0, but this time I think everyone including investors is careful about business models and revenue history/projection. Also, anything related with proprietary hardware like building ASICs takes too long and too much capital. Building software takes much less time and capital, and there are literally thousands ways to implement a feature, so it’s really up to how well the software is structured for performance as well as scalability that would make a huge difference.
It also brings an interesting point, too. If you look at technology advancements in the last 100 years and last 20 years, the rate of advancement in last 20 years is very high. If this rate would continue, it’s mind boggling to imagine what the next 10, 20 years will bring. That’s also why benefits of proprietary and custom hardware such as ASIC or company like SUN might be in the big trouble. The system built with off-shelf components may run as fast and reliably as custom hardware. Again, the value will be on software. How well it is designed and written will make all the difference.
I have two kids of my own, and I don’t know if I would want them to become engineers like me…, but if they want to, I would definitely ask them to go into software industry, not hardware. I suppose hindsight is always 20/20. Life’s most valuable experiences are learned from mistakes.