3 ms·
I intend to recommend to my kids (and anyone that ever asks my thoughts) to ignore doing a CS degree and do some form of engineering undergraduate degree and th
by ErrantX 17y ago
I intend to recommend to my kids (and anyone that ever asks my thoughts) to ignore doing a CS degree and do some form of engineering undergraduate degree and then do CS as your postgraduate degree.
An engineering degree was the best choice I ever made (my particular field was electronics but I don't think it really matters) as it instantly gave me a lot of credibility and employability (my current employer met me for lunch to check I wasn't a psycho and hired on the spot).
This does have relevance to your question however: engineering taught me a lot about working hard on a project to get it up to scratch, iterative development, management (they taught us lots of management stuff - 60-70% of my peers went on into management post-grads.jobs), team work, presentations (SUCH and important skill).
It definitely prepped me better to run a startup than a CS degree would have. At the moment I am working on my startup idea at the same time as finishing up (well, 10 months left) a post graduate masters in CS from the Open University (distance learning; but the seriously top notch stuff). The end result should be maximum employability with solid experience AND CS training :D
It's not for everyone, and CS is a great choice too (if you pick a good one). But it's worth considering strongly as an option!
As I said I'm still "developing" this approach; in a few years we'll see how it really turns out!
EDIT: incidentally I think a really good Electronic Engineering degree can teach you a lot of great hacker skills. Skills like automatically wanting to look inside the "black box" to find out what your playing with come naturally to me where I know "pure CS" types sometimes lose track (the down side is I am shaky on some of the pure CS...)
- alexgartrell 17y agoFrom my perspective at CMU, Engineers here tend to learn processes and heuristic approaches to problems. Computer Scientists are forced to learn to do things with almost no heuristic guidelines whatsoever. The net result is less likelihood of experiencing a problem in real life and saying "I can't do this, I didn't take that class!" which happens all the time. Beyond that, there's a heavy emphasis on the nitty-gritty technical stuff like writing an operating system and implementing malloc and even buffer overflows. You really go all the way down to system architecture basics and all the way up to functional programming/algorithms/logic/etc. I think the breadth is very helpful in that it gives you a big "tool kit" for when you need to attack much more specific problems later in life.
- ErrantX 17y ago> The net result is less likelihood of experiencing a problem in real life and saying "I can't do this, I didn't take that class!" which happens all the time. With all due respect that is the kind of attitude I wouldnt expect in an Engineer (and possibly see in a CS graduate). It probably depends largely on the course. I was taught5, in a very techncal way, how to approach a problem you have no experience in (in fact this was the third lecture of my first semester - and they ground it into use over the course of the following year). I'm perfectly happy being thrown ASP code (for example, never coded in ASP) and told to fix it because of that. The system architecture stuff is what I am missing; and it's been a bit tough to catch that up. Luckily it;s not been essential so far but I can see where it might become a problem in the future. At the end of the day I guess it comes down to which approach syncs more with you as an individual - and where you think you can gain the most help/skills.
- b3b0p 17y agoThis is one of the two things I am now wishing I would have done. When I finished my CS degree many recruiters told me they don't hire CS grads, they hire engineers and teach them to program. I would have done an Electrical Engineering degree if I could do it again. The other mistake I made was transferring back home to the state school. I didn't want to go in debt from school, which was what I was about to do. I started at New Mexico Tech (which except for being in the middle of no where is an awesome hacker school imo, it should be on the list; they control the VLA on campus btw).
- clicks 17y agoWhat are your thoughts on Computer Engineering? ErrantX: I'd like to hear your thoughts on this as well (you mentioned you were an EE)
- ErrantX 17y agoHonestly, never really come across it (got any examples so I can browse the content?). I imagine that might combine the best of both worlds; but that's just from the name :)
- clicks 17y agoHere you are: http://www.ece.cornell.edu/ugradhndbk/#CommonCurriculum http://www.ece.cornell.edu/ugradhndbk/#CommonCurriculum http://www.ee.duke.edu/undergrad-education http://www.ee.duke.edu/undergrad-education http://www.ele.uri.edu/ugprog/computer/curriculum/ http://www.ele.uri.edu/ugprog/computer/curriculum/ Computer Engineering (CE) also sometimes at some institutions goes by the name of Electrical and Computer Engineering (ECE). My hunch is they are the one and the same.
- ErrantX 17y agoA lot of that does look very similar to the degree I did (it was a Electronic and Embedded Systems and Engineering so had a little more focus on the digital). In fact the only huge difference was more "electronics" work and little less pure maths (but more physics and chemistry). I guess my degree was pushing into the CS arena and CE is pushing the other way. The first of your link looks like a perfect course for me :D