I'd have to agree iain here. I am responsible for hiring new Java developers at my company. Myself and one other person do the high-level design and architecture of the software, and then code the larger components leaving the smaller sections to junior programmers. Lately I'm hiring people who have a minimal set of skills because I just need the monkey work done, like textual parsing algorithms and what not. And given a chance, most of these unexperienced recruits end up enjoying what they do and learning to overcome their crappy entry-level position. Leave the hardcore programming to the seniors and the easy stuff to the juniors. 'Nuff said :-)