Posts tagged ‘jobs’
ACM has just released a report arguing for the need for computer science in K-12 schools. They are very strongly making the jobs argument. The appendix to the report details state-by-state what jobs are available in computing, the salaries being paid for those jobs, and how many computing graduates (including how many AP CS exams vs other AP exams were taken in 2013) in that state.
The report Rebooting the Pathway to Success: Preparing Students for Computing Workforce Needs in the United States calls on education and business leaders and public policy officials in every state to take immediate action aimed at filling the pipeline of qualified students pursuing computing and related degrees, and to prepare them for the 21st century workforce. The report provides recommendations to help these leaders join together to create a comprehensive plan that addresses K-12 computer science education and that aligns state policy, programs, and resources to implement these efforts.
I found the analysis linked below interesting. Most IT workers do not have an IT-related degree. People with CS degrees are getting snapped up. The suggestion is that there’s not a shortage of IT workers, because IT workers are drawn from many disciplines. There may be a shortage of IT workers who have IT training.
IT workers, who make up 59 percent of the entire STEM workforce, are predominantly drawn from fields outside of computer science and mathematics, if they have a college degree at all. Among the IT workforce, 36 percent do not have a four-year college degree; of those who do, only 38 percent have a computer science or math degree, and more than a third (36 percent) do not have a science or technology degree of any kind. Overall, less than a quarter (24 percent) of the IT workforce has at least a bachelor’s degree in computer science or math. Of the total IT workforce, two-thirds to three-quarters do not have a technology degree of any type (only 11 percent have an associate degree in any field).4
Although computer science graduates are only one segment of the overall IT workforce, at 24 percent, they are the largest segment by degree (as shown in Figure F, they are 46 percent of college graduates entering the IT workforce, while nearly a third of graduates entering IT do not have a STEM degree). The trend in computer scientist supply is important as a source of trained graduates for IT employers, particularly for the higher-skilled positions and industries, but it is clear that the IT workforce actually draws from a pool of graduates with a broad range of degrees.
The College of Computing at the Georgia Institute of Technology in Atlanta, Georgia invites applications for full-time, non-tenure-track faculty positions at the rank of Instructor or Lecturer (based on experience) to start in May 2014. Primary responsibilities are to provide high quality classroom teaching and service to the department. In addition, the College is specifically looking for candidates interested in performing as Instructor of Record for large online master’s degree courses with prerecorded video lecture content. Applicants must have a minimum of a Master’s Degree in Computer Science or a related field. This position is renewable annually based on funding and the needs of the College. This is a 9 month contract although summer teaching is typically available.
Applications should include a cover letter, curriculum vitae, teaching statement, material relevant to evaluating the applicant’s teaching abilities, and the names of at least three references. These documents should be emailed to firstname.lastname@example.org with “Lecturer Vacancy” in the subject line. Also, candidates are requested to ask references to send their letters directly to the search committee via electronic mail to email@example.com and ask them to put your name in the subject line. For full consideration, interested individuals are asked to apply by April 15, 2014. However, posting will remain open until position(s) are filled.
Duties, Responsibilities and Assignments
The overall responsibility of the lecturers and instructors at the College of Computing is to teach such Computer Science classes as are assigned to them, usually the large first and second year classes. The specific duties involved in teaching such a class are:
1. Preparing and maintaining a class syllabus and schedule.
2. Preparing and delivering materials for each of the scheduled meeting times of the class. For Online courses monitor course progress and activity and respond appropriately to any problems.
3. Holding regularly scheduled office hours to assist students who are having any difficulty with course materials.
4. If Teaching Assistants (TAs) are required for the class,
- a. Making the selection of TAs to hire for the class
- b. Ensuring that each TA is trained with respect to their legal obligations to the students and to the technical content of the class.
- c. Ensuring appropriate conduct of the TAs.
5. Supervising the development of, and approving the content of, all assignments given to the students in the class.
6. Supervising the development of, and approving the content of, all evaluation materials given to the students in the class.
7. Supervising and ensuring the correctness and fairness of all grading activities in the class.
8. Computing and delivering to the Registrar’s Office mid-term and final grades for the class.
9. Assisting in reviews of their fellow lecturers on a regular basis.
10. Participating in committees and other administrative activities as required by the administration.
A slightly different pattern for me: Check out the quote first, and I’ll add comments after.
Let us consider the conundrum facing the computer field in higher education first. It is experiencing an exponentially increasing demand for its product with an inelastic labor supply. How has it reacted? NSF has made a survey of the responses of engineering departments, including computer science departments in schools of engineering, to the increasing demand for undergraduate education in engineering. There is a consistent pattern in their responses and the results can be applied without exception to the computer field whether the departments are located in engineering schools or elsewhere. 80% of the universities are responding by increasing teaching loads, 50% by decreasing course offerings and concentrating their available faculty on larger but fewer courses, and 66% are using more graduate-student teaching assistants or part-time faculty. 35% report reduced research opportunities for faculty as a result. In brief, they are using a combination of rational management measures to adjust as well as they can to the severe manpower constraints under which they must operate. However, these measures make the universities’ environments less attractive for employment and are exactly counterproductive to their need to maintain and expand their labor supply. They are also counterproductive to producing more new faculty since the image graduate students get of academic careers is one of harassment, frustration, and too few rewards. The universities are truly being choked by demand for their own product and have a formidable people-flow problem, analogous to but much more difficult to address than the cash-flow problem which often afflicts rapidly growing businesses. There are no manpower banks which can provide credit.
This quote was presented by Eric Roberts in his keynote earlier this month at the NSF-sponsored Future Computing Education Research Summit (well organized by Steve Cooper). The highlight is my addition, because I was struck by the specificity of the description. I find the description believable, and it captures the problems of CS higher-education today, especially in the face of rising enrollments in CS classes (discussed by Eric Roberts here and by Ed Lazowka and Dave Patterson here).
What makes this analysis scarier is that the paper quoted was published in 1982. Back in the 1980′s, the state Universities had the mandate and the budget to grow to meet the demand. They didn’t always have the CS PhD graduates that they needed, so some Math and EE PhDs became CS faculty. Today, though, the state Universities are under severe budget constraints. How will we meet the demand in enrollment? In the 1980′s, some CS programs met the demand by raising the bar for entering the CS major, which ended up make CS more white and male (because only the more privileged students were able to stay above the bar). Will our solutions lead to less diversity in CS? Will we lose more faculty to industry, and replace them with MOOCs?
The linked article below provides results I’ve seen before — that the average income of college-educated is much higher than the non-college-educated. I had not yet seen the below claim: Most inventors and entrepreneurs, the individuals who impact economic growth, are also predominantly college educated. The model of the college-dropout entrepreneur is the exception, not the rule. This is important for computing, too, where our model of the dropout CEO of the startup is legendary — but really rare. If you want to create a computing company, you’re best off getting computing education.
Those who most directly impact economic growth—inventors and entrepreneurs—also tend to be highly educated. A Georgia Tech survey of patent inventors found that 92 percent had a bachelor’s degree, almost exclusively in STEM (Science, Technology, Engineering, and Mathematics) subjects. Likewise, almost all of the founders (92 percent) of the high-tech companies that have powered GDP in recent decades are college educated, especially in STEM fields. Thus, it is no surprise that macroeconomic research finds very large gains from education on economic growth at both the international and regional levels, as the research of Harvard’s Ed Glaeser and many others has shown.
An interesting paper I found reading Annie Murphy Paul’s blog. An Expressed Interest is an answer to a question like “What career do you plan to pursue after College?” A Measured Vocational Interest is measuring an interest in mathematics, and suggesting that the student go into accounting. The former are far more predictive of future careers than the latter. Why are we so bad at predicting what field someone should go into based on their base interests? I’ll bet that it has to do with more things than just interests, like Eccles model of academic achievement (how do people think about this career? can you see yourself in this career?) and values (which are different than interests).
I have a CS Ed PhD depth exam meeting later this morning. One of the committee members can’t make it, because she’s a UK faculty member who is going on strike today. (BBC coverage here.)
The concerns of the strikers (press release linked below) seem pretty similar to the issues that we have in the United States: No pay raises for faculty (University System of Georgia faculty haven’t had a pay raise since 2008), big salaries for upper administration, and increasing middle management bloat. Interesting to see if this picks up on this side of the Atlantic.
UCU, UNISON and Unite trade unions announced today that their members working in higher education will walk out on Thursday 31 October in an increasingly bitter row over pay.
Staff have been offered a pay rise of just 1% this year, which means they have suffered a pay cut of 13% in real terms since October 2008. Will Hutton this weekend highlighted that as one the most sustained cut in wages since the Second World War.
The squeeze on staff pay comes at a time when pay and benefits for university leaders increased, on average, by more than £5,000 in 2011-12, with the average pay and pensions package for vice-chancellors hitting almost £250,000.
The Brogrammer Effect: Women Are a Small (and Shrinking) Share of Computer Workers – Jordan Weissmann – The Atlantic
Good to see The Atlantic caring about this. I don’t see much evidence offered that it’s a “Brogrammer” effect, though, other than the title.
So here’s why everybody, whether or not they’ve ever given a hint of thought to brogrammers and the social mores of Silicon Valley or Alley or Beach, should care. A large part of the pay gap between men and women boils down to the different careers they pursue. And STEM jobs, with their generally high salaries, are an especially important factor. Meanwhile, as the Census notes, computer fields make up about a half of STEM employment. So when you talk about women retreating from computer work, you’re talking about a defeat for their financial equality.
I answered the criticism leveled below previously — it really is the case that many people who aren’t professional programmers are going to need to learn to program as part of their other-than-software jobs. Why are programmers pushing back against people learning to code? (And there seems to be a lot of pushback going on, as this mashup suggests.) Is it a sense of “What I do is important, and if everyone can do it, it lessens the importance”? I don’t really think that they’re afraid for their jobs — it does take a lot of hours and effort to learn to code well.
The argument that it won’t “stick” (as suggested below) doesn’t work for me. Just because we don’t know now how to teach computer science to everyone doesn’t mean that we can’t learn how to teach computer science to everyone who needs it. Our lack of ability is not the same as the lack of need. We don’t teach everyone to read well and understand mathematics yet — does that mean we shouldn’t try?
But if you aren’t dreaming of becoming a programmer—and therefore planning to embark on a lengthy course of study, whether self-directed or formal—I can’t endorse learning to code. Yes, it is a creative endeavor. At its base, it’s problem-solving, and the rewards for exposing holes in your thinking and discovering elegant solutions are awesome. I really think that some programs are beautiful. But I don’t think that most who “learn to code” will end up learning anything that sticks. One common argument for promoting programming to novices is that technology’s unprecedented pervasiveness in our lives demands that we understand the nitty-gritty details. But the fact is that no matter how pervasive a technology is, we don’t need to understand how it works—our society divides its labor so that everyone can use things without going to the trouble of making them. To justify everyone learning about programming, you would need to show that most jobs will actually require this. But instead all I see are vague predictions that the growth in “IT jobs” means that we must either “program or be programmed” and that a few rich companies want more programmers—which is not terribly persuasive.
I saw the below exchange on Twitter, and thought it captured the argument well:
I’m interested in the discussions about corporate involvement in higher education, but am still trying to understand all the issues (e.g., who has a bigger stake and greater responsibility for higher education, industry or government). The point made below is one that I have definite opinions about. If we’re trying to improve higher education, why not try to make it more effective rather than just lower cost? I disagree with the below that we have to have 16:1 student:teacher ratios to have effective learning. We can increase those student numbers, with good pedagogy, to still get good learning — if we really do focus on good learning. Why is all the focus on getting rid of the faculty? Reducing the labor costs by simply removing the labor is unlikely to produce a good product.
There is a lot wrong in this apples to oranges comparison, but the point is obvious—cutting labor costs is the path to “education reform,” not research and improved pedagogy. This is “reform” we need to reject when applied to public education. I say this without reservation: when it comes to education, you pay for what is most effective. Period. If small class sizes produce better teaching and learning, then that’s what you support when appropriate. Whatever your approach, stop conflating economic restructuring and education reform; it’s dishonest.
I finished Nathan Ensmenger’s 2010 book “The Computer Boys Take Over: Computers, Programmers, and the Politics of Technical Expertise” and wrote a Blog@CACM post inspired by it. In my Blog@CACM article, I considered what our goals are for an undergraduate CS degree and how we know if we got there. Ensmenger presents evidence that the mathematics requirements in undergraduate computer science are unnecessarily rigorous, and that computer science has never successfully become a profession. The former isn’t particularly convincing (there may be no supporting evidence that mathematics is necessary for computer programming, but that doesn’t mean it’s not useful or important), but the latter is well-supported. Computer programming has not become a profession like law, or medicine, or even like engineering. What’s more, Ensmenger argues, the efforts to professionalize computer programming may have played a role in driving away the women.
Ensmenger talks about software engineering as a way of making-do with the programmers we have available. The industry couldn’t figure out how to make good programmers, so software engineering was created to produce software with sub-par programmers:
Jack Little lamented the tendency of manufacturers to design languages “for use by some sub-human species in order to get around training and having good programmers.” When the Department of Defense proposed ADA as a solution to yet another outbreak of the software crisi, it was trumpeted as a means of “replacing the idiosyncratic ‘artistic’ ethos that has longer governed software writing with a more efficient, cost-effective engineering mind-set.”
What is that “more efficient” mind-set? Ensmenger suggests that it’s for programmers to become factory line workers, nearly-mindlessly plugging in “reusable and interchangeable parts.”
The appeal of the software factory model might appear obvious to corporate managers; for skilled computer professionals, the idea of becoming a factory worker is understandably less desirable.
Ensmenger traces the history of software engineering as a process of dumbing-down the task of programming, or rather, separating the highest-ability programmers who would analyze and design systems, from the low-ability programmers. Quotes from the book:
- They organized SDC along the lines of a “software factory” that relied less on skilled workers, and more on centralized planning and control…Programmers in the software factory were machine operators; they had to be trained, but only in the basic mechanisms of implementing someone else’s design.
- The CPT, although it was developed at the IBM Federal Systems Division, reflects an entirely different approach to programmer management oriented around the leadership of a single managerially minded superprogrammer.
- The DSL permits a chief programmer to exercise a wider span of control over the programming, resulting in fewer programmers doing the same job.
In the 1980’s, even the superprogrammer was demoted.
A revised chief programmer team (RCPT) in which “the project leader is viewed as a leader rather than a ‘super-programmer.’” The RCPT approach was clearly intended to address a concern faced by many traditionally trained department-level managers—namely, that top executives had “abdicated their responsbility and let the ‘computer boys’ take over.”
The attempts to professionalize computer programming is a kind of response to early software engineering. The suggestion is that we programmers are as effective at handling projects as management. But in the end, he provides evidence from multiple perspectives that professionalization of computer programming has failed.
They were unable, for example, to develop two of the most defining characteristics of a profession: control over entry into the profession, and the adoption of a shared body of abstract occupational knowledge—a “hard core of mutual understanding”—common across the entire occupational community.
Ensmenger doesn’t actually talk about “education” as such very often, but it’s clearly the elephant in the room. That “control over entry into the profession” is about a CS degree not being a necessary condition for entering into a computing programming career. That “adoption of a shared body of abstract occupational knowledge” is about a widely-adopted, shared, and consistent definition of curriculum. There are many definitions of “CS1” (look at the effort Allison Elliott Tew had to go through to define CS1 knowledge), and so many definitions of “CS2” as to make the term meaningless.
The eccentric, rude, asocial stereotype of the programmer dates back to those early days of computing. Ensmenger says hiring that followed that stereotype is the source of many of our problems in developing software. Instead of allowing that eccentricity, we should have hired programmers who created a profession that embraced the user’s problems.
Computer programmers in particular sat in the uncomfortable “interface between the world of ill-stated problems and the computers.” Design in a heterogeneous environment is difficult; design is as much as social and political process as it is technical[^1]; cultivating skilled designers requires a comprehensive and balanced approach to education, training, and career development.”
The “software crisis” that lead to the creation of software engineering was really about getting design wrong. He sees the industry as trying to solve the design problem by focusing on the production of the software, when the real “crisis” was a mismatch between the software being produced and the needs of the user. Rather than developing increasingly complicated processes for managing the production of software, we should have been focusing on better design processes that helped match the software to the user. Modern software engineering techniques are trying to make software better matched to the user (e.g., agile methods like Scrum where the customer and the programming team work together closely with a rapid iterative development-and-feedback loop) as well as disciplines like user-experience design.
I found Ensmenger’s tale to be fascinating, but his perspective as a labor historian is limiting. He focuses only on the “computer programmer,” and not the “computer scientist.” (Though he does have a fascinating piece about how the field got the name “computer science.”) Most of his history of computing seems to be a struggle between labor and management (including an interesting reference to Karl Marx). With a different lens, he might have considered (for example) the development of the additional disciplines of information systems, information technology, user experience design, human-centered design and engineering, and even modern software engineering. Do these disciplines produce professionals that are better suited for managing the heterogeneous design that Ensmenger describes? How does the development of “I-Schools” (Schools of Information or Informatics) change the story? In a real sense, the modern computing industry is responding to exactly the issues Ensmenger is identifying, though perhaps without seeing the issues as sharply as he describes them.
Even with the limitations, I recommend “The Computer Boys Take Over.” Ensmenger covers history of computing that I didn’t know about. He gave me some new perspectives on how to think about computing education today.
[^1]: Yes, both semi-colons are in the original.
I read this piece as an explanation for a computing culture that leads to “Donglegate” and a thousand paper cuts. Hostile, uncommunicative, arrogant, impolite, eccentric — none of those are impediments to getting hired. That’s what we have to change to broaden participation in computing. We have to change the culture.
Snowden’s lack of formal education—no high school diploma—wouldn’t have bothered me. The ideal was a person who was sharp, independent, systematic, and very careful. The top tech programs—at places such as MIT, Caltech, Carnegie Mellon, Stanford, UC–Berkeley, and the Ivies— produced many strong candidates, but a computer science degree from most other universities was less of a positive indicator. People with nontraditional educations sometimes did just as well. They usually had some gaps in their knowledge of algorithms and data structures, but I cut them slack, because teaching yourself is harder than being taught, and often more valuable. If you could run the gauntlet of five or six whiteboard coding tests, you stood a good chance of being hired. Sometimes an applicant would be too hostile or uncommunicative, but for me at least, technical skill was the deciding factor the vast majority of the time. There are a nontrivial number of techies who are smart but literally impossible to work with because they are incapable of compromise or politeness. When eccentricity is the norm, it’s hard to have a litmus test for what acceptable eccentricity is.
Google has found that being great at puzzles doesn’t lead to being a good employee. They also found that GPA’s aren’t good predictors either.
Nathan Ensmenger could have told them that. His history The Computer Boys Take Over shows how the relationship between academic mathematics and brainteasers with computer science hiring was mostly an accident. Human resources people were desperate to find more programmers. They used brainteasers and mathematics to filter candidates because that’s what the people who started in computing were good at. Several studies found that those brainteasers and math problems were good predictors of success in academic CS classes — but they didn’t predict success at being a programmer!
How many people have been flunked out of computer science because they couldn’t pass Calculus — and yet knowing calculus doesn’t help with being a programmer at all?!?
You can stop counting how many golfballs will fit in a schoolbus now. Our Favorite Charts of 2013 So FarBen Bernanke Freaked Out Global MarketsGoogle has admitted that the headscratching questions it once used to quiz job applicants (How many piano tuners are there in the entire world? Why are manhole covers round?) were utterly useless as a predictor of who will be a good employee.”We found that brainteasers are a complete waste of time,” Laszlo Bock, senior vice president of people operations at Google, told the New York Times. “They don’t predict anything. They serve primarily to make the interviewer feel smart.”
Kevin Karplus recently wrote a post (on his highly-recommended Gas Station without Pumps blog) about why funding the new AP CS:Principles (AP CS:P) is such a bad idea, mentioning my positive comments on the news. I actually agree with many of the Gas Station points, but I have a more optimistic take on them.
CS:P was never meant to give credit towards a computing degree. The attestation effort showed that many schools do offer some kind of course like what’s in CS:P. It’s true at UCSC, too:
My own campus has several intro programming courses, some at the level of the AP CSP course. I suspect that our campus would offer credit in these low-level courses for the AP CSP exam. These lowest-level courses do not count towards any major, though—they provide elective credit for what should be high-school level courses. The intent (as is apparently the intent for AP CSP) is to provide an extremely low barrier to entry into the field.
That’s really the main point. We need more CS education in high schools. When there’s only 1 AP CS teacher for every 12 high schools, there is very little computer science education out there. AP courses is a big lever to get low barrier courses out there.
Gas Station then points out that courses like these may not actually have much of an impact downstream.
I don’t know how well the low barrier to entry works, though. I’ve not seen much evidence on our campus that the lowest level courses produce many students who continue to take higher level CS courses…We still have appallingly low numbers of women finishing in CS (and the new game-design major within CS is even more heavily male), so I can’t say that the lower-level intro courses have done much to address the gender imbalance.
That’s a fair point. We don’t know that it will work to get more students into computing. I just did a Blog@CACM post that suggests that the evidence we have is promising in terms of impact on careers, especially for under-represented minorities. You can’t really use a single campus to test the idea though. The game is at the level of thousands of high schools where there is no computer science at all.
I share the Gas Station concern over the professional development challenge.
The success of CSP also depends on thousands of high schools suddenly deciding to teach the course and getting training for their teachers to do this. I (along with many others) have grave doubts that the schools have the desire or the ability to do this. It is true that the CSP course should be a bit easier to train people for than the current AP CS A course (if only because Java syntax, the core of CS A, is so deadly dull).
The question that we need answered is: how important the “Advanced Placement” lever is? Is it so important (big payoff) that having a more accessible AP course in CS (thus, lower cost to adopt) changes the balance for schools? I just had an all-day meeting with folks from the Georgia Department of Education two weeks ago, and they are building AP CS:P into their curriculum plans because it’s now AP. That designator matters. Does it matter enough to draw more teachers into professional development, to get more schools to hire CS teachers? I’m optimistic, but I share the Gas Station concern.
We should also be clear that there really isn’t a single “CS:Principles” course yet. There have been several pilots, and some assessment questions tested, but there is no well-defined curriculum yet and no exemplar test. I have exactly the same question as Gas Station:
The new CSP exam is not supposed to be so language-dependent, which may allow for better pedagogy. Of course, I’m curious how the exam will be written to be language-independent, and whether it will be able to make any meaningful measurements of what the students have learned.
The plan is to use a portfolio approach, like what’s being used in art AP exams now. I really don’t know if it’ll work. I trust that the people working on it, but do see it as an unsolved problem.
I don’t share the Gas Station concern about “Gresham’s Law for pedagogy” (which I’d not heard of previously):
I suspect that the easier AP CSP will replace AP CS A at many high schools, and that CS A will disappear the way that CS AB did in May 2009 (Gresham’s Law for pedagogy: easier courses drive out harder ones). Whether this is a good or bad outcome depends on how good the AP CSP course turns out to be.
The fact that there already are CS:P-like courses on many campuses, co-existing with CS1’s (intro CS for majors) is evidence that easier courses don’t always drive out harder ones. On our campus, we offer three CS1’s. The MediaComp course would probably be easier for Engineering students than the challenging MATLAB-based on that they currently require, but the Engineering faculty have not been eager to swap it out. The existence of “Physics for Poets” and Calculus aimed at different kinds of students is more evidence that Gresham’s Law doesn’t always hold for classes.
There are lots of challenges to CS:P. AP CS Level A is doing better these days, and I’m glad for that. I want both to succeed. I want a lot of CS in lots high schools. Will the new AP CS:P lead to more CS majors and more people in computing careers? I don’t know — I think so, but I’m not really worried about it. I believe in “computing for everyone” and that lots of people (even non-IT professionals) need to know more about computer science, so having more access to computing education in more schools is a positive end-goal for me.
My colleagues at CAITE sent me a PDF of the whole article, since you can only get the lead paragraph at the Boston Globe site. It’s good news!
Executives from Google Inc., Microsoft Corp., and other leading firms want to require all Massachusetts public schools to teach computer science, so local tech companies don’t have to rely on foreign workers to fill future programming and engineering jobs.