I am the Linux system administrator in the Electrical Engineering lab at a large university. We use Solaris servers for lots of cycles, as well as 29 Linux workstations in the lab, which I administer. We use NIS and NFS to keep things as sane as possible. I started this position just over a month ago, but I have learned a lot of what you are fixing to learn. Fortunately, I inherited the shop from competent administrators who designed the system we use.
First thing's first: Everything must be exactly identical! My biggest day-to-day headache is keeping everything exactly the same. It is a bit of headache, but much better than trying to deal with the entropy of dissimilar systems. Definately use a distribution which supports packages that are easy to update. I am most familiar with Debian, and that's what they already use at the lab. Debian's apt tool is very nice for staying updated (security is a concern here). I am not as familiar with the other distributions, but I'm sure Redhat, SuSE, etc have similar systems. This school uses a lot of Redhat, in general. Packages save you a lot of headache!
When I want to install a fresh OS on all the lab machines (my most recent project), I take one machine and make it look exactly like I want it, and then basically tar the whole bastard onto a CD, which we then dump on each machine. I suggest something like this. It's quicker to make a master and copy it, and you are more likely to have identical systems up. YMMV.
Set up ssh (or rsh, if you know that you don't need any security; ssh is just as easy, however) and configure your identity and authorized_hosts so that you can log in to each machine easily. This makes it easy to use shell scripts which automate the same task on each machine and report back. I find myself frequently sweeping across the Linux network running 'who' and this would be difficult if I had to type 29 passwords in a row.
AFIAK, there is currently no tool which makes concurrent administration easier or more automated. (Somebody please prove me wrong, with hyperlink.) I am seriously considering writing a tool which handles this. I want to type a command, and have a program run it on each machine and tell me what they all said. I'd also like a capability that can tell me which machines did not return the 'status quo' so that I could easily connect to them and fix errors. Sort of like expect, except intuitive knowledge that it's talking to 30 machines at once, and can handle error conditions accordingly. Does anybody else need this tool? Care to help?
Oh, and currently I work 28 hours a week (max allowed, but I probably do more like the low 30s) and find myself pretty busy. But I also help admin the Solaris stuff, and, like I said, it is a busy shop. Still, you might want a few more hours per week.
Oh yeah. Don't rush into implementing anything! Read documentation, read HOWTOS, RTFM. Research everything. Nothing sucks more than a hastily-designed system that you have to deal with. I turn in a weekly report, which is very nice because I can explain all the research and design considerations I've made all week, even though I haven't produced anything material.
Anyway, if you get in touch with me (rot13 my email), I can send you stuff that I use here, like documentation on what we do, ISOs of the install CD we use, in-house tools we've made to generate the CD image, etc. It's a pretty busy lab here, so some of it might be overkill for your tasks, but it couldn't hurt.
Ants. (two by two)