Re: "as long as they understand the fundamentals of how a computer works"
I would consider most of that "fundamentals," yes...but that's just scratching the surface.
I'd add understand file layouts. Specifically how files are organised on a hard drive; the difference between a block of data and and file system information. (Raw storage versus indexes, journals, etc.) The basics of various partition types, limits, features, etc. Why you have to "eject" removable storage on most systems (delayed write!)
Understanding how applications use tiers of memory, from L1 up to (at least) a basic understanding of ASLR in main memory. The concepts of tiered storage, deduplication (memory in re: virtualisation and block storage/file storage for the physical stuff.) DAS versus NAS versus SAN.
ON the networking side being able to say "synchronisation, synchronisation, enquire" is cute, but I want an understanding from my PFYs regarding "buffer bloat," and what the various different "experts" in the field are still arguing about. (Yes, buffer bloat is still a debated topic.) I want them to be able to explain spanning tree, network reconvergence, broadcast domains and VLANS.
They need to know about MAC addresses. Specifically that they are emphatically not globally unique, that the manufacturer is part of the beginning of the address and that virtualisation generates virtual MACs for each vNIC. They need to be aware of issues surrounding MAC address conflicts and what the symptoms are.
I want an understanding of system services, scheduled tasks, how to avoid resource starvation cascades (system-local, but especially in auto-failover virtualised environments!) This carries over from the simple system utilisation into networking of course; an understanding of everything from link saturation to overloading network gear with too many connections is pretty “fundamental.”
I would also expect a basic understanding of scripting, even if they aren’t very good at it (yet.) This would include the concept of data extraction from one application, parsing that data for another application, injecting it and analysing the result. (Chaining.)
I think knowledge of how a hypervisor works, including a basic understanding of things like VT and IOMMU are pretty fundamental. An understanding of basic electrical theory (including digital to analogue and analogue to digital signalling) is pretty important.
I’d also toss in an understanding of how graphics are output from display subsystems; why some remote applications are “screen scrapers,” while others can use “mirror drivers” and still others actually send raw data and expect the client application to construct a graphical representation locally instead of dragging imagery across.
Without the above knowledge as a bare minimum, I don’t think you can survive proper SME systems administration. You need to know the fundamentals of “computing.” Not just “that application, shell or OS.” You don’t have a team to rely on; there are no storage specialists, network specialists and so forth. As SME sysadmins, we’re it.
Oddly enough, I find the above level of information pretty common for sysadmins in their second year out of our local polytechnic. I’d say the city of Edmonton produces these folks at a rate of about 30 per year. (From a graduation size of about 90 per year.)
Oh, and yes, they are almost universally GUI-grown. They know some command line, but the young folk I encounter who know all of the above things to a reasonable degree aren’t steeped in the dark arts of Bash. They don’t run slackware on their home PC, and most of them use an iPhone.
Get one that’s willing to learn, teach them the power of the command line…and you’ve got a right proper sysadmin there.