At Ticketmaster, I learned the first thing you write when you start on bare metal is a debugger.  I worked on VAX, 68000 and 8051 bare metal.<p>The difference between an amateur operating system project and a professional one is writing a compiler.