The new forums will be named Coin Return (based on the most recent vote)! You can check on the status and timeline of the transition to the new forums here.
The Guiding Principles and New Rules document is now in effect.

Help me plan my [CAREER] in computers

RagixRagix Registered User regular
edited March 2009 in Help / Advice Forum
First, some background:
-I'm 17 years old [18 in May]
-I have a driver's license and could acquire a car easily if needed
-have a PET score of 711/800 [Israeli equivalent of the American SAT exam] which means I over-qualify for studies of my favourite subject..

Computer Science D:

As a subject, Computer Science has a relatively low acceptance score [around 650-690], and my English scores in PET skip me the English prep courses in University.

So, as a high-schooler who's about to graduate in 4 months, I planned to go straight to university 3 months after graduation, because if I don't, I'll have to wait a whole year for the winter semester to apply for computer science.

It all seems too good and extremely easy. Is it?
Israel has been going through a very bad workforce collapse [unemployment here is 10^10 times worse than in USA] and it has been eating at the programming industry for quite a while. Above that, I don't know what kind of jobs I might end up doing with a degree in computer science [I'm planning for an MA].

People tell me I have the potential to excel [which means I could land a job easily] but I don't count on it. So as a normal, regular guy with an innocent interest in computers and programming mainly, what fields of work could I land assuming I get the degree?

Mainly, what kinds of programming are there to choose from? I heard we can specialize later on in our first degree in a field like cryptology, image and video analysis, networks, quantum shit [don't have an idea what's that about], plus there are other main 'branches' of programming like Bio-informatics, computer engineering, and other variants of shit.

Could anyone with experience guide me in this? I believe I'm thinking way ahead of myself for now, but I usually prefer to have a plan laid out before I step ahead and end up in a limited choice or even worse. WORSE. :|

tl;dr: guy wants guidance in computer programming field, hal;p

Ragix on

Posts

  • Jimmy KingJimmy King Registered User regular
    edited March 2009
    Here in the US nearly every company employs programmers. Most programming jobs are not glamorous or exciting or cutting edge, most are developing applications used internally for a company. They are jobs, though, and someone who truly enjoys programming can find something enjoyable and challenging in nearly any of them.

    Jimmy King on
  • RagixRagix Registered User regular
    edited March 2009
    Jimmy King wrote: »
    Here in the US nearly every company employs programmers. Most programming jobs are not glamorous or exciting or cutting edge, most are developing applications used internally for a company. They are jobs, though, and someone who truly enjoys programming can find something enjoyable and challenging in nearly any of them.

    Why aren't they 'glamorous' or 'exciting' or 'cutting edge' ?

    Ragix on
  • AlphariusAlpharius Registered User regular
    edited March 2009
    One of the particular advantages of CS in Israel is the excellent R&D tech transfer environment. If you do well in your degree you could work on some amazing postgrad stuff and then go on to have a great career in R&D/development.

    Alpharius on
    Check out my 40k blog: WarHamSandwich
  • Joe ChemoJoe Chemo Registered User regular
    edited March 2009
    Try to combine your love of CS with another subject you enjoy. Think interdisciplinary. You like biolochem/genetics? Bioinformatics.

    It'll give you more options in the future.

    Joe Chemo on
  • admanbadmanb unionize your workplace Seattle, WARegistered User regular
    edited March 2009
    Ragix wrote: »
    Jimmy King wrote: »
    Here in the US nearly every company employs programmers. Most programming jobs are not glamorous or exciting or cutting edge, most are developing applications used internally for a company. They are jobs, though, and someone who truly enjoys programming can find something enjoyable and challenging in nearly any of them.

    Why aren't they 'glamorous' or 'exciting' or 'cutting edge' ?

    A large percentage of programming jobs (and the large numbers of them are the reason why CS graduates still have a damn good employment rate) are not front-of-the-pack, cutting-edge stuff. They're not web startups with a clever idea and an innovative framework; they're not even R&D for a large corporation. Most of them are the unexciting-but-necessary work of doing development and upkeep on intranet software: applications that will never see a computer outside of their home office.

    For example, a large insurance company I visited recently (on a CS department visit, mind you) had over 600 applications running on the intranet, all developed by their 200+ person IT department. None of these programs are profit makers; they're all tools for the profit makers. Most of them run languages that CS students consider dull, even archaic: Java, C, even COBOL, and a wide variety of tools/small languages that few have ever heard of.

    To put it another way: at a job like that, you're doing the same thing everyone else is doing. You're writing or managing billing software or account management or what-have-you software to be used by the sales or marketing department.

    admanb on
  • AlphariusAlpharius Registered User regular
    edited March 2009
    Joe Chemo wrote: »
    Try to combine your love of CS with another subject you enjoy. Think interdisciplinary. You like biolochem/genetics? Bioinformatics.

    It'll give you more options in the future.

    This is very good advice - just don't let the interdisciplinary part dilute the developmenht of your technical skills. Be wary of becoming an interdisciplinary person who isn't expert enough to do anything particularly well.

    Alpharius on
    Check out my 40k blog: WarHamSandwich
  • HlubockyHlubocky Registered User regular
    edited March 2009
    There are fun, cutting-edge jobs out there too. I have been working for a private option trading firm writing software for the last 4 years or so. What we write is used directly by the traders to make money. The thing about computer science is, you want to go to a school with as good of a reputation as you can. Sure, your skills are what are going to get you a job, but going to a great school with a good reputation will get you in the door.

    Hlubocky on
  • RagixRagix Registered User regular
    edited March 2009
    ' wrote:
    -[arlequin;9276834']One of the particular advantages of CS in Israel is the excellent R&D tech transfer environment. If you do well in your degree you could work on some amazing postgrad stuff and then go on to have a great career in R&D/development.

    I know Israel does well on the hi-tech side.. what examples of 'amazing postgrad stuff' are there?
    What kinds of research do CS people usually work with anyway?
    admanb wrote: »
    A large percentage of programming jobs (and the large numbers of them are the reason why CS graduates still have a damn good employment rate) are not front-of-the-pack, cutting-edge stuff. They're not web startups with a clever idea and an innovative framework; they're not even R&D for a large corporation. Most of them are the unexciting-but-necessary work of doing development and upkeep on intranet software: applications that will never see a computer outside of their home office.

    For example, a large insurance company I visited recently (on a CS department visit, mind you) had over 600 applications running on the intranet, all developed by their 200+ person IT department. None of these programs are profit makers; they're all tools for the profit makers. Most of them run languages that CS students consider dull, even archaic: Java, C, even COBOL, and a wide variety of tools/small languages that few have ever heard of.

    To put it another way: at a job like that, you're doing the same thing everyone else is doing. You're writing or managing billing software or account management or what-have-you software to be used by the sales or marketing department.

    How much do you make monthly?
    Hlubocky wrote: »
    The thing about computer science is, you want to go to a school with as good of a reputation as you can.

    My PET score ranks me amongst the top 3% or 5% of the country's population, so by nature I applied to the highest institute in Israel [the Technion].

    Ragix on
  • Dunadan019Dunadan019 Registered User regular
    edited March 2009
    my advice would be not to go into computer science but into computer engineering. it takes some of the basic coding and logic from comp sci and merges it with the relevent part of an EE degree.

    if you are that good at math, there is no reason to not go for a degree that has engineer in the title unless you just want to stay in school forever (perfectly fine but doesn't make much $$)

    Dunadan019 on
  • Jimmy KingJimmy King Registered User regular
    edited March 2009
    Ragix wrote: »
    admanb wrote: »
    A large percentage of programming jobs (and the large numbers of them are the reason why CS graduates still have a damn good employment rate) are not front-of-the-pack, cutting-edge stuff. They're not web startups with a clever idea and an innovative framework; they're not even R&D for a large corporation. Most of them are the unexciting-but-necessary work of doing development and upkeep on intranet software: applications that will never see a computer outside of their home office.

    For example, a large insurance company I visited recently (on a CS department visit, mind you) had over 600 applications running on the intranet, all developed by their 200+ person IT department. None of these programs are profit makers; they're all tools for the profit makers. Most of them run languages that CS students consider dull, even archaic: Java, C, even COBOL, and a wide variety of tools/small languages that few have ever heard of.

    To put it another way: at a job like that, you're doing the same thing everyone else is doing. You're writing or managing billing software or account management or what-have-you software to be used by the sales or marketing department.

    How much do you make monthly?
    It varies greatly depending on the size of the company and the local job market. Where I am the average pay for a decent developer is in the $65k-$75k/year range. Smaller companies are usually paying a bit less, commonly more in the $50k/year range, while some of the more high tech/newer stuff, such as the new Android development shop T-Mobile is opening, has pay well over $100k/year.

    Jimmy King on
  • matt has a problemmatt has a problem Points to 'off' Points to 'on'Registered User regular
    edited March 2009
    The fact that you're entering college when the job market is scraping the bottom is a good thing. By the time you leave college, you'll have the most current knowledge in your subject, and the market will be rebounding and hiring again. Looking at the current market to plan your future education is ok, but you can't base your decision solely on what's going on now.

    matt has a problem on
    nibXTE7.png
  • RagixRagix Registered User regular
    edited March 2009
    Jimmy King wrote: »
    It varies greatly depending on the size of the company and the local job market. Where I am the average pay for a decent developer is in the $65k-$75k/year range. Smaller companies are usually paying a bit less, commonly more in the $50k/year range, while some of the more high tech/newer stuff, such as the new Android development shop T-Mobile is opening, has pay well over $100k/year.

    And based on what, do people get started on high-end jobs like that? [I'm really really interested in robotics and programming for mechanized machines]

    Dunadan019 wrote: »
    my advice would be not to go into computer science but into computer engineering. it takes some of the basic coding and logic from comp sci and merges it with the relevent part of an EE degree.

    if you are that good at math, there is no reason to not go for a degree that has engineer in the title unless you just want to stay in school forever (perfectly fine but doesn't make much $$)
    The fact that you're entering college when the job market is scraping the bottom is a good thing. By the time you leave college, you'll have the most current knowledge in your subject, and the market will be rebounding and hiring again. Looking at the current market to plan your future education is ok, but you can't base your decision solely on what's going on now.

    See, this is the kind of shit I'm afraid of.
    I'm pretty good with math and physics, and I have an interest in computers. But I'm afraid I might end up in a career that pays shit when I could be making a lot more have I taken another choice in university.

    I would learn astrophysics had I known it'd net me a big number of hard-earned cash in a job at NASA, but I can't guarantee the job and I don't know how one goes about finding one. [I don't have any preferences in careers, everything from biology to physics highly interests me, even literature]

    How does someone make a choice regarding something like that?? :x

    Ragix on
  • matt has a problemmatt has a problem Points to 'off' Points to 'on'Registered User regular
    edited March 2009
    If you're basing your career choice solely on money, you probably won't ever be happy. It's kind of a balance between what you like to do, what you're good at, and what will pay decently. Getting a more general degree, like in English, will give you more choices for careers, but they won't pay as well as one that you'd get with a specialized degree, like in astrophysics. Any degree is better than no degree though. Well, any degree that isn't an Art degree...

    Also, as you earn your degree, and get closer to completing it, your school should offer job placement help, or help finding internships. Internships can easily turn into jobs once you graduate, as long as you don't screw up in the internship of course.

    matt has a problem on
    nibXTE7.png
  • Jimmy KingJimmy King Registered User regular
    edited March 2009
    Ragix wrote: »
    Jimmy King wrote: »
    It varies greatly depending on the size of the company and the local job market. Where I am the average pay for a decent developer is in the $65k-$75k/year range. Smaller companies are usually paying a bit less, commonly more in the $50k/year range, while some of the more high tech/newer stuff, such as the new Android development shop T-Mobile is opening, has pay well over $100k/year.

    And based on what, do people get started on high-end jobs like that? [I'm really really interested in robotics and programming for mechanized machines]
    A combination of luck, being good at what you do, and being able to PROVE you're good at what you do. Usually you don't start with a high end job like that, you start as a junior developer getting that low end pay or less. You then prove to both yourself and your boss that you are good and not just another half assed developer some college churned out because, well, there are a lot of bad developers out there. Then your boss either moves you up the ladder or you start looking elsewhere, preferably with a portfolio of apps you have developed on your own in your free time, seeing as how you can't show your code from your old job and possibly not even the end result, to your potential new employer. This is how it works out in the real world. The chances of starting right off in a high paying job with a fancy title are very slim. If you want to have a chance of that at all, start working on stuff now. Don't wait for school to teach you to program or whatever. Start working on your own projects, get involved in some large open source projects, etc.
    Ragix wrote: »
    Dunadan019 wrote: »
    my advice would be not to go into computer science but into computer engineering. it takes some of the basic coding and logic from comp sci and merges it with the relevent part of an EE degree.

    if you are that good at math, there is no reason to not go for a degree that has engineer in the title unless you just want to stay in school forever (perfectly fine but doesn't make much $$)
    The fact that you're entering college when the job market is scraping the bottom is a good thing. By the time you leave college, you'll have the most current knowledge in your subject, and the market will be rebounding and hiring again. Looking at the current market to plan your future education is ok, but you can't base your decision solely on what's going on now.

    See, this is the kind of shit I'm afraid of.
    I'm pretty good with math and physics, and I have an interest in computers. But I'm afraid I might end up in a career that pays shit when I could be making a lot more have I taken another choice in university.

    I would learn astrophysics had I known it'd net me a big number of hard-earned cash in a job at NASA, but I can't guarantee the job and I don't know how one goes about finding one. [I don't have any preferences in careers, everything from biology to physics highly interests me, even literature]

    How does someone make a choice regarding something like that?? :x
    As has already been said, if your job pick is all about money, you probably aren't going to be happy. There's no way to guarantee that you're going to get huge amounts of money no matter what and even if you do, spending 40 or more (generally more, a lot more, in those high paying jobs) of your week doing something you hate is going to outweigh nearly any amount of money.

    Jimmy King on
  • Dunadan019Dunadan019 Registered User regular
    edited March 2009
    Ragix wrote: »
    Jimmy King wrote: »
    It varies greatly depending on the size of the company and the local job market. Where I am the average pay for a decent developer is in the $65k-$75k/year range. Smaller companies are usually paying a bit less, commonly more in the $50k/year range, while some of the more high tech/newer stuff, such as the new Android development shop T-Mobile is opening, has pay well over $100k/year.

    And based on what, do people get started on high-end jobs like that? [I'm really really interested in robotics and programming for mechanized machines]

    Dunadan019 wrote: »
    my advice would be not to go into computer science but into computer engineering. it takes some of the basic coding and logic from comp sci and merges it with the relevent part of an EE degree.

    if you are that good at math, there is no reason to not go for a degree that has engineer in the title unless you just want to stay in school forever (perfectly fine but doesn't make much $$)
    The fact that you're entering college when the job market is scraping the bottom is a good thing. By the time you leave college, you'll have the most current knowledge in your subject, and the market will be rebounding and hiring again. Looking at the current market to plan your future education is ok, but you can't base your decision solely on what's going on now.

    See, this is the kind of shit I'm afraid of.
    I'm pretty good with math and physics, and I have an interest in computers. But I'm afraid I might end up in a career that pays shit when I could be making a lot more have I taken another choice in university.

    I would learn astrophysics had I known it'd net me a big number of hard-earned cash in a job at NASA, but I can't guarantee the job and I don't know how one goes about finding one. [I don't have any preferences in careers, everything from biology to physics highly interests me, even literature]

    How does someone make a choice regarding something like that?? :x

    simply put, what do you like and how smart are you.

    you like physics and math and are real smart, go into engineering.

    you like writing and literature and are real clever, go into english.

    you like coding and logic and are smart, go comp sci.

    engineers will always be needed since they are the ones that actually build things and they make a decent wage.

    at the very least you can easily move down from engineering to compsci if you end up not liking it.

    Dunadan019 on
  • TheDragonTheDragon Registered User regular
    edited March 2009
    Ragix wrote: »
    Jimmy King wrote: »
    It varies greatly depending on the size of the company and the local job market. Where I am the average pay for a decent developer is in the $65k-$75k/year range. Smaller companies are usually paying a bit less, commonly more in the $50k/year range, while some of the more high tech/newer stuff, such as the new Android development shop T-Mobile is opening, has pay well over $100k/year.

    And based on what, do people get started on high-end jobs like that? [I'm really really interested in robotics and programming for mechanized machines]

    Dunadan019 wrote: »
    my advice would be not to go into computer science but into computer engineering. it takes some of the basic coding and logic from comp sci and merges it with the relevent part of an EE degree.

    if you are that good at math, there is no reason to not go for a degree that has engineer in the title unless you just want to stay in school forever (perfectly fine but doesn't make much $$)
    The fact that you're entering college when the job market is scraping the bottom is a good thing. By the time you leave college, you'll have the most current knowledge in your subject, and the market will be rebounding and hiring again. Looking at the current market to plan your future education is ok, but you can't base your decision solely on what's going on now.

    See, this is the kind of shit I'm afraid of.
    I'm pretty good with math and physics, and I have an interest in computers. But I'm afraid I might end up in a career that pays shit when I could be making a lot more have I taken another choice in university.

    I would learn astrophysics had I known it'd net me a big number of hard-earned cash in a job at NASA, but I can't guarantee the job and I don't know how one goes about finding one. [I don't have any preferences in careers, everything from biology to physics highly interests me, even literature]

    How does someone make a choice regarding something like that?? :x

    You have to decide whether you want to focus on the software side, or the hardware/machine-level software side. When I was entering university, I loved computer science, but decided to go for computer engineering since it's more "respected" and I thought the degree would be worth more. I haaaated it. I didn't know what I was getting into. Computer engineering will focus a lot on physics and hardware as the years go on, with some programming but not near the depth of a comp sci degree. Comp sci will teach you programming paradigms, theory, show you how to architect it, and make you into a specialist. Anybody can write code, from those who pick up a book, to those who take a college course, to computer engineers, but you'll know how to architect it and write great code. If you see yourself programming and not writing machine-level code, you'll want a computer science degree.

    After a year, I switched to comp sci and had a hell of a time getting in. My shitty marks in engineering almost prevented me, even though I had stellar marks from high school. But I proved myself and ended up with a great GPA, got the interviews after graduation and landed a great job. And throughout those years I loved what I was doing and learning at school.

    Plus, I think there's a lot more jobs for computer science graduates than computer engineering grads. I have friends from first year who have had a tough time finding a job after graduation.

    Do what you love, and the money will come. If that's engineering for you, great. Whatever you choose, if you enjoy it, you'll immerse yourself in it, be good at it, and you'll be able to find a good job because of that, in my optimistic opinion.

    Oh, and another bonus to computer science is even without a job, you can write code on your own and put it up online for practically nothing. You could start your own company. And it's pretty cool to be able to make computers do what you want them to do :)

    TheDragon on
  • Monolithic_DomeMonolithic_Dome Registered User regular
    edited March 2009
    TheDragon wrote: »
    Oh, and another bonus to computer science is even without a job, you can write code on your own and put it up online for practically nothing. You could start your own company. And it's pretty cool to be able to make computers do what you want them to do :)

    This. So hard. I love programming because it breaks out of the catch-22 of "experience necessary." You want experience? Go code stuff. Go work on your favorite open source project. Build that application you wish existed. Write an add-on or a plugin or an extension to something.

    Then when it comes to interview time, show off all the great stuff you've done. It shows your potential employer that (1) you love coding, and (2) you can get stuff done.

    You would not believe how much just those two things put you ahead of most people who apply for entry-level CS jobs.

    Monolithic_Dome on
    [SIGPIC][/SIGPIC]
  • ScooterScooter Registered User regular
    edited March 2009
    Speaking as someone who spent 4 years on a Comp Eng degree then transferred for 2 years for a Comp Sci degree (graduating this spring, finally), Comp Eng is much harder than Comp Sci. CE has you learning almost all the stuff CS does, then add on a whole bunch of higher-level math and physics. When I have trouble programming something, it's usually because I just made a syntax mistake or missed some trick. My trouble learning CE stuff tended more towards me not actually being able to understand what was going on.

    I think the things I learned about how computers actually work was interesting and gives me a slight step up over other CS guys, but I was barely scraping through my CE courses.

    Scooter on
  • RagixRagix Registered User regular
    edited March 2009
    Thanks for the info guys :)

    What I really like about programming is that it requires almost nothing to practice. I can do it any time and working with anything. [the thing you mentioned before]

    I know how to code in C# only, so I don't really have any idea how I can use that to practice on writing apps that work on Windows environment :x

    I guess I'll have to integrate my choice of education into my life earlier than I thought. I'll google C# guides and get started with small practice guides.

    Thanks again buds. :D

    Edit: just 1 question
    Scooter wrote: »
    Speaking as someone who spent 4 years on a Comp Eng degree then transferred for 2 years for a Comp Sci degree (graduating this spring, finally), Comp Eng is much harder than Comp Sci. CE has you learning almost all the stuff CS does, then add on a whole bunch of higher-level math and physics.

    How does physics end up being a part of computers in general? where do the laws apply and how does it fit into engineering a computer?!

    Ragix on
  • HlubockyHlubocky Registered User regular
    edited March 2009
    When we do interviewing, sometimes we see that the computer engineering students don't have as much programming experience as the computer science students do, just because they have to balance their courses between CS And EE. Something to consider....

    Hlubocky on
  • SevorakSevorak Registered User regular
    edited March 2009
    Ragix wrote: »
    I know how to code in C# only, so I don't really have any idea how I can use that to practice on writing apps that work on Windows environment :x

    Uh.. C# is pretty much made for Windows apps, seeing as it's Microsoft's major focus language in the whole .NET thing.

    Sevorak on
    steam_sig.png 3DS: 0748-2282-4229
  • ScooterScooter Registered User regular
    edited March 2009
    Ragix wrote: »
    Thanks for the info guys :)

    What I really like about programming is that it requires almost nothing to practice. I can do it any time and working with anything. [the thing you mentioned before]

    I know how to code in C# only, so I don't really have any idea how I can use that to practice on writing apps that work on Windows environment :x

    I guess I'll have to integrate my choice of education into my life earlier than I thought. I'll google C# guides and get started with small practice guides.

    Thanks again buds. :D

    Edit: just 1 question
    Scooter wrote: »
    Speaking as someone who spent 4 years on a Comp Eng degree then transferred for 2 years for a Comp Sci degree (graduating this spring, finally), Comp Eng is much harder than Comp Sci. CE has you learning almost all the stuff CS does, then add on a whole bunch of higher-level math and physics.

    How does physics end up being a part of computers in general? where do the laws apply and how does it fit into engineering a computer?!

    Comp Eng is about circuits - electricity, transistors, resistors, AND/OR/Inverter gates, digital logic, etching chips from silicon wafers with chemicals and exposure, doing computer simulations of circuits, etc. When you tell a computer to do 1+1, a comp eng knows how the computer actually figures out that it's 2.

    In my experience, CE works in C++ and CS mostly in Java, but with other stuff like C, database stuff, assembly, even prolog and lisp in one AI course I took.

    Scooter on
  • admanbadmanb unionize your workplace Seattle, WARegistered User regular
    edited March 2009
    Scooter wrote: »
    Speaking as someone who spent 4 years on a Comp Eng degree then transferred for 2 years for a Comp Sci degree (graduating this spring, finally), Comp Eng is much harder than Comp Sci. CE has you learning almost all the stuff CS does, then add on a whole bunch of higher-level math and physics. When I have trouble programming something, it's usually because I just made a syntax mistake or missed some trick. My trouble learning CE stuff tended more towards me not actually being able to understand what was going on.

    I think the things I learned about how computers actually work was interesting and gives me a slight step up over other CS guys, but I was barely scraping through my CE courses.

    I may be veering a bit off topic here, but I would argue that where the difficulty of CE is on the technical side, the difficulty of CS is on the creative side. In CE it's hard to understand how to do something, in CS it's easy to understand how to do something -- but once you understand it you realize there are 3,000 ways to do it, and they all work differently depending on how the part fits into the system, and so on.

    I could go on, but I'm a bit off topic already, and frankly anything I say has probably been said far better by someone else. :P

    admanb on
  • Mad_Scientist_WorkingMad_Scientist_Working Registered User regular
    edited March 2009
    Scooter wrote: »

    Comp Eng is about circuits - electricity, transistors, resistors, AND/OR/Inverter gates, digital logic, etching chips from silicon wafers with chemicals and exposure, doing computer simulations of circuits, etc. When you tell a computer to do 1+1, a comp eng knows how the computer actually figures out that it's 2.

    In my experience, CE works in C++ and CS mostly in Java, but with other stuff like C, database stuff, assembly, even prolog and lisp in one AI course I took.
    Verilog and VHDL are two languages that most people tend to forget about which is surprising given the fact that they are extremely popular. If you want to use them go for computer engineering.
    admanb wrote: »
    Scooter wrote: »
    Speaking as someone who spent 4 years on a Comp Eng degree then transferred for 2 years for a Comp Sci degree (graduating this spring, finally), Comp Eng is much harder than Comp Sci. CE has you learning almost all the stuff CS does, then add on a whole bunch of higher-level math and physics. When I have trouble programming something, it's usually because I just made a syntax mistake or missed some trick. My trouble learning CE stuff tended more towards me not actually being able to understand what was going on.

    I think the things I learned about how computers actually work was interesting and gives me a slight step up over other CS guys, but I was barely scraping through my CE courses.

    I may be veering a bit off topic here, but I would argue that where the difficulty of CE is on the technical side, the difficulty of CS is on the creative side. In CE it's hard to understand how to do something, in CS it's easy to understand how to do something -- but once you understand it you realize there are 3,000 ways to do it, and they all work differently depending on how the part fits into the system, and so on.

    I could go on, but I'm a bit off topic already, and frankly anything I say has probably been said far better by someone else. :P
    As someone who is learning VHDL (electrical engineer) would you like to be whacked in the head now or later for something so wrong?

    Mad_Scientist_Working on
  • admanbadmanb unionize your workplace Seattle, WARegistered User regular
    edited March 2009
    admanb wrote: »

    I may be veering a bit off topic here, but I would argue that where the difficulty of CE is on the technical side, the difficulty of CS is on the creative side. In CE it's hard to understand how to do something, in CS it's easy to understand how to do something -- but once you understand it you realize there are 3,000 ways to do it, and they all work differently depending on how the part fits into the system, and so on.

    I could go on, but I'm a bit off topic already, and frankly anything I say has probably been said far better by someone else. :P
    As someone who is learning VHDL (electrical engineer) would you like to be whacked in the head now or later for something so wrong?

    If you're annoyed enough to inflict violence (bloody great argument, btw) I think you may've taken my paragraph and read a lot more into it than could possible exist.

    admanb on
  • Mad_Scientist_WorkingMad_Scientist_Working Registered User regular
    edited March 2009
    admanb wrote: »
    admanb wrote: »

    I may be veering a bit off topic here, but I would argue that where the difficulty of CE is on the technical side, the difficulty of CS is on the creative side. In CE it's hard to understand how to do something, in CS it's easy to understand how to do something -- but once you understand it you realize there are 3,000 ways to do it, and they all work differently depending on how the part fits into the system, and so on.

    I could go on, but I'm a bit off topic already, and frankly anything I say has probably been said far better by someone else. :P
    As someone who is learning VHDL (electrical engineer) would you like to be whacked in the head now or later for something so wrong?

    If you're annoyed enough to inflict violence (bloody great argument, btw) I think you may've taken my paragraph and read a lot more into it than could possible exist.
    Sorry about that. That did not translate well at all. And I perfectly understood your post. It was horribly wrong. Depending on the application involved you would be better off becoming an electrical/computer engineer than a computer science major. The thing that no one mentioned is that computer engineering isn't just learning how to build a computer. The algorithms for image processing have more in common to do with the knowledge gained in an electrical/computer engineering degree than anything you will learn in computer science. That is the reason why in any good engineering college the electrical/computer engineering department will have a department related to digital signal processing. So in reality without knowing what the hell you want to do I have no clue what field you should go into but the engineering side of it involves more than the stupid hardware versus software comparison. If you do computer engineering correctly you will be better of than just a regular computer scientist and that will allow you to do things you wouldn't necessarily thought of doing.

    Mad_Scientist_Working on
  • TheDragonTheDragon Registered User regular
    edited March 2009
    So in reality without knowing what the hell you want to do I have no clue what field you should go into but the engineering side of it involves more than the stupid hardware versus software comparison. If you do computer engineering correctly you will be better of than just a regular computer scientist and that will allow you to do things you wouldn't necessarily thought of doing.
    Wrong. It's bullshit to say you will be better off taking comp eng than comp sci. In what sense? It's harder to find a job with a comp eng degree than comp sci. If you want to architect code and be a lead programmer in a software company, it's harder to get there with a comp eng degree than comp sci. If you really want to work in software as a career, comp eng is a worse choice than comp sci. It's that simple.

    However, if you want to work on hardware, or machine-level/low-level software, then comp eng would be the right choice.

    Unless he has an end-goal that requires a comp eng degree, he isn't better off getting a comp eng degree.

    TheDragon on
  • admanbadmanb unionize your workplace Seattle, WARegistered User regular
    edited March 2009
    Sorry about that. That did not translate well at all. And I perfectly understood your post. It was horribly wrong. Depending on the application involved you would be better off becoming an electrical/computer engineer than a computer science major. The thing that no one mentioned is that computer engineering isn't just learning how to build a computer. The algorithms for image processing have more in common to do with the knowledge gained in an electrical/computer engineering degree than anything you will learn in computer science. That is the reason why in any good engineering college the electrical/computer engineering department will have a department related to digital signal processing. So in reality without knowing what the hell you want to do I have no clue what field you should go into but the engineering side of it involves more than the stupid hardware versus software comparison. If you do computer engineering correctly you will be better of than just a regular computer scientist and that will allow you to do things you wouldn't necessarily thought of doing.

    What does this have to do with my post?

    I don't know anything about image processing, so I'm sure you're right about that.

    Working as a practical-side computer scientist (i.e. a programmer/designer, but not a code monkey) is all about design and architecture. It's very creative work (just like being an architect), and that's the most interesting aspect of CS to me. It's also completely different from the kind of CE application you're talking about.

    admanb on
  • RagixRagix Registered User regular
    edited March 2009
    admanb wrote: »
    Working as a practical-side computer scientist (i.e. a programmer/designer, but not a code monkey) is all about design and architecture. It's very creative work (just like being an architect), and that's the most interesting aspect of CS to me. It's also completely different from the kind of CE application you're talking about.

    I guess code monkeys are given a piece of a piece of an application and are told to code something that does this or that, and in the end each one of those coders hands in the code, and every little piece is put together to form a side-application.

    What do designers and programmers do?
    I'm into CS for the sole sake of being creative. I don't want to do something repetitive with my life, and end up driving a Mercedes 5 minutes to work every morning, looking like I'd kill myself rather than do my boring job.

    Ragix on
  • mrcheesypantsmrcheesypants Registered User regular
    edited March 2009
    Ragix wrote: »
    admanb wrote: »
    Working as a practical-side computer scientist (i.e. a programmer/designer, but not a code monkey) is all about design and architecture. It's very creative work (just like being an architect), and that's the most interesting aspect of CS to me. It's also completely different from the kind of CE application you're talking about.

    I guess code monkeys are given a piece of a piece of an application and are told to code something that does this or that, and in the end each one of those coders hands in the code, and every little piece is put together to form a side-application.

    What do designers and programmers do?
    I'm into CS for the sole sake of being creative. I don't want to do something repetitive with my life, and end up driving a Mercedes 5 minutes to work every morning, looking like I'd kill myself rather than do my boring job.

    From a CS student whose looking at starting college over and becoming a CE(really want to get into embedded systems development/low level stuff) and not as a professional, a code monkey is somewhat of a derogatory term for a programmer who just grinds out code. They're given some specs and they implement said specs but give little input on how a program should be designed. A designer in this sense is someone who designs the application. They choose which design patterns and algorithms to use and other similar things.

    In reality you could probably get the same jobs with a degree in CS or CE. It's just uni law that every CS major must consider every CE a bit-flipper who can't design algorithms or code and every CE must look at every CS major as someone who took the easy way to get into IT. You're going to see a few more flames directed at each other.

    mrcheesypants on
    Diamond Code: 2706 8089 2710
    Oh god. When I was younger, me and my friends wanted to burn the Harry Potter books.

    Then I moved to Georgia.
  • TheDragonTheDragon Registered User regular
    edited March 2009
    In reality you could probably get the same jobs with a degree in CS or CE. It's just uni law that every CS major must consider every CE a bit-flipper who can't design algorithms or code and every CE must look at every CS major as someone who took the easy way to get into IT. You're going to see a few more flames directed at each other.

    Yes, a degree in CS or CE has a big overlap in the jobs you can get in the software field. But for those software jobs that require a lot of design in architecture, you're more equipped for it coming from CS. Since in CS your focus of study is software and the design of it, you take a lot more courses related to this than computer engineers.

    The OP has to decide what he's interested in and what career he'd like after graduation. If he'd like to be exclusively in the software field, then he should take computer science. If he might want to do things besides software, consider engineering, but definitely research what engineering degree you need for that career, and figure out what courses you'll be taking to reach that goal. Do this before your first year. Have a plan. Know what you're working towards.

    I took computer engineering without a plan, without even knowing what I was really getting into. Then I realized it's a machine meant to chew up and spit out students who don't really want to become engineers. I looked at the courses I'd be taking for the next 4 years and realized I didn't care for 90% of them. I only cared about the software courses. Don't make my mistake, and save yourself a year of stress. Figure out what you want to do now, and work towards the degree that gets you there.

    And by the way, the software courses in CE can't hold a match to those in CS. This should be obvious, but some CE's like to say they can write code as beautifully as a CS grad. Maybe those who have read up on the subjects on their own, but not those who've simply done the CE courses.

    TheDragon on
  • RagixRagix Registered User regular
    edited March 2009
    It's just uni law that every CS major must consider every CE a bit-flipper who can't design algorithms or code and every CE must look at every CS major as someone who took the easy way to get into IT. You're going to see a few more flames directed at each other.

    Hahahaha
    TheDragon wrote: »
    I took computer engineering without a plan, without even knowing what I was really getting into. Then I realized it's a machine meant to chew up and spit out students who don't really want to become engineers. I looked at the courses I'd be taking for the next 4 years and realized I didn't care for 90% of them. I only cared about the software courses. Don't make my mistake, and save yourself a year of stress. Figure out what you want to do now, and work towards the degree that gets you there.

    Why does everyone end up saying this? I think someone else in this thread [or 2] said the same, plus at least 10 others I know in real life. Heck, even my cousin who took CE and got his MA, is doing CS now, saying he always liked it.

    Are there like, missionary CE groups that preach against CS and misguide students into CE? :P


    One last question to any CS person here, what's your overall opinion about the subject?
    How hard is it to be creative 'enough' for the subject? do you regret it in any way?

    Ragix on
  • HlubockyHlubocky Registered User regular
    edited March 2009
    Ragix wrote: »
    It's just uni law that every CS major must consider every CE a bit-flipper who can't design algorithms or code and every CE must look at every CS major as someone who took the easy way to get into IT. You're going to see a few more flames directed at each other.

    Hahahaha
    TheDragon wrote: »
    I took computer engineering without a plan, without even knowing what I was really getting into. Then I realized it's a machine meant to chew up and spit out students who don't really want to become engineers. I looked at the courses I'd be taking for the next 4 years and realized I didn't care for 90% of them. I only cared about the software courses. Don't make my mistake, and save yourself a year of stress. Figure out what you want to do now, and work towards the degree that gets you there.

    Why does everyone end up saying this? I think someone else in this thread [or 2] said the same, plus at least 10 others I know in real life. Heck, even my cousin who took CE and got his MA, is doing CS now, saying he always liked it.

    Are there like, missionary CE groups that preach against CS and misguide students into CE? :P


    One last question to any CS person here, what's your overall opinion about the subject?
    How hard is it to be creative 'enough' for the subject? do you regret it in any way?

    I'm not sure exactly what you are asking, but I was able to find a job right out of school that had me working at a private trading firm on a team of around 6 developers that was given complete control over new projects (we got to do the design and implementation, etc). Just because you come right out of school doesn't mean you will be forced to be a code monkey that only gets told what class to write and how to write it.

    On the subject of CS versus CE, I think in both cases you get what you put into it. Obviously if you are looking to do software, the maybe the CE degree just doesn't make sense. If you don't really know or want to be a little more well-rounded, then maybe CE is the right choice. From my experience interviewing new hires, the CS students generally are better at our programming exercises. Clearly this doesn't mean that CS > CE for programming as I know plenty of people that have CE degrees that did a lot of programming as a hobby outside of school. I think that the fewer CS courses you take as a Computer Engineering major might put you at a small disadvantage compared to CS students when interviewing for jobs involving software development. This was a bit rambling, but this is what I have experienced as someone with a BS and MS in Computer Science that participates in the hiring process at our firm.

    Hlubocky on
  • ScooterScooter Registered User regular
    edited March 2009
    To a high school student, CE looks better than CS because CEs have a higher average salary. But it's a lot harder to get that salary because there's fewer jobs, even considering there's fewer CE students. If you focus on wafer fabrication, there's like, three companies in the US that do that, and if you don't get hired at one of those you're in trouble. CS grads can even get together and start their own little company, while the skills that CEs know can require multi-million dollar pieces of equipment that would make it almost impossible to start on their own.

    Scooter on
  • ShadowrunnerShadowrunner Registered User regular
    edited March 2009
    Ragix wrote: »
    One last question to any CS person here, what's your overall opinion about the subject?
    How hard is it to be creative 'enough' for the subject? do you regret it in any way?

    I've been working as a software developer for a large computer company for about 8 years and for the most part, I've really enjoyed it, though I'm not sure what you mean about being creative enough. CS is first and foremost about using computers to solve problems. Usually what you'll do is analyze the problem, come up with several solutions, and weigh the pros and cons of each against the project requirements to choose the most suitable one. I would describe that as good engineering practices rather than being creative.

    I've also never experienced the whole "code monkey" stereotype that's been mentioned here. Where I work, developers are given a fair amount of leeway on how you choose to architect, design, and code the pieces of the project you are working on. Though some of that comes down to the group dynamics of the project group and the culture of the company you work for.

    CS vs CE comes down to what do you want to work on for a living. If you want to do software, major in CS. If you want to design hardware, major in CE. If you can't make up your mind you could always do a CS/CE or CS/EE double major.

    Shadowrunner on
  • RagixRagix Registered User regular
    edited March 2009
    I've also never experienced the whole "code monkey" stereotype that's been mentioned here. Where I work, developers are given a fair amount of leeway on how you choose to architect, design, and code the pieces of the project you are working on. Though some of that comes down to the group dynamics of the project group and the culture of the company you work for.

    Yeah well, my CS teacher keeps saying that after graduation we'd probably end up doing code-monkeys work, 'at the bottom of the ladder'. I guess she bought into that stereotype easily?

    Ragix on
  • admanbadmanb unionize your workplace Seattle, WARegistered User regular
    edited March 2009
    Ragix wrote: »
    I've also never experienced the whole "code monkey" stereotype that's been mentioned here. Where I work, developers are given a fair amount of leeway on how you choose to architect, design, and code the pieces of the project you are working on. Though some of that comes down to the group dynamics of the project group and the culture of the company you work for.

    Yeah well, my CS teacher keeps saying that after graduation we'd probably end up doing code-monkeys work, 'at the bottom of the ladder'. I guess she bought into that stereotype easily?

    Ultimately, it'll be up to you.

    The problem with that assumption is your quote, 'at the bottom of the ladder.' There just isn't much of a ladder for programming work. At best you've probably got "Junior Software Developer," "Software Developer," and "Lead Software Developer," But even by the time you get to "Lead" you're stepping into more of a management role, which isn't necessarily something programmers think of as a step up.

    Obviously it varies from company to company, but even if you look at a company as developer-focused as google you'll read about a lot of brain drain; people would rather pop out with their savings (and if they were lucky, stock) and do something on their own.

    admanb on
  • Eggplant WizardEggplant Wizard Little Rock, ARRegistered User regular
    edited March 2009
    Ragix wrote: »
    TheDragon wrote: »
    I took computer engineering without a plan, without even knowing what I was really getting into. Then I realized it's a machine meant to chew up and spit out students who don't really want to become engineers. I looked at the courses I'd be taking for the next 4 years and realized I didn't care for 90% of them. I only cared about the software courses. Don't make my mistake, and save yourself a year of stress. Figure out what you want to do now, and work towards the degree that gets you there.

    Why does everyone end up saying this? I think someone else in this thread [or 2] said the same, plus at least 10 others I know in real life. Heck, even my cousin who took CE and got his MA, is doing CS now, saying he always liked it.

    Are there like, missionary CE groups that preach against CS and misguide students into CE? :P?

    I think the answer is right here in this thread. A lot of people who love programming decide to go into CE instead of CS because they feel that computer science is beneath them. They get the impression that the degree isn't worth anything unless it has "engineer" in the title. They then discover that they hate engineering, so they switch to computer science and live happily ever after.

    Eggplant Wizard on
    Hello
Sign In or Register to comment.