There are lots of important reasons for teaching K-12 / pre-university students computer science. Providing the first step towards ultimately becoming a computing professional is just one, which applies to a minority of the students; for most it is an important life skill that they will use as citizens and in whatever jobs they have. But some – hopefully more as we teach more computer science in schools –go on to become computer professionals. So it may be interesting to share some insights into what their prospective employers are looking for.
I’ve been fortunate to have the opportunity to interface with lots of computing employers for years, both tech companies and other companies looking for computing talent. I’ve done this in a variety of regions of the US, primarily Indiana (where I was from 2007-15), Colorado (where I’ve been the rest of my adult life), and the Bay Area (where I go frequently for professional reasons and to keep our airlines solvent).
Regardless of the region, or the size or type of company, one hears a consistent set of desires for computing employees: 1) we need more of them; 2) we need better diversity; 3) we need them to have strong non-technical as well as technical skills. K-12 computer science teachers can play an important role in all these regards.
The quantity need is self-explanatory. If there is any surprise, it is that everyone says this – whether famous large companies or small ones, whether situated in a tech hotbed or not, whether tech companies or other types. University computer science enrollments have exploded in recent years – tripled or more at many places – but it’s still not satisfying demand. The huge increase in students taking things like CS AP hopefully points to even more growth.
Companies view diversity as a social imperative but even more as a business imperative. It is documented that diverse teams produce greater creativity and better business results. And products designed for a diverse market need diverse input in their creation. We are seeing progress in the gender and ethnic diversity of students learning computer science in schools but have a long way to go to produce a computing workforce that reflects society.
Finally, managers almost always stress the non-technical skills computing professionals need beyond computing: communication, collaboration, often some business understanding, ethics, and more. Being a computing professional has evolved to a job where one often works on professionally diverse teams, and on projects (e.g. autonomous vehicles, or social networks) that require a sensibility about people and the world. Working practice of those skills into your computing course is a good way to reinforce their importance. And when that student who already has taken several computing classes comes to you to ask about another, it might be good to point them to a communication class instead!
Bobby Schnabel, Partner Representative