Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Need Advice: Ditch engineering for CS?

  1. Nov 20, 2011 #1
    I am finding that I like CS, even though my first exposure to it was only one year ago at the age of 26 in a C++ intro class. I've managed to land myself a part-time job with a start-up; I am doing research for the company, working on scripts in Cygwin and Groovy, both of which were totally new to me. I've been using many sources for help, and I get a LOT of help from stack overflow (re: cut and paste, then try to reverse-engineer the copied code to deepen my understanding - I admit that I often use code I don't fully understand, and this makes me wonder if I'd be any good at real development past the level of low responsibility that I have now). I enjoy my job for the most part (it is usually fun, and is only a drag when I feel like I am totally under-qualified for my tasks, am doing repetitive tasks, or when I am dreaming about surfing or nature and I'm stuck indoors).

    I came back to school (City College) to become an engineer (Electrical, Civil, Mechanical, Chemical - I am the most indecisive person you'll meet), but now I find myself wondering if I should just dive into CS and see where it takes me. I AM scared of always being at a desk, but I also realize that many engineering jobs are like this AND at my current job there is some flexibility with my hours (re: I can show up or leave whenever as long as I put in ~8 hours - this is a surfer's dream schedule). I worry sometimes that I'm not meant for software development because I am NOT a person who has been doing it for fun from an early age. I DO, however, love science and math, and I see many parallels between my math classes and programming (re: transpose, arrays/matrices, etc). This makes me wonder if I could make up for my lack of experience with a deeper understanding than some other programmers might have about the actual way in which software and computers work.

    I took two weeks of a SCHEME class last summer, and was really liking it, but I gave it up because I had to rebuild my truck's engine and also had other things to do. I mention this because it is another positive experience I've had with a subject that, if you asked me two years ago, I'd say was not for people who love the outdoors and who want to make a real difference in the world (i.e. the last thing I want to get into)

    Sorry for the long post; I need to apply for transfer in the next two weeks and I want to bounce this off some people with more wisdom than myself:) I worry about: Outsourcing, becoming outdated, not getting hired/ having a job past the age of 50, and, worst of all, realizing 5-10 years down the road that I am tired of programming and that I want to build things but I blew my shot at becoming a more hands-on engineer.

    I have asked this question here before, and was advised to stick with engineering since it's a more concrete skillset that will always be needed. But I needed to ask again, because I love living in SF and there are too many good reasons for me to do CS to dismiss it! I think that if I go with engineering I'll go for EE and get into Power Engineering - I want to get involved with green engineering, and I know that there is a great demand for these folks. The problem is that now that I've considered CS, which in some ways seems like an extremely creative field, EE ( and perhaps all engineering majors!) sometimes seem like number crunching grinds! Also, as a side note, I am really not a "tech" person - quite the opposite. I do love logic though, and I'll work at code intensely to "build" what I've set out to create.

    If anyone cares to share thoughts or opinions, I would greatly appreciate your words. Thank you for your time!
  2. jcsd
  3. Nov 20, 2011 #2
    There is no easy answer. Someone's technical career may very dynamic.

    Having said this, why don't you consider computer engineering?
  4. Nov 21, 2011 #3
    It seems to me you are spending a lot of time thinking about whether your personality is similar to the personalities (or perceived personalities) of other people who are doing CS. Whether someone started writing code when they were 3 or 30 doesn't necessarily predict their success as a programmer or software engineer when they are 50.

    It seems to me that you could be successful in either engineering or CS. Why don't you major in EE or CompE and take plenty of elective classes in CS (or even minor in it).
  5. Nov 21, 2011 #4
    Thanks you guys, you are right, that's probably what I should do. I think I just started feeling lazy, thinking that EE would require more work than CS and that the career path is less conducive to a lifestyle that benefits from flexible scheduling (you can only surf during daylight hours). I was excited that CS was making sense to me and it felt exciting to imagine "going all in" and seeing where it took me. A good, successful friend of mine always says "Play to your strengths", and I have been surprised by my strength in programming and I want to understand computer logic more. Though the experience has not dissuaded me from pursuing EE, I took a circuit analysis class and it kicked my butt. Granted, it was online (never again!), I slacked off, and I did get (and still am) excited by the prospect of understanding the applications of electricity and magnetism. Honestly, a huge part of my conflict is my fear of the lack of free daylight hours that comes with most professions. I want to be more than a weekend surf warrior!
  6. Nov 21, 2011 #5
    If it's programming you enjoy, programming experience + engineering degree will open up a number of doors for you. People with knowledge and experience in engineering and programming are needed to create applications for engineers. So really, you could major in engineering as you are now, continue working at your current job, and end up in a similar position, just working in a different, more specialized field (that will probably come with much better pay and job security).

    That being said, if indecision is your enemy, I'd stay away from majoring in CS. There are hundreds of sub-fields within that field, from software engineering, to AI, to cryptography. You'd have to choose a specialty on top of your degree.

    Ultimately, you just have to figure have to ask yourself what it is that makes you want to switch to CS. Do you just enjoy programming? You can do that anywhere, stay in your current field or major in software engineering. Are you more interested in how computers work? Major in computer engineering. Are you more interested in mathematics and figuring out how to use computers to solve problems? Change your major to CS or Computational Mathematics.
  7. Nov 21, 2011 #6
    Engineering has just as many sub fields...
  8. Nov 22, 2011 #7

    `Are you more interested in mathematics and figuring out how to use computers to solve problems? Change your major to CS or Computational Mathematics.`

    That's me exactly

    You know, I like that there are hundreds of sub-fields. Honestly, I'm not as excited about "programming" as I am about what you've said so well: `mathematics and figuring out how to use computers to solve problems`. I came back to school to get a set of tools that I could use in the real world. I can't imagine a more powerful set of tools then computing. Where else can you build things and use them, every day? Where else is there such a direct and rapidly visible application of ideas learned in mathematics and other subjects? It just seems so limitless...
    Last edited: Nov 22, 2011
  9. Nov 22, 2011 #8
    I must add that every time I say that I want to study CS, I remember that I want to be able to build physical things too, affect the environment (originally my goal was to work in the 3rd world on civil projects and surf when I could). Now, computer engineering...That just sounds so hard. Part of what attracts me to CS is that, though it won't be easy, it is exciting because it is so abstract...such a pure exercise of the mind. But I don't want to be useless out of the office. Computer engineering.... I have to write my personal statement tomorrow.
  10. Nov 22, 2011 #9
    True. For some reason I thought he had said in his original post that he was looking to get into electrical engineering. I know that there are even many sub-fields within that arena, but at least that would give him SOME direction. So scratch that point.

    Really, I think you (OP) really just need to focus on what you want out of a career in a more general sense. Then, try to find a field that matches those wants.
  11. Nov 22, 2011 #10
    These bullets describe my career goals:

    -To be able to be creative
    -To be able to build useful things that improve the world
    -To have a schedule that is as flexible as possible
    -To be as mobile as possible (this means I'd like to be able to work from anywhere, and be able to find work anywhere)
    -To make enough money to travel and live a modest but comfortable life
    -To be able to fulfill the above goals for as long as I need to work

    CS? CE? EE? Thoughts?
  12. Nov 22, 2011 #11


    User Avatar
    Science Advisor

    Even with something like CS although you could work in a mobile setting by doing everything using remote software, you are going to have to do a lot of work on site first before you get that luxury in many cases.

    Every single degree you have mentioned will have opportunities that meet your requirements. With regards to getting jobs in non "major-city" areas might be a challenge though, but they do exist.

    Also with regarding flexible schedules: if this is super important don't go into software development: in this environment this term is an oxymoron. It's probably the same in engineering but I haven't worked in that environment so I best not speculate.

    Also please realize that a lot of the work you do at the start is not really that creative. You will have to learn quite a lot to not only know what you are doing, but to also move into a position that allows you to do this.

    Also creativity can be a mixed bag in terms of its meaning: sometimes the creative element is really very subtle and to some people it won't come across as being creative. Sometimes it's the little trick that you coded up that is the element of creativity and not designing the architecture extensions for a complex platform.

    In saying the above, the courses you have selected in my opinion are all good choices. They all provide very specific skillsets which is important because that's what many jobs ask for (the notion of a jack-of-all-trades knowledgeable of everything, master at none is not good for employment prospects). They are also pretty tough degrees and getting through a hard degree and sticking it out shows an employer a lot about your character.
  13. Nov 22, 2011 #12
    I have to agree with the poster before me. These are very vague objectives. Also, if you're looking for a job with a flexible schedule and where you can constantly travel (this seems to be more important to you than any of the other criteria based on the number of times you brought it up), you're getting into the wrong field. Unless you live off of inventions and patents, chances are you're going to be working a 40+ hour work week in any of these fields. You could also go into consulting and make your own hours, but chances are you are going to end up working even longer hours that way anyway.

    Why go into Engineering or Comp Sci?


    - You like to figure out how things work
    - You like to create things
    - You enjoy thinking logically/mathematically
    - You like being deeply competent in a subject
    - You enjoy learning (because what you'll do school will kind of be like wading in the shallow end of the pool)
    - On that note, you're a good self-teacher
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook