According to a study by HERI/UCLA women entering college are less likely to be planning on majoring in computer science than any college freshman class since before the 1970s. David Patterson, President of the ACM, published a good article in the recent issue of Communications of the ACM (Sept. 2005). You can also read about this study on-line in Computing Research News, where I found the graph below:
One of the keynote speakers at Grace Hopper last year suggested that Computer Science has a marketing problem. Unfortunately, many girls learn what computer science must be like by the type of folks who hang out in the computer lab in high school. These are often socially-challenged boys who, despite being outsiders themselves, often have no idea how to make an outsider feel comfortable, or worse, they have no desire to. This stereotype is enforced by movies, television, and popular opinion. I have run into quite a few of these types in my professional career, but more often than not, programmers are real people with other interests and are nice folks. Teachers, in particular, have an opportunity to change these stereotypes. If you are a computer science teacher or if you care about this issue, please join CSTA (Computer Science Teacher’s Association). If you join now, you can become a “charter member” for free!
Patterson suggests a few trends that might affect a student’s choice of major (and potential profession). Particularly, he cites fear of offshoring IT jobs in North America; however, he points out that “US IT employment was 17% higher than in 1999 — 5% higher than the bubble in 2000 and showing an 8% growth in the most recent year — and that the compound annual growth rate of IT wages has been about 4% since 1999 while inflation has been just 2% per year.” Whereas outsourcing is expected to affect only 2-3% of jobs per year for the next decade.
I believe that the biggest factor is the assumption that computer-related jobs are boring. (Patterson cites “the current negative view of the CS professsion by pre-college students, especially females.”) I initially took Computer Science as a back-up skill to balance my seriously unpractical interest in studio art. I had no real idea of what kinds of professions a CS degree would offer me. To the degree that I thought about it, I assumed that I would always be able to get some kind of job if I were desperate for cash to support my loftier or whimsical other life plans. In all fairness, the kinds of jobs that I have held since graduating from college did not really exist when I started school.
Patterson suggested we get the word out about CS, so here goes…
What is so great about being a software engineer?
Dress code I never have to wear stocking or heels or lipstick. Sometimes I do, but it feels different when I’m not obligated to. When I used to work at Macromedia on the Director team we had “dress-up Fridays,” in stark contrast to our friends in other professions where the cooler companies let the employees have “casual Fridays” where they can wear jeans and such.
Flex time I rarely need to be in the office before 11am. 9am meetings are almost forbidden in engineering. When not in crunch time, most workplaces consider it acceptable to come in late because you need to go wind-surfing. Even in crunch time, during the school year, I take off one morning a week to volunteer in my kid’s classroom. “Flex time” can just mean “more time” if you aren’t careful, but there is an opportunity to make it work for you. Most engineers set their own schedule.
The work is fun. It is intellectually stimulating and creative. Most engineers have quite a bit of autonomy in their work. The technology is always changing. You constantly get to learn new things, but at the same time, we just apply the same principals to new problems or new technology to old problems, so there is familiarity in the new stuff too.
You can work at home. This can be a double-edged sword and you can be sucked in to just working more, but it sure is nice to sleep late and roll into work in your pajamas. If your kid is sick, you don’t have to miss a day of work.
All professions need computer skills. You don’t need a PhD in biology to do ground-breaking research if you have a CS degree. Unlike many other professions, when you graduate with a CS degree, you have all the practical skills needs to start working. Strong computer skills will give you entry into almost any profession. Compter science goes well with other disciplines. There is tremendous growth in opportunities where people are combining CS with other interests in other seemingly-unrelated fields.
What about you? If you are one of the technical folk, what makes it great? What should a college freshman know about this work that would help them make an informed decision?