Intel's Ronler Acres Plant

Silicon Forest
If the type is too small, Ctrl+ is your friend

Thursday, April 17, 2008

BIOS Engineer

Sometimes I think I may be in the wrong line of work. I just ran a search on indeed.com for "BIOS Engineer" and it returned 192 matches in my neighborhood. The BIOS (Basic Input/Output System) on a PC is a bit of code written into a chip on the motherboard. It performs a number of low level functions for the computer.

The one function everyone deals with is the boot (or bootstrap) loader. It reads the first bit of code from the boot disk which is what gets everything started. The boot loader gets its' name from the expression "pull yourself by your bootstraps", which is how one my professors explained it. I wonder how many people know what a bootstrap is?

On a simple machine, the boot loader may be no more than dozen bytes of code:
  1. Output the address of the control block to the disk controller,
  2. jump-busy until the controller is done,
  3. jump to the newly loaded code.
On PC's it is a little more complicated because you do not know which disk you will be able to boot from, or even if the device is a disk.

The problem with BIOS Engineering is that it seems to be a bit of a closed community. You can only get in if you have worked on a PC BIOS before. I think this is a load of hogwash. It is just code for Pete's sake, it isn't magic. Matter of fact, it's the simplest kind of code you can write. The constraints are fairly well understood. Most all of the problems have been dealt with before. It's just a matter of cutting out the obsolete and integrating the new bits.

I interviewed with a guy running a BIOS group at Intel some ten years ago. His guys were working 60 and 70 hours a week for months on end. I have done that on occasion, but never for more than a couple of weeks at a time. I find that it doesn't pay. After about eight hours of work, I am tired and I start making mistakes. I come in the next day and it takes me four hours to straighten out the mess I made the day before and get lined out with what I need to do today.

I remember reading something about the Lockheed Skunk Works. The guy who ran it (Kelly Johnson) was of the same mind: If you work smarter, you don't need to work longer. Here is another take on the same subject: Urgency is poisonous.

So what I am thinking is that BIOS engineering has attracted some real dweebs and I probably don't want to working there. Which means I am kind of glad I didn't get the job.

No comments: