Hacker News new | ask | show | jobs
by jclos 4971 days ago
I agree entirely and I would just add that if the OP is worried about the time/gain ratio inherent to learning what is essentially an applied field of mathematics he should check if having a minor in software engineering is possible. My bet is that if he is taking a double major in economics and physics, he will be proficient enough in computational thinking after graduation to teach himself theoretical CS once he has a job secured.
1 comments

My main reason for getting a minor in CS would be not being blind to software engineering, I think. Chances are if I want to design a product (or more likely a prototype for a product) I can do that with what I know, and even better after I eventually learn Python or some other more non-web language.

Where it seems a minor would definitely help me is in understanding and designing for the low level systems of a computer. But I don't I would get a minor for this reason alone - if I really needed/wanted to, I could probably learn this stuff on my own.

The thing I'm not sure of how much it will mean on my resume. It would be meaningful if I didn't do this stuff on my own, but I do, so I'm really unsure.

Well ideally there is nothing you could not learn on your own, given sufficient time and resources. It depends a lot on your university I would guess, so the best thing to do would be to ask older students who took CS classes and left. Not only the successful ones, but also the others, if only so you know what not to do. A good way to know what to do is to ask the people who are where you want to be how they arrived here. You should also ask professors for their opinion - they might not know about producing good software, but they almost always know a lot of stuff, including other students that might be able to help you.

Keep in mind though that CS is to Software Engineering what Physics is to Engineering. Getting a CS minor (or even major for that matter) won't make you a better developer, unless you are already a good enough developer that you can absorb some abstract concepts and reapply them in creative ways.