It seems I’m in my mentorship arc because I can’t stop writing about how to support students. Today, we’re going to tackle one of the more heartbreaking concerns that students (and even practicing engineers) have: the idea that maybe computer science isn’t for them.
Table of Contents
Who Needs to Read This?
I am writing this article for a couple different audiences: my past self, any student I’ve ever had or will ever have, and other educators.
My Past Self
This article is somewhat addressed to my past self. For me, there were several times in my career where I thought about giving up on computing. Perhaps the first time I had this thought was when I first got to college. I couldn’t really decide between music and computer engineering, and I ultimately gave up music.
Later, I started to regret that decision when I took a digital logic lab and found myself fighting with hardware for dozens of hours each week. The moment that really sealed to deal for me was when I wasted a whole day writing code for a board that had a dead motor on it. I gave up hardware on the spot.
Much later, the decision to abandon computing cropped up again when I was working in industry. For the life of me, I could not stand being strapped to a desk for 8+ hours a day solving silly programming problems (among other reasons). That’s how I ended up going back to grad school.
Later, I eventually gave up on computer science after a year of grad school and made the jump to engineering education. If you’re wondering why I gave up on computer science, it was because I failed my qualifying exam (among other reasons like culture). I just felt like the program didn’t want to see me succeed, so I moved on.
In all of these situations, I always had some backup plan. For instance, I was heavily involved in housing, so I was considering going into higher education. Likewise, I really enjoy traveling, so I thought about teaching English abroad. Of all the backup plans, the only one that ever worked out was engineering education, and I’m certainly happy with that choice today.
My Past, Present, and Future Students
This article is also addressed to any student I’ve ever had or will have. As a bit of background, I am a university educator. Strictly speaking, I’m currently a lecturer, and I teach twelve credit hours of computer science a semester. That equates to three four-credit sections of the same course, which happen to be back-to-back-to-back this semester. In total, I teach about 120 students a semester.
Over the past several years of being an educator, I’ve had students reach out to discuss their careers with me. Currently, I have a pair of students trying to decide between research and internships. Likewise, I have tons of students reaching out to me for letters of recommendation.
That said, I had one student reach out to me this week who was considering leaving computer science, and this article is addressed at them in a way. Their reasoning for wanting to leave is complex, but it boils down to not feeling good enough. Naturally, they look at their peers and they wonder if they even belong.
Therefore, if you’re reading this article, consider yourself one of my students. It doesn’t really matter where you are in the world. You likely are having the same issues as my students because these issues are well documented in the literature. In other words, you are not alone. Hopefully, I can convinced you of that in this article.
My Fellow Educators
Finally, I want to direct this article at other educators in computer science. I think there’s a tendency for faculty to be somewhat out of touch. After all, we’re a unique group who have overcome a lot of barriers to success. Therefore, it might be unimaginable for some of us to consider that getting a bachelor’s degree is tough.
However, if you can bear with me, I think you’ll find what I have to say to at least help you guide your own students. Gone should be the days of professors telling students they’re not cut out for the field—especially computer science of all fields. I think of it akin to algebra, which we teach middle schoolers. Certainly, our students can handle algebra.
Ask Yourself a Question
When I am asked for advice on whether to stay or go, I sometimes throw the question back at the student. The reason being that I ultimately think the student has to make that decision. However, to help them make that decision, I have started asking the following: are you choosing to leave or are you being forced to leave?
The reason I ask this question is because computer science has some pretty abysmal retention rates. The rates I often cite come from Stephenson et al. 2018, who showed that retention is at its worse in the first year with a rate of 68.8%. That’s almost a third of all students leaving the major within the first year.
Often, people look at a number like this and wonder how significant it is. In fact, in my dissertation defense, I was basically asked if I felt that the retention rate is actually healthy. After all, it’s good if students figure out that they don’t like computer science early. If the answer is “no, the current retention rate is not healthy,” then the question becomes: what is an acceptable amount of retention? In other words, at what point would we be happy with the retention rate? 70%? 80%? 90%?
To me, the question of the right threshold is rooted in our engineering mindset. We like numbers. We like objectivity. Therefore, we’re interested in determining “the line.”
Of course, I would argue that the threshold is the wrong question to be asking. There is no magical threshold where we should be happy. What we want to know is related to the question I would ask any student considering switching majors: what percentage of students leaving are choosing to leave? If it’s 100%, then whatever the current retention rate is would be acceptable. If it’s anything less than 100%, then we have to adapt our education system for those students.
Ultimately, while I have no hard numbers, I tend to believe that the bulk of the students we lose from computer science actually want to stay. However, they’re forced out in some way. For example, the results of my dissertation show a gap in value congruence between students and their institution. In other words, students do not believe they share the same values as their institution. If that’s true, then conflicting values may be a reason why students are leaving computer science.
Similarly, there is tons of research on environmental issues facing students. For instance, we know computer science has a culture of masculinity, which may result in attrition of women. We also know that computer science has the stereotype of being an antisocial discipline, which may turn students away.
Therefore, when I talk to a student considering leaving the major, I want to know if they feel like they are being forced out or if they just realized that some other discipline is a better fit. Depending on their answer, I can provide different forms of support.
My Advice
As stated previously, it’s not uncommon for a student to ask me for advice. For example, this article was inspired by a student asking me for help in deciding to leave the discipline. I am, of course, omitting as much as possible to protect their privacy, but here’s what I had to say:
Okay, couple of things!
First, I would say that Impostor Syndrome is pretty common. While some of your peers might actually have been coding their whole life, it’s probably more rare than you think. In fact, I would argue that most of your peers are lying (or at least exaggerating their experience). In STEM education, this is called posturing, and it’s very common. Basically, you have to lie about your abilities to survive because “smartness” is currency. I also hold the belief that you don’t need to have touched software until college (because I didn’t).
With that said, you may find more joy somewhere else, and that’s totally okay. In the education work that I do, we often have conversations around “retention.” In computer science, retention numbers are low. Last I saw, CS across the country only retains about 68% of their students after the first year. The question becomes: are you choosing to leave or are you being forced to leave? The former is extremely healthy. We want our students to find their path. The latter is not ideal, and is mainly what I was getting at in my first paragraph. If you feel like the space is not welcoming or you do not belong, it’s also fine to leave. That’s a systemic problem that we have to address as educators, and you should not feel forced to stay to see it through.
Last thing I’ll say is that if you’re leaning toward switching majors or whatnot, I would let it happen organically. I left CSE to go to EED because I took an EED class and became obsessed with the culture. If you aren’t sure where you want to go next, maybe take some classes and see how they feel. Obviously, I know this isn’t ideal advice due to cost.
Ultimately, I think whatever decision you make will be a good one. If you want to pivot somewhere else, I would support that decision 100%. I am also happy to support you if you want to stay. My office hours are always open in either case!
If any of my advice resonates with you, I encourage you to read the work of Secules. Specifically, there is a really wonderful paper titled “Butting Heads: Competition and Posturing in a Paired Programming Team.” It covers a lot of the ideas that I lean on in this advice, but I think the quote that fits best is as follows:
The way our subjects postured seemed connected to their insecurities and fear of failure. Our subjects are worried about their present performance and future beyond college, and this constant worry seems to come from comparing oneself to the rest of the class.
Uhlar, J. R., & Secules, S. (2018, October). Butting heads: Competition and posturing in a paired programming team. In 2018 IEEE Frontiers in Education Conference (FIE) (pp. 1-7). IEEE.
To me, that really is the root of the issue for a lot of students. This was even the case for me way back in that digital logic lab. There was a student who got hired to Uber mid-semester, and I never saw him again. It was like experiencing inadequacy in real time. Yet, here I am today as computer science lecturer. You will surely find your way.
But, Don’t Take It From Me
As always, I am just one person with a limited experience of the world. If you’re not sure computer science is for you, I encourage you to find a mentor. It can be a professor, a friend, a teacher, or an advisor. Ultimately, you just need to bounce your thoughts off of a few different people and get their perspectives. Hopefully at the end of that process, it’ll clear what decision you should make.
With that said, there’s no use in having regrets. Make a decision and move on. You won’t do yourself any favors debating “what-ifs.” There’s not a day that goes by where I think “man, I really wish I was a music teacher” or “man, if only I had gotten on that plane.” Decisions make you who you are, and you should be proud of them.
At any rate, this was a bit more heartfelt than I was planning. Perhaps that’ll speak better to the folks in this predicament. If not, no worries because I write a lot. For instance, here are some other helpful pieces:
- Have You Reflected on Some of Your Tech Beliefs?
- So You Want to Be a University Educator
- 11 Reasons Why I Quit My Engineering Career
As always, thanks for taking the time to read this piece. If you wouldn’t mind taking an extra moment to show your support, that would go a long way for me. Otherwise, take care!
Recent Teach Posts
For my friends in the humanities, it probably comes as a surprise, but our STEM programs are really allergic to open-ended projects. As a result, I figured I would pitch them today.
Canvas is a learning management system that I use under the name Carmen. It mostly does its job correctly, but it often boggles my mind how little it seems to map to the education environment. So, I...