Acho que o principal conselho está na página "Beginner Mistakes":
No one who isn't already a seasoned developer with years of experience in several languages and environments should even be considering OS Dev yet. A decade of programming, including a few years of low-level coding in assembly language and/or a systems language such as C, is pretty much the minimum necessary to even understand the topic well enough to work in it.
Em tradução livre:
Qualquer um que não seja um desenvolvedor com anos de experiência em várias linguagens e ambientes não deve ser considerado um desenvolvedor de Sistemas Operacionais. Uma década de programação, incluindo alguns anos escrevendo código de baixo nível em Assembly e/ou uma linguagem de sistemas como C, é o mínimo necessário para começar a entender do assunto o suficiente para trabalhar nele.
Pois é, isso é o pré-requisito básico. Depois ainda tem essa "pequena" lista de coisas (sendo que cada item é um mundo à parte). Como pode ver, não é uma tarefa simples.