To study Computer Science or not?
Recently, a younger relative asked me if they should go into Computer Science. I thought about it for a while. I tried to shrug off some of my bad experiences in the field. Eventually, I settled on this answer: Don't take computer science, but do take it as a minor. I dare say, I'd almost recommend getting rid of computer science as a major discipline at most universities. Here's why. 'Programming' is not the most important. What you are programming is the key. You have to know what you are programming. Hence, why programmers end up having to know everything about your business :P Get a business or finance degree with a minor in computer science if you plan to work in that field. Get an computer engineering degree (as I did) if you plan to work in networking or server side processing. Get a health sciences degree with a minor in computer science if you plan to go into that field. The reality is that the core of programming is problem solving. You'll figure out if you're good at it or not once you take a few courses in school. If you find yourself copying all the assignments, for the love of god, don't go into the field :P This is not a field where you do the same thing every day. This is a field where everyday is a new assignment. And this is not a field where you can just get by and it doesn't affect other people. You will be part of a team. In any case, their are very good programming specific issues, but you should be able to cover those in a few algorithms and data structure courses. There is only a small subset of work that is worthy of a computer science degree on its own. If you plan to work in search or graph theory or any of those more mathematically intensive fields, then you should enroll in computer science. Yet the jobs for those are rare and few and far between. Perhaps only at Google :P What other tidbits of advice would give. Well I am still a young kid in the field, but I've learned a whole lot, from my experiences and from my mistakes. 1. Get involved a lot in university. I made this mistake by not being nearly involved as I would have liked. University is where you will meet your first circle of career friends. Part of this was the reality that my university took on twice its normal load of students... and it just seemed like we were being pushed through like cattle. The other part was my fault of not making as great an effort. 2. Find out what makes you uniquely good. I'm a great programmer. Unfortunately, only other programmers care about code. However, it is strange that few programmers have the communication skills I do. Strange of course... because I had a stutter and still struggle with it on occasion. Nonetheless, that is my selling point and it's taken me a few years to realize it. My future career moves will definitely be customer facing. 3. Try different career roles during your coop terms. I made this mistake of taking on mainly programming roles during my coops. It would have been interesting to try out other roles, like program management... ... So that is my little advice for what it is worth.