I'm on a sticky situation right here. I have almost completed my third year of a mechanical engineering degree and I'm just now realizing that I would prefer working with embedded systems/software. This happened after I start toying around with an Arduino and learned C and Python for fun's sake. I don't dislike my course, but right now I see myself more like working with code and software than designing gears and bolts. I have two options: I could move to a CS degree or a Electrical Engineering degree. I would rather switch to EE, because I would be able to transfer most of the disciplines that I have already completed (things like Calculus I, II and III, Linear Algebra, Physics, Solid Mechanics...), and I wouldn't postpone my graduation too much. As for the CS course, I would only transfer way less disciplines (just calculus I and physics). Also, the CS course on my college is not that good, and the EE is good indeed. My goal is to work with software development (and embedded systems). I know that it's easy for EE's to start working with software, and I've searched Google, Microsoft, Intel careers and found that they do indeed offer positions both for EE's and CS's as software engineers. But yet, maybe a full CS degree would be better for my career. So, do you have any tips? It's true that I could get into software development easily with a EE degree? Or would I be better off going for a CS (even if that would take far more time)?