@intparent 's business suggestion is a good one. Another approach is to go at CS 100% and get good at it. That is good insurance too.
For people who can manage, a second major in math is pretty useful for CS. I wouldn’t recommend it for anyone who would have trouble managing though.
The 2001-2003 downturn was much greater in the computer industry than the overall economy. Unlike the finance industry, the computer industry did not bring the whole economy down with itself, so overall unemployment rates rose relatively modestly.
It was 7% in the computer industry. May be an underestimate by an interested party but looks reliable enough based on the context of the message: https://www.ieeeusa.org/communications/releases/2004/022604pr.html
There are some worrying factors mentioned here for sure. Worth a read if you’re wondering what to worry about. Though in part, it might have just been a market correction after the SV bubble of 1999-2000.
For CS people, there was a huge boom in the late 90s, followed by a huge bust for several years after 2001. Things were much worse than the numbers suggest. Lots of programmers left the tech industry altogether and never came back. I’m a contractor and had to drop my hourly rate by about 40%. There were lots of stories in the media about people who took jobs without a salary, simply so they wouldn’t have big gaps in their resumes.
I’d say we’re in a mini-boom right now, so I wouldn’t expect any bust to be as bad as it was 15 years ago.
I don’t think there are too many CS graduates. US universities still aren’t producing enough to meet demand. I agree with some others who think H-1B policy is the biggest factor affecting the future of American programmers.
Personally I think that much of the current social media software commodity work will die down (the bubble will probably slowly deflate rather than pop), taking that portion of the “tech” sector down with it. As with the previous crash, it will probably lead to double-digit unemployment rates within the sector specifically (or maybe just prolonged 10%), and mid single-digit unemployment in CS overall.
The advantage of CS is that the skills you learn there are valuable in a lot of fields, especially if you have substantial experience in a related field like math, science, or engineering. Tech is only one of multiple sectors within the field, though probably the most popularized (because everyone has heard of Apple, Google, Facebook, etc, and how many vanity “perks” they provide). But the truth is that many companies that need CS skills don’t have enough high-quality recruits because the tech companies take the lion’s share. There are many good opportunities to be found there, especially now when the economy is favorable for CS.
Along with H1-Bs, I think you have to worry about some rather shady corporate practices that take place in tech. A good example is the price fixing scandal of all the big tech companies that took place a few years ago. I’ve seen this stuff in “tech” more often than in most other businesses, so beware.
It is not really H-1B policy per se, but outsourcing. Outsourcing companies happen to be the main abusers of the H-1B visas, taking them from their lower end IT workers and crowding out the high end talent that often graduated with US advanced degrees. But if the outsourcing companies were pushed out of the H-1B visas (which they should be, as the intent was to offer them to top-end talent), they would probably just offer their outsourcing services using people in other countries. People working in parts of a business that are seen as only costs that need cutting, rather than important parts of the future of the business, are probably most vulnerable to having their jobs replaced by outsourcing.
Outsourcing, particularly offshore outsourcing, became a business fad at around the same time as the bubble crash of 2001-2003, making the employment situation worse during that time. Of course, it still exists, but no longer to the level where one’s offshore outsourcing plan was seemingly more important to investors than other parts of one’s business plan, presumably because it was discovered that going with the cheapest outsourcing company got quality to match.
From what I remember, it was not price fixing, it was agreements between companies not to actively recruit each others’ employees. The effect was that employees who were not actively looking for jobs but were prone to changing jobs if offered higher compensation were less likely to get opportunities to gain higher compensation.
In the end, the result is price fixing (or more specifically, wage-fixing) by any other name. Here’s an article for the interested: http://www.cnet.com/news/apple-google-others-settle-anti-poaching-lawsuit-for-415-million/
Wage levels for top-tier employees went up significantly (double digit percentages) in the years after this practice stopped.
Ummm, not really. Price fixing means that the companies agreed to set limits on the pay levels of employees rather than compete with each other on pay. The non-recruiting agreements were something different in that they reduced the competition for any given employee (not prone to looking on his/her own, but prone to moving if offered higher pay). The practice was a different kind of anti-competitive behavior, probably most analogous to the collusion that has occurred in Major League Baseball with respect to agreements not to recruit free agents from other teams (e.g. 1985-1987).
Would getting a MS in CS help me stand out in the job market, and help me land a six figure software developer job?
You’ll get different answers depending on who you ask. I’ll give my opinion that reflects my perception of what it seems like.
In and of itself, the salary boost isn’t that large, but if you are actually very good at the difficult stuff (i.e. things that you actually have to study academically to understand, like algorithm design or machine learning) and at soft skills (strong writing and speaking skills), you’ll have a much faster progression up the career ladder (both for management and technical leadership).
If you aren’t particularly good at the academic side of CS (proofs, statistics, mathematics in general really), then the benefit of a Masters is marginal at best. Your salary increase might be 10% in a corporate environment, and a bit higher on a government payroll (but government jobs pay less overall most of the time). Would potentially be worth it to get a classes-only MS part-time if your employer pays for it. An out-of-school MS is considered to be worth 2 years of experience, which is nothing special and not worth the cost in and of itself.
Basically, MS is mostly worth it if it opens up more lucrative opportunities that otherwise wouldn’t exist. If you work in the same job as a BS, then you have little to no advantage.
I don’t think a minor in Business will do that much for you, although of course take the classes if you will find them interesting. If you become a TALENTED software engineer (not so easy to do) that is the most important predictor of success.
As for the collapsing of the late 90’s tech bubble-- remember that we were in many ways in the infancy of computing as applied to our daily lives. The internet was just getting going, Google was primarily a search engine, and Facebook didn’t exist. Computers are now much more integral and the applications for them still seem to be increasing- we have yet to fully implement electronic medical records, autonomous cars seem to be on the way, homes are becoming smarter, we are still developing robotics. Data collection is increasing and must be managed. None of this is going away.
Not really. It may be seen as equivalent to a year or two more experience (but actual work experience would pay more than even a funded master’s degree program). An exception may be if your master’s degree study happened to be directly related to something the employer wants. People with master’s degrees are not that unusual.
If you do get unlucky and graduate with your bachelor’s degree in an industry downturn, going to a funded graduate program may be the best available option if the alternative is the unemployment line.