The VM is written in a subset of Smalltalk called Slang. This makes it really easy to debug the VM - because the debugging tools in Smalltalk are second to none.

There is a translator that tranlates this into C. The C makes very few assumptions about the underlying OS. A few glue routines need to be written to get mouse, keys, blit bits, network, time functions, file IO. Starting from zero, it takes about a week to create a new VM for a new platform. Fortunately for you, windows is already done (as is classic Mac, OS X, Linux, the commercial unices, and some palm tops).

The VM is launched with an "image" file. The image is basically a dump of memory. There is also a sources file and changes file that squeak needs for development. All code changes are logged.

You can file in or file out code from the image. But the image is a sort of garden of live objects. You don't so much write programs as put objects together and they just are. They live in the image. Saving the image is snapshotting your machine. You can have as many images as you like.

This isn't a good way to get a job. Not directly. While Smalltalk is by far the superior language and the source of most new ideas in software (extreme programming, JUnit testing, model view controller...) were invented in Smalltalk first, then ported to the weaker languages, Smalltalk work is scarce.

OTOH, its the best environment I know of. Crank through the free books. It will bend your mind.