<p>One computer science major who is now about 30 I believe told me that it is quite hard to keep up in the field. He said that companies are hiring newly graduated students ALOT. But they tend to lay off the old workers. The reason for this is that the new graduates are updated students. Because CS as a field of work and study is changing and becoming more efficient rapidly, the companies have to hire new employees straight out of college because they have a bunch of new and improved information and skill… That’s one thing to possibly consider. He told me that if I wanted to go into CS I should go into management after 5 years because they won’t need me for the technical work because their will be someone else who knows all the new tricks straight out of college…</p>
<p>I don’t think this is quite true. Sure, if you sit on your hands and don’t do anything to stay up-to-date, you could find yourself without a job. But the notion that recent CS graduates are more up to date on current trends and technologies doesn’t make sense to me. I’ll be graduating this year from my CS program and I do not think that I am more up to date with current practices than most of those in the workplace, it’s quite the opposite.</p>
<p>lightnin: 6-figure salaries for new grads are only available for the very highest caliber of software jobs. Totally doable, of course, especially if you can get a few good internships beforehand, but you shouldn’t go around thinking that every CS grad will be making $100k.</p>
<p>Well from cal poly I know a software engineer who had such terrible grades they almost didn’t graduate and they ended up with an 80k salary… Imagine if he had the decent grades! The only reason he found a job was that he had an internship during his time at cal poly which is essentially the most important thing in terms of finding a full time job after you graduate assuming you plan on entering the industry world of engineering and computer science. IMO grades aren’t nearly as important when going straight into industry. After all you don’t typically use classes like thermodynamics- a commonly required engineering class- on a day to day basis in a cubical at work. At least that’s what I’ve been told by my entire family of engineers.</p>
<p>@sums, I still love software and I have decent grades too.</p>
<p>If you do CS, you should ideally learn a new technology or language every 2-3 months. That’s how you keep up with an ever-changing field.</p>
<p>
</p>
<p>In my experience, there is some truth to this. Software engineering jobs (keep in mind, many if not most CS majors enter the workforce as software engineers) tend to be highly specialized, as opposed to covering a wide range of areas. Practically speaking, you won’t be spending much (if any) time outside of that specialization. So in the unfortunate event of your being laid off, say, because the company you worked for was acquired by another and your position was eliminated due to redundancy, you may experience some difficulty finding a new job, at least in the short term, if there are no openings in your specialty that you are able to get, and you have not built up skills in a different, or newer specialization.</p>
<p>There are several reasons that you might not be able to get another position, even in a market with arguably high demand for software engineers. Among them is that you hit “interview anti-loops”, in which you encounter a set of interviewers at a company that ask you questions that you are unable to answer at the interview, because you wouldn’t reasonably have been expected to answer these questions on your previous job. Follow the link to the Steve Yegge article below for more info.</p>
<p>[Stevey’s</a> Blog Rants: Get that job at Google](<a href=“http://steve-yegge.blogspot.com/2008/03/get-that-job-at-google.html]Stevey’s”>Stevey's Blog Rants: Get that job at Google)</p>
<p>
</p>
<p>This is ideal, but not practical. You’re generally focusing on the languages and technologies used to produce the project you’re working on.</p>
<p>A caution about job prospects is that they can be extremely cyclical. For example, CS is one of the best majors for job prospects right now, but was among the worst a decade ago (tech bubble crash). Civil engineering did poorly in the most recent downturn, due to the downturn being heavily based on a real estate and construction bubble crash.</p>
<p>
</p>
<p>The idea is, you focus on your project at work, and when you come home, you work on your own things and you play with the latest technology and languages with your personal projects, to avoid stagnation.</p>
<p>
Good thing people never have commitments other than their job!</p>
<p>
</p>
<p>You’re assuming that</p>
<p>[ul]
[<em>] the job you currently have allows you enough time to work on your own things outside of work
[</em>] it is obvious that in the future, the “latest technology and languages” will actually be as marketable as they currently are (or are predicted to be)
[/ul]</p>
<p>Here’s an example. There was a time, around the year 2000, when Palm handhelds and phones were very popular. There was an “ecosystem” of app development that helped fuel this popularity. At the same time, several other PDA/handheld/mobile platforms were emerging from Motorola, Nokia, and Microsoft. There were also “whispers” of future mobile technology coming from Apple. In hindsight, we know which ones of those became the “next big thing”, but at the time when someone might choose something to be their personal project, which looked to be the most promising?</p>
<p>Neither is CS better than Engineering, nor is Engineering better than CS. Both are perfectly fine, respectable, prestigious majors with better job prospects than most fields for which a BS will get you into interviews. What’s “hot” is cyclical, but you’ll have a good shot at making a decent living if you study either one.</p>
<p>Keeping up with the latest technology is also important for Engineering. An EE can still ended up unemployed if he does not keep up with his skills. On top of this, there are also many specialized fields in EE, such as FPGA, Antennas, Analog, and Utilities. An EE who spent 10 years in FPGA/VHDL cannot get a job in Utilities the next day. In fact, it is impossible to switch industry easily even within EE.</p>
<p>Shouldn’t employers train just train the workers. Someone who completed a CS degree should learn new technology in matter of a few days. I imagine it is the same for EE majors in their field</p>
<p>But the thing is that employers are very picky when it comes to hiring nowadays. They only want to hire somebody who fits their job perfectly. They don’t want to train. They expect the new person to hit the ground and start running. This happens in CS. This happens in all fields of Engineering.</p>
<p>Even though both CS and EE may have the same problems when it comes to employment (keeping up with new technology, age discrimination, etc.), I would still vote for CS. It is easier to start a business in the CS field than EE. EE involves a lot more overhead than CS. This fact is important to keep in mind. You may be forced to start your business in case if you can’t find a job down the road after you got older.</p>
<p>That’s the thing about recessions - it gives employers the chance to be picky. If your internships and previous work experience don’t guarantee that you’ll be productive from day 1, good luck getting hired.
Being a working engineer(or programmer for that matter) over 40 is an uphill battle. Engineering is one of the only fields in which too much previous work experience can work against you.</p>
<p>
</p>
<p>I know that, and that is perfectly fine.</p>
<p>However, there really are some of us who can’t help but write code. They are those who work on modules for the Linux kernel, those of us who write free applications for mobile devices just for fun, those of us who dedicate their nights and weekends to open-source projects without expecting any remuneration.</p>
<p>If you are one of those people, then you are lucky for choosing CS, and you will likely even be in the minority of people who actually love their jobs. And your skills and passion will constantly be in high demand.</p>
<p>Of course, if you aren’t one of those people, that doesn’t mean that CS is a bad choice. What I’m talking about is only the ideal.</p>
<p>
</p>
<p>…And management in the CS field is just boiling over with job openings (sarcasm).</p>
<p>Once you decide to go into software engineering, keeping up with the latest technology is a GIVEN. It comes with the territory. </p>
<p>I am in year 24 of software engineering and over the last 12 months, I have been ramping on “data science” because of the cloud computing boom. I have already done management (PMP Certified and all of that) but I need to keep up with the latest. Hell, I had to turn down some cloud-computing jobs because I KNEW I was not at expert level and some of these employers are trying to hire anyone who can spell H-A-D-O-O-P.</p>
<p>Keeping up with the latest technology is not hard. Sometimes, you may have to tell the wife to keep the kid(s) upstairs for 2 or 3 nights while I read up on these just-delivered books that I ordered, but it pays off.</p>
<p>Sometimes, I think the demand for software engineers signifies a more seismic shift in the modern economy – and that the job market and education system just haven’t caught up to these new shifts. IMO, jobs that go to computer science majors are clustered into two categories – high skill software jobs, and low skill software jobs. Very often, a basic undergrad education isn’t sufficient for the high skill software jobs – they need additional training or graduate education to perform those jobs well. On the other hand, there are tons of low skill software jobs where a 4 year undergrad computer science education is probably overkill. I know a lot of former classmates who work as web developers today and most of them have probably forgotten 80% of what they learned in school (because why would you need to when you’re just writing simple web apps in PHP or maintaining some web service in Java?)</p>
<p>In the future, schools may teach programming to every student, much like how every student is taught basic typing and computer skills today. Hundreds of years ago, only a select few needed to know how to read and write. We may be entering into a future where pretty much everyone learns how to program, but only a few actually get paid a decent salary for doing it.</p>