Sun never decided whether they were a hardware company of a software company. They had great hardware and software, but couldn't make much money with the latter. Failing to recognize software as a way to sell THEIR hardware was the biggest issue. When they decided to launch x86 workstations, I knew they were doomed. When they exited the workstation business, I knew it wouldn't be long.
When you destroy all the on-ramps to your highway, it's a matter of time until the toll booths are empty.
1. Sun didn't become the defacto desktop platform because they lost out to WinNT. So they lost out on the consumer market. 2. Custom server hardware and software makers like Sun and Silicon Graphics were the fashion till Google and later on Facebook came around and built their own data centers with consumer hardware and specialized software to overcome the inherent unreliability of that hardware. And anyway ever since web-based software became a thing your device is practically a console a la Chromebooks. So they lost the server market.
The only option left was to serve the high end HPC market like labs or even banks but that didn't make business sense since that's increasingly niche because those customers would eventually also want the effects of commoditization.
[1] - http://esr.ibiblio.org/?p=6279 [2] - https://www.joelonsoftware.com/2002/08/30/platforms/
Or was it the grit and pushing through the pain of banging his own head against the wall many times while dealing with mysterious errors and compiler warnings that made him very skilled?
I fear the current state of our industry eliminated the possibility for not-great, not-skilled juniors to embark in these journeys such as these to become great and skilled seniors. And I'm afraid that sooner or later we will all regret it.
> I fear the current state of our industry eliminated the possibility for not-great, not-skilled juniors to embark in these journeys
I think both sentiments are a product of their times.
Was porting an OS to a new architecture an extremely skilled thing? 100% then and 1000% today. With each new stage of advancement and increase in the layer of abstraction away from the core metal, newer developers no longer need to know how to program at the lowest level like targeting a processor architecture directly.
Software development from the 1950s till the rise of Windows as the standard was targeted not towards systems like we do today but towards processors and architectures. Processors at that time were simpler to write for. You could get the datasheet for whatever was the latest processor from a magazine, understand it inside and out and start writing software for it. Today I do not think there are more than a few dozen people who understand the x64 line of Intel processors at the same level. So times have changed. We write for operating systems now and not processors anymore.
I think that this is neither good nor bad. It just is simply how it is. I'm sure that people who worked on computers in the 1950s at the assembly level would have been complaining in the 1970s about people writing programs in C/Pascal. And so the cycle continues.
In fact, I think that the current state of generative models that output code is the perfect scenario to separate the wheat from the chaff. Their power function nature gives a clear divide between people who worked in software for the paycheck and those who love technology for it's own sake.