Yeah programming requires a lot of knowledge of the "inner workings" of computers, and the software that runs on them. Hackers take advantage of this knowledge and do what they can. A good network admin would have an understanding of how hackers exploit software running on a network to take advantage of it, and then try
to prevent it, but hackers will always prevail so programming custom utilities to do backups or maintenance is definitely a plus. If you're decent at math, programming will come naturally to you. You just have to get over that fear of learning something new and dive into your first "Hello World" application. Good luck. I'm trying to be more active on the forums, so if you have any specific questions, feel free to post. I always like to look at the example source, and learn from that... and as far as network tech, "socket programming" is important, and I assume you've read the IP/TCP/UDP/ICMP/DNS (and any other applicable) RFC's?
If not here is the IP protocol to start: http://www.faqs.org/rfcs/rfc791.html
I highly recommend you learn C not C++, C++ is C with added bull shit, that just leads to crappy programming. If you do it in C, and you thought it through, you'll not only have a better understanding of what is going on, but better control of your program too.
and I always like reading about the language itself first:http://en.wikipedia.org/wiki/C_(programming_language)