What are some good skills to have on top of computer programming, something that could be used for a job and something that isn't totally obscure. What I mean is like architecture as well as programming. Getting a minor in computer engineering or electrical engineering also sounds like a good idea (or taking graduate courses perhaps?)