I find it rather disturbing the UNIX ideal that sysadmins should be programmers. The opinion seems to be that it is perfectly ok for someone to need to do a fair bit of programming work to solve a system problem.
Not only have I spent over 10 years as a professional *nix system administrator, I currently work training professional system administrators. I don't know *anyone* who thinks that a system administrator should be a programmer. That being said, shell scripting is a tool of the skilled system administrator. Writing simple scripts is nothing like programming. While shell scripts can be quite complex, most that a system administrator would write are very simple. Really just a series of commands.
I know more than a few programmers that are abysmal at system administration...
And how! The vast majority of developers I know are terrible system administrators. There is a reason we keep them as far from the production systems as possible. The problem is that they think they do know system administration, but they have a completely different mindset.
...this attitude smacks of the "People should just get down and code what they need," thing. No, not really. Not everyone should have to learn that skill, and you could well be excluding people you want by requiring it.
Again, I don't know anyone who thinks this. People should learn the tools they are being paid to work with. That includes shell scripting. Now, some shops like to write a lot of in house tools in perl or python and will look for people skilled in system administration as well as those languages. Most big shops have a small number of sys admins who can write such tools. Don't confuse the tools team with the rest of the sys admins. This is a specialized role.
Also there's the simple matter that GUIs work better for unfamiliar situations. While it might be easy to just say "Well a good admin should know about this," that is rather stupid. Nobody knows everything, you never get someone with limitless experience. Part of systems administration is being able to solve novel problems.
I could not disagree more. While a GUI might help someone plod through without really understanding what they are doing, this is not a good thing. I agree that no one knows everything. However, a skilled sys admin can research and learn new things when needed. Most GUIs just get in the way of learning and deeply understanding. Then when something doesn't work as expected, you are SOL. Or you miss a subtle issue that bites you in the ass later.
I'd like to point out that I use GUI tools all the time. However, I make a point of learning the technology I am paid to understand. When I use a GUI it is because it is the best or most convenient way to get something done. I can also tell you all the places on the system that GUI changed and what to do if something went wrong.
That can make it much faster to deal with something you are not familiar with. This is important and useful in real IT work.
I have worked in IT for long enough to know this isn't true. The simple reality is that most people working in IT suck. Seriously. I have interviewed and worked with more than enough of them. They use GUIs as crutches. They are over worked and have no time to learn anything even if they were so inclined. They have a very shallow understanding of the technology they are paid to understand. They choose "easy" tools instead of tools that require learning. It is the sad state of things that truly skilled system administrators are a rare find.
Should everything be CLI? Of course not. Should everything be GUI, of course not. However, to say that GUI tools are better because you don't have to be familiar with them is a very scary attitude if you ask me.