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?

I ran across a reference to Dan Boyarski and his class on “Time, Motion, and Communication” at CMU while reading an interesting thread kicked off by Dan Saffer on the idxg list (via Dani Malik at Laszlo). He questions the role (or lack thereof) of the page in “Web 2.0” . Inspired to learn more, I enjoyed reading Dan Boyarski’s keynote speech for Designthinkers 2001.

Dan Boyarski talks about his discovery of teaching motion, rhythm, and time in a typography class. I wish I could see the visual presentations that went along with this talk, and not just a transcript, but I can imagine from his vivid descriptions. He talked about how he invites folks from the drama department to talk to his students. They start using theater words to describe a presentation, like the design students are directors, which of course they are.

It is wonderful to read about his transition from purely print design to motion graphics and interaction. He also talks about about the web:

“The web right now replicates paper. The web replicates books. And that’s natural. McCluhan had a wonderful saying about ‘driving into the future looking at the rear view mirror’ because that’s what we know. That’s what we’ve left. That’s what we’re comfortable with. We’re comfortable with books, so we talk about web pages. There’s nothing physical on the web and why do we still put pieces of paper on the screen and you click on a button, another piece of paper comes up. Click on another button, another piece of paper comes up. We’ve forgotten that that screen is simply a window into a space.”

What else can we do, but learn from our experiences and apply those experiences to a new medium? Is “a window into a space” any less a view from our rear view mirror than a page in a book? Metaphors are useful. They help us find our way around. Despite their familiarity, actually because of it, they help us discover (or invent) new parts of a working system. We need to start thinking about the web with new metaphors when we want to create things that don’t fit the old ones.

The web was created mostly for publishing documents. The page metaphor is unsurprising and has proven useful. Layered on top of that are links, with anchors, and navigation that let us travel from web site to web site. Oddly a set of web pages are not referred to as a book, but rather as a place. These mixed metaphors are not a problem, but rather each has its own domain, and these domains overlap to cover what might otherwise be a disturbing and disorienting venture into cyberspace.

Boyarski points out that we’ve “forgotten” that we are not restricted to the page metaphor. Software is flexible, and can create an alternate model. In particular, web applications have evolved that don’t particularly fit the page metaphor, but changing the metaphor requires both a shift in technology and a different approach to design.

Working at Laszlo, which coined the term Cinematic User Experience, I’ve enjoyed diving into an alternate, more appropriate metaphor for application design and development. I may be called a “software architect,” but we don’t create blueprints for an application, we create story boards. We write scripts which drive the development of initial prototypes. The application changes over time in a way that is analogous to film, but the changes are typically triggered by user interaction or changes in data from the network. We borrow other words from film and video production to describe transitions. A new element may slide in or fade out.

The metaphor isn’t a perfect fit and it doesn’t need to be. Its comfortable, yet can lead me to think in new ways about an old problem. Sometimes watching a film or the evening news can provide an idea to apply to this new medium. Like a student that Dan describes who borrowed the motion of elevator doors opening to pace his animation effectively, sometimes it helps to look in the rear view mirror while we create the future.