A course in Systems Administration. I never thought I would be a Computer Scientist major. I took Honor Comp Sci as a Junior in high school, then AP as a senior. It seemed natural to continue in college and I took a course in C++ as a freshman. It wasn’t until I transferred to Columbia University that Computer Science became my de facto major. And then it wasn’t until I took Intro to Artificial Intelligence that I decided that I really didn’t like AI, so I chose my “track” or concentration, Systems. We didn’t have a specific SysAdmins course. When I started looking at job posting, the pure programming ones didn’t really stand out like the SysAdmins did. Funny how things work out.
The course topics:
- The Shell
- The Filesystem
- Compiling Software from Scratch
- User and Group Authentication
- UNIX Power Tools
- Shell Scripting
- Network services: DNS, DHCP, SMTP, HTTP
- System V Init; Getting Involved
- Desktop Linux Technologies (X11, udev, D-Bus..)
- “The Touch”: Solving Problems You Know Nothing About
Of all the topics I think the last is the really important one. Being able to listen to a user, ask the right questions, and then figure out a system you have never seen or heard about is a major part of a SysAdmin’s job.