I'm currently a 4th-year CS major. This is not to say I took many CS courses, but I still need to take classes on Operating Systems, System programming, S/W Engineering, AI, Database, etc. So, far, my programming skills are pretty trivial. I know C++/Java but can only write simple trivial programs and a basic knowledge of data structure (i.e. how it works but not the coding part). I have no job experience at all in the computer field (not even a freelance entry-level programmer). The web development I've done are webdesigning on Marcomedia Dreamweaver, Fireworks, Flash, and some webscripting PHP (heck, this is even related to CS). Little knowledge of networking, operating system (never used linux before). That's about how far I am with CS for a 4th year student. :(

Looking at the job prospect, I do see many S/W Engineering, C/C++ Unix, and similar computer positions in my area (southern California) searching monster.com and other big job sites. However, most of the requirements include 3-5+ years of programming experience, using industry tools that I've tried to learn 3 years ago but now became obslete, experience developing huge application. I do not have Windows API (MFC), C#, .NET, SQL, experience and do not want to waste my time learning it, only to realize it's going to change in a few years from now. Or the company I'm trying to learn it for will no longer use it. Plus, I see many Sr. Software Engineer position. Senior? What? Did they took all the entry-level to India or something?

It's not too late though, I've thought of maybe changing my major to Statisics with emphasis in statistical computing and a minor in CS. This is the description in my catalog for the Stats major w/ emphasis in statistical computing:

Quote:
Emphasis in Statistical Computing
Modern day statistics applications require heavy computing for manipulating massive data sets, mining immense databases, and implementing computationally intensive data analytic tools to solve complex scientific problems. This emphasis is designed to prepare students
for careers in statistics by providing them with the data analytic and computational machinery needed to excel in all avenues of statistical science during an information age where statistical computing plays a crucial role. Students completing this emphasis would also be well prepared for graduate study in statistical computing and statistics.

Some of the classes do overlap my CS major requirements but the stats requires me to take a few more math classes, so double majoring might take 1-2 year extra and I do not really want that since I have somewhat lost interest in CS.

Is the job outlook in Stats good so far? I know Stats job are wide and you can find employment in fed./local government, marketing, financial, science, etc and not just programming or computer job sitting in an office getting fat. And if I can't find many jobs at the bachelor level, I could perhaps go on to get my Master in Stats or Bio-statistics. That's much better than a Master in CS in terms of job security and availablity right?

If I do continue in CS (without double majoring Stats nor minoring in it), I could perhaps take classes where there are large projects and can show that in my resume to prospected employers. However, I know I'm going to be in a competiton for a fresh CS grad with no industry experience seeking a entry-level programming job. I've talk with a guy who's a Java programmer who has been in the industry for 25 years doing CS jobs and he says, industry are still hiring fresh CS grads since they're fresh out of college with the latest technological knowledge/skills (yeah right!) but they don't get paid as much as experienced worker. Moving to India isn't an option for me.

So, which has more job security? Statistics or CS?

Any advice here?

I should add that, I'm leaning toward the Statistics major with a minor in CS. However, there may be a time in my life where I may want to work in the computer industry doing software engineering. Is a minor enough? I don't want to regret the fact that I should've stayed in CS and acquired it as my major. Anways, with my plan to have a Stats major in minor in CS, I'm close to being a semi-CS major (with just 4 classes short). Hopefully, employers can understand if one has a lot of knowledge in CS but with just a minor, it's the experience that count right? Are CS job interviews more conversation type?

A bit of background on why I'm here: I've choose to major in CS in college since I took AP Computer Science in high school and enjoyed it. I used to have a serve case of social anxiety/phobia and had thought a CS job would mean I can code all by myself without having to interact with others.

Wrong! Good CS jobs require interaction at meetings, collaborating with others in different field about your project, etc. However, since I've been trying to overcome my social anxiety, I'm going to try to change to Stats even if it means interacting with more people - at least I've finally open myself to possible career changes without limitation to my lack of social skills.

Sorry, if it's long. Just extra stuff I wanted to share.

I just graduated with a double major in CS and Math (pure Math, not Stats). I think you first need to figure out exactly what it is you want to do as a career. I know it takes a long time to figure this out, trust me, I changed majors seven times. If you are really torn between CS and Stats, then I would do a double major. So what if it takes 1-2 years longer. You will actually ENJOY your job one day. I would NEVER decide what to major in based on how fast you can be done with school. Then you will graduate and be completely miserable in your job the rest of your life.

Now some thoughts of mine between Stats and CS. First of all, I hate Stats with a passion, I find it completely mind-numbingly boring, so I may be slightly biased. But Stats majors can find some pretty successful jobs. If you see yourself being happy sitting in front of a computer crunching numbers (and yes, of course, going to the occasional meeting, etc.), then Stats will be good for you. CS on the other hand, while it presents a similar working environment, lets you be a little more creative and intellectual in your profession. To me, this is something I absolutely need in a job. Currently, I am working at a company doing some probability work along with a lot of coding. I really enjoy the mix. I have found that having both CS and Math under your belt is A LOT better looking to employers than just one or the other, and it also makes your job a lot more fun.

I am also curious why you havent taken many CS classes. Have you just been taking light loads? If I were you, I would do a double major, and if along the way you strongly feel you like one more than the other, then go that route. But don't force yourself to decide now just to save time. That is my advice anyway. I became a double major at the end of my junior year, and so I was in college as an undergrad for 5.5 years. But let me tell you, I worked hard and got what I wanted, and I don't regret it at all. I will be starting a PhD program in Math this semester, and so I am leaving CS behind. But I plan on keeping up with it because it is something I really enjoy.

In regards to job security, I think CS and Stats are pretty similar, and I certainly wouldnt let that be the deciding factor. Anyway, hope this helps. Let me know what you think :)

Finally a response! Ya! :cheesy:

Well, it's possible I can spend 5.5-6 years doing both Stat. and CS. However, I'm on loans and not sure if I can recieve financial grants being in school for more than 4 years. Yes, I will work my butt off if I choose that route (with all the scary math/theory courses) but I have absolutely have no job experience in either field. So I'm not sure how much I can work/intern while still in school.

Is it possible to get into the computer industry doing entry-level programming and working your way up doing software engineering, database programming/adminstration, etc, with just a CS minor? Let's assume you took enough CS courses that could be count as a semi-major. In my case, with the major in Statistics (w/ emphasis in statistical computing) and a minor in CS, how can I convince employers I took enough CS courses that almost equivalent to being a CS major?

What do I want to do as a career? That something I have to think about. Initially, I wanted to be a software engineer during my freshmen year (as I was such a good C++ programmer), but with the college general education requirements and all the math theory courses, it took time away from improving my programming skills. Additionally, with the whole outsourcing programming trends and reading about 'CS grads finding no job after 2 years' discouraged me from pursuing this field. All I can code now are just experimental DOS-like program, not big applications of any sort. With the statistical computing option, I could perhaps become a database programmer (SQL) and designing database to optimize it. However, I believe in such a field, I might as well do a double major for that since I've not taken any computer Operating System course. Or perhaps I can become a SAS (statistics programmming) programmer, working in the marketing/finance field.

What do you think? :D

First, let me say that every here answer might be biased because it's a computer forum. Yes, even mine. ;) Have you posted in a math forum?

Is it possible to get into the computer industry doing entry-level programming and working your way up doing software engineering, database programming/adminstration, etc, with just a CS minor?

I know successful people in the computer world, some are even master programmers and hold an art degree or an English degree. Some don't even have a degree and they seem like they know everything and tried everything. To me, a degree only helps you being successful. It doesn't matter what degree you hold. Of course, a computer science degree, I believe, will help you more in being a programmer than a culinary arts degree. Just the fact that you have a degree though, proves that you had the patience and determination to get a degree. I suggest you go through several computer books, not CS books, but the IT/programming ones from Wrox, New Riders, Sams, APress, and a few others and check out the biographies of the authors. You'll notice that some have outstanding job positions and hold degrees that have nothing to do with computer science. Some hold certificates, which is something you should consider.

how can I convince employers I took enough CS courses that almost equivalent to being a CS major?

Write papers/essays. Even if they're simple tutorials. It'll be solid proof that you understood the material enough to teach it. If you want to take it a step further, write a program that shows these principles. Write it in a way so it's easily reusable and can be embedded in other programs. Submit it to snippets sites and forums so it becomes known and people start using it. Also, create a nice user interface for it, perhaps in Windows/Linux. This makes it stand out more. Unless you did really well in the courses, you can give a list of classes you took. I say if you did well because they might want to know your grade for the courses.

All I can code now are just experimental DOS-like program, not big applications of any sort.

And who's fault is this? ;) Look at sourceforge.net. A lot of those programs are made by hobbiests that taught themselves. No one is going to teach you how to create a "big" application. Companies are not going to waste their time and expect for you to know real world programming already. What you do? Buy books and learn the stuff yourself. There are books to pretty much create anything you want.

My suggestion to you is to create a web portfolio of your work. Create several programs and list them. Include screenshots. Learn more about whatever interests you in computers. Learn GUI/Web programming. Understand databases. Get certifications. Keep posting here and other forums for career advice. Get a book on IT careers. Read success stories. Get a book on creating IT resumes. Compare salaries from salary.com.

Always keep in mind that you're as good as you make yourself be. I speak also from experience. I'm also a computer science grad with a minor in information systems and psychology. Just like any other CS grad I've talked to, I've considered switching many times because lost of interest. I was once stuck just like you, thinking that I could only code simple DOS programs and blaming my school for it. I then realized that I had to take control of my career and started learning more about programming and what I could do. The rest is history. ;)

Any more questions, don't hesitate to ask.

Thanks for all the replies!

Well, it has been several months since I posted. Here's the update. I'm now a senior in college and close to graduating in December of 2005. I decided to stick with computer science but with a minor in stats. The combination of these two fields are just too broad that there's no such thing as a "computer science" or "statistics" career. You have to narrow it down I suppose...but I have so many interests and find myself always changing what I would like pursue after my college career.

I'm currently taking a computer simulation class as part of electives, hoping to understand the process of making games...but the students are so lazy in class making it is easy to slack off. We spend a month just on a few chapaters on "Validation, Verfication, Credilblity" - and I could've learn so much more just by reading about it at home or doing the exercises myself. The mere thought of attending a class called 'computer simulation' in the evening is just not cost-effective if I really want to learn the material. So I guess you're right about the professor not teaching you what you want to know about computer science topic. All these lazy students and therotical professor just took away time from what I really wanted to learn in CS.

If the market for computer science grad in general wasn't so harsh and rough, I wouldn't mind going for a Master or Ph.D but as I do not have real-world large-scale programming experience, I decided to enter the workforce immediately upon graduation to gain experience.

Some careers I like to explore and pursue after college include cryptography, web application/developer, actuarial (non-CS related), database admin/analyst, etc...but I have a broad non-real-world in those area. I'm merely a student who had put more focus on data structure/design than using specific programming languages. I presume potential look for candidate with good design, strategic thinking, as oppose than knowing numerous languages correct?

Any suggestions for what to do other than seeking for entry-level software/programming job after college? I have an interest in cryptography (as I'm going to learn about Computer Security) soon, and other careers I've mentioned. What did some of you guys do to get these job? Or, did some of you volunteer after college? How effective would it be to volunteer because you're not getting paid?

As of right now, I took a stab at programming with graphics (i.e making games) with openGL graphic libraries and such..I'm currently working on a huge PHP/MYSQL site (similar to myspace.com/thefacebook.com). That's about it in terms of technological hobbies for now.

Any suggestions and ideas would be appreciated.

Any suggestions for what to do other than seeking for entry-level software/programming job after college? I have an interest in cryptography (as I'm going to learn about Computer Security) soon, and other careers I've mentioned. What did some of you guys do to get these job? Or, did some of you volunteer after college? How effective would it be to volunteer because you're not getting paid?

Cryptography with statistics is excellent choice. How about data compression, in particular non-lossy ones? Neural networks for financial information? Real world modeling of commodities? Meteorology? Seismology with predictive analysis?

Why, then the world's mine oyster,
Which I with sword will open.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.