US CompSci Enrollment Leaps For 5th Straight Year
dcblogs writes "The number of new undergraduate computing majors in U.S. computer science departments increased more than 29% last year, a pace called 'astonishing' by the Computing Research Association. The increase was the fifth straight annual computer science enrollment gain, according to the CRA's annual survey of computer science departments at Ph.D.-granting institutions. The survey also found that more students are earning a Ph.D., with 1,929 degrees granted — an 8.2% increase over the prior year. The pool of undergraduate students represented in the CRA survey is 67,850. Of that number, 57,500 are in computer science."
Yes, it is astonishing considering how many jobs are available.
It seems that an increasing proportion of Computer Science resumes I receive are from recent graduates who don't know much at all about computer science. They've done a little Java or C++ or VB programming, they've explored such in-depth topics as linked lists and arrays, and they've heard of quicksort.
Anything from complexity analysis, language classification, (heaven forbid) Turing machines, to operating systems, memory management, distributed systems, or synchronization? Hell, hell no.
You just need a little bit more physics, able to deal with circuits, microcontroller and so on. Looks much better than CS at least on paper.
New Economic Perspectives
Worst case, you take a couple of less than stellar jobs at low pay as you build a bit of a rep, then move up or around. After a few years, your accomplishments are more important than your education, anyway. A 4.0 from MIT might help when securing an interview for Google but most places are more concerned about your ability to reliably deliver. If you can save costs, be it through math, engineering, or intuition, at the same time, most places will be glad to have you. You won't be a rockstar but, unless you like a startup culture, it's not a big deal.
If you don't have the prestigious degree, don't worry about it. Instead, work on business skills (e.g., accounting, taxes, business management, networking, and leadership). Straight out of school in 2003 (less-than-prestigious university), I landed a contract as a software tester. Here's a list of my fuck-ups.
- I didn't know the difference between a contractor and an employee. I just knew that it didn't mean stocking shelves at Home Depot at night for minimum wage.
- I didn't know what I was worth and it may have cost me the job; I was second choice and given the position after first choice bailed.
- I didn't know what I was worth, so I was underpaid.
- I didn't incorporate straight away, how to keep books, or what could be written off. The result is that I've probably paid an extra $15k-$20k in taxes over the past decade.
- I went to H&R Block (Taxes R Us) to get my taxes done the first time I started writing stuff off and trusted them way more that I should have. They missed some deductions and also have a few oddities in my tax filings that could get me audited.
- I didn't socialize enough, which left me out of the loop on important things, like other opportunities and even knowing what the contracting organization was paying other contractors. This probably cost me $5k-$10k in my last year alone.
- I didn't stay in touch. People move around and up; your middle manager today may become a senior manager on a high-profile project tomorrow. Keeping in touch will have more opportunities come to you and will give you a leg up in anything you apply to.
- Stepped on toes like I was drunkenly dancing in clogs. I was fortunate enough to have a manager that was willing to insulate me from the office politics so I could get work done.
What I did do right:
- Studied hard. You'd be amazed how far reading the damn book or instruction manual will get you in life. Study the API, read books on the basics, etc. and you'll be above most people.
- Worked diligently. Good performance gets attention. In my case, I was the lone tester and managed to bring down the defects to a very low level.
- Looked for ways to save time. By the end, I used my programming skills plus some off-the-shelf software to be able to write and perform about 300 pages of tests in the course of a week.
- Asked for that letter of recommendation. When my original supervisor announced he was leaving the organization, I asked if he'd be willing to write a letter of recommendation. That baby is the head-shot of job hunting; whenever I fire off an application, it gets me an interview.
- Joined LinkedIn. Sounds corny but it's a great way to keep contact info at your finger tips. It also makes it easier for ex-bosses to prescreen you for a position; open hiring is time consuming and expensive, so it's possible that there will be a choice between hiring you and starting the massive machinery of open hiring. Remember that most people aren't looking for the best person for the job, they are looking for a person that will do the job well.
The skills I learned at school allowed me to execute my duties well. However, from a personal standpoint, I would have done a lot better if I had embraced the business side of things more. Sadly, I learn mostly from my mistakes and not from the mistakes of others.
I managed to retire from the field this year after about 27 years in it.
The path I've seen is bad.
Brutal hours, work holidays and weekends, low status, decent pay.
Actual early death, lots of divorce (if you can manage to get married).
Last job worked us 70+ hours for 2 years. 3 deaths, multiple non-fatal heart attacks. The free lunch and dinner at our desks was a nice perk tho it dropped in quality and healthiness as time went on. The pay was good (about $100 to $125k) in the south.
Now I hear the people who were not laid off are basically being worked even harder and they don't even have the benefits of being laid off.
If you go into CS, do what i did. Live on half of what you made and save the rest.
Because the age discrimination is blatant and fierce.
She was like chocolate when she drank... semi-sweet at first and then increasingly bitter.