Subject: Research Programmer Positions, University of Utah Flux/Mach4 OS Project -- Systems Programmers -- Five Positions Come brainstorm, design, hack, and debug with us. Oh, also ski, bike, hike, and raft with us. Then there is reading and writing. And there's also drinking. We do all of them. Join a team building a next-generation operating system with ARPA, NSF, and industrial support. For the right people, a great deal of freedom is available in shaping the designs, implementations, and in choice of sub-project. Although a research orientation is desirable, staffers must also be committed to producing real software that works and is used by others. A loose and flexible environment is the norm, so dedication or self-discipline is needed. Depending on the individual, pay can be competitive with industry, so don't let that scare you away. Concurrent pursuit of an advanced degree is possible in some cases. We do microkernels (with several traditional microkernel components in user space, such as address space management), distributed shared memory, distributed and not-so-distributed objects, security, IDL compilers and languages, and very fancy linking. This work is targeted at highly decomposed systems and middleware. We have superb experimental computing facilities. Check out http://www.cs.utah.edu/projects/flux/ for more info. KERNEL HACKERS: 2-3 Required is expertise in kernel hacking, in Unix, Mach, Linux, NetWare, NT, or other operating systems. Experience in core, low-level OS areas is required, i.e. beyond simple device driver programming or filesystem modification. Experienced, creative architects are always welcome; plusses are kernel experience with the x86 or PowerPC, and expertise in the Mach kernel. Your role is key in developing the fundamental kernel mechanisms underlying our work. SENIOR LANGUAGE TOOL ENGINEERS: 1-2 Required is in-depth expertise in some or all of compilers, linkers, and debuggers. Bases for this work include an advanced, optimizing, interface definition language (IDL) compiler, an experimental programmable linker/loader (see the OMOS papers, at http://www.cs.utah.edu/projects/... flux/papers#flex), the GNU tools, and new programs you will design and write. SENIOR SOFTWARE ENGINEERS: 1-2 Generally expert programmers not covered by the two categories above. Plusses are expertise in distributed object systems (ORBs, COM, SOM, etc) or aspects of computer security. One area you might work in is developing an advanced distributed shared memory system useful to client/server applications, and to the rest of the OS itself. Another is in sophisticated performance measurement tools and machine simulators. Another is in IDL compiler components. SO WHAT ABOUT UTAH, ANYWAY? Despite its reputation as a desert, Utah is by no means "dry," in any sense. Salt Lake City, at the foot of the Wasatch Mountains, is the hub of a large metropolitan area --- large enough to offer diverse cultural resources (i.e. there are lots of people here like yourself!). Utah has unparalleled outdoor recreation, from skiing at seven world class resorts within 30-60 minutes' drive, to mountain biking, backpacking, and river running in the spectacular red rock canyon country of Southern Utah. Ten national parks lie less than a day's drive away, and numerous recreation and wilderness areas are even closer --- making outdoor recreation uniquely accessible. For some cool pix and details, see http://www.cs.utah.edu/csinfo/slc_utah.html. WHO TO CONTACT Zip me a resume/CV with 3 references in Postscript, ascii, or paper form; email is fine. Jay Lepreau lepreau@cs.utah.edu Computer Science Dept, 3190 M.E.B. http://www.cs.utah.edu/~lepreau/ University of Utah Phone: 801-581-4285 Fax: 801-585-3743 Salt Lake City, UT 84112