|
|
| Programming Discussions about computer programming |
05-22-2012, 11:05 PM
|
#1
|
|
newbie
Join Date: May 2012
Posts: 25
|
Deciding which branch of COMP SCI to emphasize on
I'd like to get into comp sci. What's in most demand right now? I was looking into pursuing a career as an IT Admin, possible software developer. I live in the bay area and would like to work either in the silicon valley or perhaps Orange County (Irvine area).
|
|
|
05-23-2012, 07:27 AM
|
#2
|
|
Carpal \'Tunnel
Join Date: Jun 2006
Location: 39, 46, 56, 59, 191
Posts: 39,774
|
Re: Deciding which branch of COMP SCI to emphasize on
Just do what seems like the most fun to you. Doing something just because it's in demand is a horrible idea.
Anything in the area of datamining and search is probably going to be in demand in the near future. There's obviously some ethical questions in that field though so it's not for everyone.
|
|
|
05-23-2012, 08:07 PM
|
#3
|
|
Retired
Join Date: Apr 2005
Location: On the front porch, yelling at kids
Posts: 32,269
|
Re: Deciding which branch of COMP SCI to emphasize on
Whatever is in demand today won't be in four years, so don't worry about that as a selection criteria. Learn the basics, specialize if you find a field you enjoy, and then as you get in to industry you'll have to learn actual employable skills anyway, so you can decide then.
Whatever you specialize in career wise (if you do) will be different than what you can do in school, anyway
|
|
|
05-24-2012, 02:02 AM
|
#4
|
|
veteran
Join Date: Mar 2010
Posts: 2,127
|
Re: Deciding which branch of COMP SCI to emphasize on
The role of 'IT Admin' has next to nothing to do with 'computer science.' Neither does 'software developer', for the most part. They're both retail applications of CS in the same way the role of 'Pastor' has almost nothing in common with the study of theology. It's really a travesty that schools these days teach you how to write code in a couple different languages and give you a cursory introduction to the idea of an algorithm and call that a BS in comp sci.
|
|
|
05-24-2012, 05:58 AM
|
#5
|
|
newbie
Join Date: May 2012
Posts: 25
|
Re: Deciding which branch of COMP SCI to emphasize on
Hey guys, thanks a lot for the feedback. Very wise and helpful comments. Zurvan, you make an excellent point! I also LOVE your avatar/pic!! That girl looks hot in the Leafs jersey. Wish we could see her w/out it too!!!! LOL
|
|
|
05-25-2012, 09:43 PM
|
#6
|
|
Carpal \'Tunnel
Join Date: Aug 2004
Posts: 21,436
|
Re: Deciding which branch of COMP SCI to emphasize on
Take many courses in various fields. AI, graphics, networking, security, and most importantly algorithms and data structures. Choosing an area because it's in demand is a sure way to ensure you achieve mediocrity. Try to learn many things and see what suits your interests and skills.
|
|
|
05-25-2012, 09:46 PM
|
#7
|
|
Carpal \'Tunnel
Join Date: Aug 2004
Posts: 21,436
|
Re: Deciding which branch of COMP SCI to emphasize on
Quote:
Originally Posted by meekrab
The role of 'IT Admin' has next to nothing to do with 'computer science.' Neither does 'software developer', for the most part. They're both retail applications of CS in the same way the role of 'Pastor' has almost nothing in common with the study of theology. It's really a travesty that schools these days teach you how to write code in a couple different languages and give you a cursory introduction to the idea of an algorithm and call that a BS in comp sci.
|
This is true for most schools except the top tier ones (MIT, cornell, waterloo etc). OP it really depends on where you are going to school.
|
|
|
06-08-2012, 06:24 PM
|
#8
|
|
newbie
Join Date: Oct 2011
Posts: 27
|
Re: Deciding which branch of COMP SCI to emphasize on
If you're looking for an emerging skill that is going to be ubiquitous pretty soon, then parallel programming might be worth looking into. Hardware companies have made chips faster by making them smaller basically (smaller = current has less distance to travel = faster). However, components in chips are now just atoms apart and it's increasingly difficult to make further gains. So increasingly multi and many-core systems are being used (even a lot of mobiles are multi-core now) in order to maintain improvement in speed.
This requires parallel programming skills to control execution of one program on more than one core which can be a bit tricky. It's important to realise that just about all programming in the future will be parallel programming because many-core systems will be so common. A big thing at the moment that many people such as banks, and academic institutions are doing is the use of Graphics cards GPU's (which are many-core processors specialised for floating point calculations) for non-graphics processing purposes (such as fluid simulations or whatever). You might want to look into the OpenCL framework for this, or OpenMPI and OpenMP libraries.
As other posts have said, you should just do whatever your interested in, but I thought you might be interested in this. Lots of cool applications are now possible because of the ability to divide a single task among hundreds or thousands of processors including finding new life saving drugs, simulating weather, researching physics, and whatever dark stuff they do in the world of finance.
Have fun!
|
|
|
06-09-2012, 06:56 AM
|
#9
|
|
Carpal \'Tunnel
Join Date: Jun 2006
Location: 39, 46, 56, 59, 191
Posts: 39,774
|
Re: Deciding which branch of COMP SCI to emphasize on
Yeah just learn Erlang or a functional language that is as pure as possible i.e. Haskell. Personally I think the whole parallel programming ZOMG now trend is slightly overblown.
What I did like was what was mentioned in some Erlang talk that I don't recall. He said that you should design and think in parallel because that's how the world runs anyways. There's probably a good design book to be written with that theme.
|
|
|
06-16-2012, 12:15 PM
|
#10
|
|
newbie
Join Date: Jun 2012
Location: The Old Dominion
Posts: 23
|
Re: Deciding which branch of COMP SCI to emphasize on
I am a CS major. Network security engineers are in high demand ($100-130k). You might want to get an IT degree which is easier than a CS degree if you want to do NetSec. If you want to be a software developer ($80-110k), learn Java first. There are more Java jobs than any other language, see eweek's "top programming languages 2011".
IT degree- easiest to get, you learn business/network/and a little coding. not so good for people who want to code, b/c you get very little exposure to coding.
Software Engineering degree- difficult, you do a LOT of math (discrete, proofs, calc3, etc.), you learn a lot of applicable skills that will help you on the job right away
CS degree- the hardest, lots of respect amongst coders, mostly theory, good for students who want to create new technology, good for people who want to learn how to build software (OS, compilers, computer languages) from scratch. The most math (6-9 classes), you don't learn as much skills that will help you in the real world. These classes are the most competitive and have the most nerds, they set the bar high. Many of your classmates (~25%+) might have been coding for 10+yrs. Some kids start when they are 12 yrs old or when they are in high school. Some are already working in the industry. This sucks when your classmates already know the material, b/c it makes it very hard to get A's.
Check this article out on starting how to code:
http://lifehacker.com/5401954/progra...lf-how-to-code
Last edited by Knuth; 06-16-2012 at 12:20 PM.
|
|
|
06-16-2012, 01:28 PM
|
#11
|
|
newbie
Join Date: Jun 2012
Location: The Old Dominion
Posts: 23
|
Re: Deciding which branch of COMP SCI to emphasize on
Btw. Sales engineers tend to make the most right after college. Patent attorney is cool also. I think modeling and simulation is a new emerging field and is closely related to game coding.
IT jobs seem to be all over the country. Some development jobs might only be widely available in a few places like dc, ca, Boston and NYC.
Last edited by Knuth; 06-16-2012 at 01:37 PM.
|
|
|
06-28-2012, 05:38 PM
|
#12
|
|
stranger
Join Date: Jun 2012
Posts: 10
|
Re: Deciding which branch of COMP SCI to emphasize on
Quote:
Originally Posted by Knuth
"...
IT degree- easiest to get, you learn business/network/and a little coding. not so good for people who want to code, b/c you get very little exposure to coding.
Software Engineering degree- difficult, you do a LOT of math (discrete, proofs, calc3, etc.), you learn a lot of applicable skills that will help you on the job right away
CS degree- the hardest, lots of respect amongst coders, mostly theory, good for students who want to create new technology, good for people who want to learn how to build software (OS, compilers, computer languages) from scratch. The most math (6-9 classes), you don't learn as much skills that will help you in the real world. These classes are the most competitive and have the most nerds, they set the bar high. Many of your classmates (~25%+) might have been coding for 10+yrs. Some kids start when they are 12 yrs old or when they are in high school. Some are already working in the industry. This sucks when your classmates already know the material, b/c it makes it very hard to get A's.
..."
|
Quote:
Originally Posted by allin muppet
If you're looking for an emerging skill that is going to be ubiquitous pretty soon, then parallel programming might be worth looking into...
... You might want to look into the OpenCL framework for this, or OpenMPI and OpenMP libraries.
...
|
Hey everyone, in the last year I earned my bachelors in theoretical computer science with emphasis on software engineering. As an individual currently in the job search, I figured I would throw in my two cents.
Knuth speaks truth. In fact it is a little frustrating at times if someone recommends I apply to an IT based position when I studied much more math and design principles than are required for it. Also I often come across job postings that indicate the poster may not exactly understand the dichotomous nature of the field.
Think about what you feel more comfortable doing. If you shoot only for pay, you will probably find yourself much less satisfied with what you're studying, and consequentially, what you will end up doing. If math and science is your strength such as myself, you will more than likely enjoy learning algorithm theory, artificial intelligence, and parallel computing. I quote allin muppet because I took a parallel computing course joint taught by Clemson University in which we used OpenMPI and C on their Palmetto cluster. This was a very challenging subject, but the concepts as applied are very rewarding when successful.
If you're more into systems administration (a big field), troubleshooting, user interaction, networking, or perhaps even software testing (QA), go for IT. The example I use often is that your software engineer is akin to the design and manufacturing component of an auto company, and IT serves as a high end mechanic. I realize that this may sound a bit biased, but if you really enjoy the work, it can be very financially rewarding. I worked a couple of IT jobs in which I itched to get into the guts of the software I was working with rather than simply be another end user. But that's just how my brain works.
I hope this helps.
|
|
|
| Thread Tools |
|
|
| Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 09:02 PM.
|