Многое зависит от уровня знаний системного администратора и требования по работе. Если речь идет о человеке, который обслуживает небольшую организацию, скажем, 10 компов и 1 сервер, то знания программирования не нужны. Если речь идет о более сложной работе, например обслуживание удаленных серверов, тогда знания в программировании очень помогут для написания скриптов, автоматизирующий рутинные задачи.
Думаю нужно. На мой взгляд любой айтишник должен уметь программировать хотя бы на уровне базовых вещей. Но я могу ошибаться так как не являюсь ни опытным сисадмином ни опытным программистом.