To Solve the Diversity Drought in Software Engineering, Look to Community Colleges
It’s a solution hiding in plain sight.
Like precisely 100 percent of developers and programmers I have an opinion on coding bootcamps, a faddish alternative education model where participants learn specific real-world skills via concentrated coursework in usually in-personal classrooms. It’s a very expensive model, one in which students can easily spend five figures on even not very flashy programs. My opinion is pretty simple: You can do that and it may well get you a web development job that is a lot like other web development jobs, but you should at least consider community college.
Community college is not flashy and does not make promises about your future employability. You will also likely not learn current way-cool web development technologies like React and GraphQL. In terms of projects, you’re more likely to build software for organizing a professor’s DVD or textbook collection than you are responsive web apps. I would tell you that all of this is OK because in community college computer science classes you’re learning fundamentals, broad concepts like data structures, algorithmic complexity, and object-oriented programming.
You won’t learn any of those things as deeply as you would in a full-on university computer science program, but you’ll get pretty far. And community college is cheap, though that varies depending on where you are. Here in Portland, OR, the local community college network charges $104 per credit. Which means it’s possible to get a solid few semesters of computer science coursework down for a couple of grand. Which is actually amazing.
In a new piece published in the Communications of the ACM, Silicon Valley researchers Louise Ann Lyon and Jill Denner make the argument that community colleges have the potential to play a key role in increasing equity and inclusion in computer science education. If you haven’t heard, software engineering has a diversity problem. Access to education is a huge contributor to that, and Denner and Lyon see community college as something of a solution in plain sight.
“[T]here is a high participation of minorities in CS at CCs; more than half of CC students are non-white, and more than half of all Hispanic and Black undergraduates start at community college,” the authors write. “Efforts to retain students through transfer to completion of a bachelor’s degree would be a large step forward in helping diversify the field.”
“We argue that an understanding of the unique strengths and challenges of CC students is needed to strengthen efforts to broaden participation in CS.”
The commonly accepted education model in the US is that people graduate from high school and then start right away at a four-year college. This is the pipeline model. White middle-class parents take their kids to IKEA or Target and drop them off at a dormitory with a hug. And then there are the “other” people that go to community college and learn, like, auto repair.
Lyon and Denner note that the pipeline model has the general effect of suppressing diversity. They point to an alternative in which community college functions as a link between students of non-traditional backgrounds and traditional universities. Students spend a year or two in community college hammering out core classes and then transfer to a university. Which is a nice idea, but, as they explain, it’s mostly a nice idea in theory. Those first years get messy pretty quick, and students often wind up transferring a bunch between schools and-or being swallowed up and regurgitated by the workforce. It’s an easy path to get knocked off of.
“These twists and turns result in convoluted, individualized routes that can be full of detours and setbacks unexpected by students envisioning a simpler pipeline, and complicated by policies and restrictions at both CCs and four-year receiving institutions,” Lyon and Denner write. “For example, we found that students were delayed at CCs in preparation for transfer for many reasons including impacted CS classes, math anxiety or aversion, dropping and re-enrolling in classes in an effort to increase GPA, and family and financial responsibilities.”
So, the question is then of how do we make this more of a viable pathway. That’s what the authors are interested in. There’s a lot to this. Some of it involves providing advising and structure that’s better tailored to the unique situations of community college students, offering “extra support and flexibility in schedules, developing clear CS transfer pathways, and building knowledge of CS careers.” Some involves tailoring offerings that recognize the often different classroom experiences of different genders. Also: stronger partnerships between four-year schools and community colleges and increased industry participation in community college education. This is all pretty obvious stuff.
But I still find that community college in general is not always obvious, or at least it’s not talked about much within programmer circles. The polarity is almost always between bootcamps and four-year degrees.
I did the the community college to four-year school track and it was great. Unlike at my four-year school, the professors were all actively involved in industry and super-passionate about teaching. (Presumably there aren’t a whole lot of people with graduate CS educations teaching in community colleges for the money.) A backend engineer I worked with on a recent contract just did two years of community college and now he’s making engineering money in a high-end job market. This is a resource that already exists, just waiting to be fully exploited.