I think the author is also very skilled, considering porting part of UNIX to a new architecture almost all by himself as a sophomore.
I admit everything is simpler back then, but again tooling is bad and docs was just Lyon's book.
Putting myself in the shoes. I don't even know where to start. Honestly it would be an interesting project to port xv6 from RISC-V to another architecture WITHOUT the help of Internet and AI.
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.
As usual I think it is combination of skill, luck and hard work. There are people who do enormous hard work but just do not have skill to create impact. And there are many highly skilled people but not motivated enough or likely they just not in right place at right time to create consequential things.
> I fear the current state of our industry eliminated the possibility for not-great, not-skilled juniors to embark in these journeys
It is just that industry would be 100 or 1000 times larger than it was in 70s or 80s. Now not-great not-skilled people can get IT jobs in Accentures/IBMs of today which pays well enough for mediocre computer skills. When thousands of new PhDs in Computer science, electronics and semiconductors etc are available every year it is infeasible that mediocre folks can land in hardcore engineering roles.
> 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.
Judging from his biography, he should be skilled when he started working on it, but I don't think he knew very much about OS and compilers because these were pretty tough topics.
Also it took him around 2 years to get a basic port done (75-77) with a bit of help in the first year.
Anyway I believe there were a lot of head banging but he came out in pretty good shape.
Damn wish I had the time to do something like this. I'd like to rely ONLY on printed books and specifications for such a project (say port xv6 to some 32-bit arm processor), or something even simpler. But I really don't have the capacity sadly.
I wonder what stopped me being at that level. Mostly attitude, fear and perhaps aptitude. I liked things that were easy to install and follow tutorials. I got into Visual C++ as it actually installed as opposed to a magazine cover Linux distributionn that barely run. I think having the main system (gotta get those grades) takes most of the energy for most people. Either those who are happy to drop out or genius enough to both study and hack survive to do really cool stuff.
I think you have to do it when you have a project or on job. Since it takes a couple of years for him to get a working kernel, this type of long term commit is not available to many people.
I admit everything is simpler back then, but again tooling is bad and docs was just Lyon's book.
Putting myself in the shoes. I don't even know where to start. Honestly it would be an interesting project to port xv6 from RISC-V to another architecture WITHOUT the help of Internet and AI.