Think of it this way:
If you spend 5 years becoming a master programmer and can code any exploit to your heart's content, how are you going to get it onto the affected system?
1. Social engineering
2. Network attack/remote access
Your programming skills are useless if you have no way to dump your exploit onto the affected box. So personally, I would say understanding the networking technologies inside and out while touching up on your coding in the background is the way to go. Note that I do not say "understanding the networking technologies" in the sense that you know what routes and ping tests are for, but rather in the sense that you have actually used and configured the physical equipment (enterprise routers, switches, firewalls, etc), understand how IT interacts with the business, while also having a strong understanding of how one might go about (for example) changing their ISP, integrating an outside company into an existing mail domain, etc. That kind of stuff you will only learn as a network admin/engineer IMO and it is invaluable because it teaches you the inner workings of the IT world, as well as all the holes within them...


