[supplied title]

matters of degrees

I began 2025 looking forward to finishing my CS degree and exploring the career paths it might open. I finished the year, having finished the degree, wondering if I'd ever use it at all. In between, I watched with dismay as the actions of the government closed off or narrowed most of the alternative paths I'd imagined for myself. I was just glad I didn't have to re-enter the job market.

I'm no stranger to earning a degree with no direct connection to getting a job. In high school, I thought I'd go on to study math or science. I even put in the effort to work ahead in math so that I could take college classes when I was a senior. But when I got to college I discovered that the only subject I was enthusiastic about was history. Knowing full well that it wouldn't be seen as "practical", I switched my major to history. I've never regretted the decision.

A computer science degree is supposed to be self-evidently useful. We're in the second decade of the "learn to code" era, after all. What could be better advice for someone starting out, or changing their career, or looking for something to do in retirement? In the program I just completed, which is aimed at people who already have an undergraduate degree in something other than CS, it felt like everyone else was either a career changer aiming to break into tech or someone already in tech looking to make their credentials official with a degree. That wasn't exactly why I was there.1

I'm already in a type of tech (library tech) and I work in a type of software development (digital repository software). After I decided against historian as a career, I studied and then worked as an archivist in a library and then a museum before returning again to a library, but this time in an IT classification. I still do some library-y things but the longer I've been in my job the more I've felt like my HR classification of "Systems Analyst" is a better description of what I do than my library-y title suggests. In a tech company, I suppose I'd be some kind of product manager.

It's true that I could build on my degree to try to move into software development on the programming side, and that would be a kind of career change. I might eventually do that. But it wasn't my primary motivation to study CS. So why did I decide to study CS?

It started, in a way, with history. The museum where I worked is a museum of computer history, and the job I held was the job of digital archivist. I spent much of my time on contemporary files, especially video, but I also worked on software preservation, and dabbled in a bit of computer history myself. Before then, I had considered "learning to code" as a career change option when my post-library school job search was at its highest level of uncertainty, but I had not seriously thought about the study of computer science itself.

A second motivation that came out of that job: I got tired of computers being like black boxes, and programming being something I could learn but had never studied beyond the very basics. I wrote scripts. I attempted, sometimes successfully, to get old software running in emulators or on virtual machines. I learned a bunch about old interfaces. I sometimes looked at files in hex. But it all still felt very surface-level. I missed the depth of knowledge that comes from engaging in focused research.

Once I changed to a more technical job, and that job started to calm down, and I settled into a new remote work routine, and I built up some savings, I finally felt like I could commit to a course of study. There are some clear intersections between CS topics and my current work, but my job is more on the operational side and there are few opportunities for me to do research as work. I'd also like to have more freedom to choose my topics, not directly relate them to my job.

So what kind of research would I like to do? That's what I was hoping I could learn from studying CS. Coming from my library and archives background, I'm interested in topics that impact fields like digital preservation and information retrieval. I'm especially interested in what you could call "non-textual" materials: video, audio, images. I had the opportunity to do a deep dive into Whisper and speech-to-text a couple of years ago and could see pursuing that further. I was disappointed to find that very little of these topics were covered in my CS program.

In retrospect, my expectations were out of sync with the program I chose. It did cover the fundamentals well, and with a little extra studying I could have been prepared for "technical" interviews and the tech company job market. And to be clear, that's seems to be the main focus of the curriculum. A "full" 4-year undergrad program, with more electives and a specialization, would have covered more ground.

My program, presumably because it expected students to have a prior degree, required fewer courses. I did get a couple of chances to take more theoretical courses, but there were no real opportunities to do research as an online student, and I never felt like I had enough grounding to even start doing research until I reached graduation. To be clear, I don't want to take more undergraduate courses. But I do think I need to take more courses.

So where does that leave me? I don't really know. Some days I feel like I've gone back to square one, even though rationally I know that I've learned quite a bit. I don't want to apply to a PhD program until or unless I have a better sense of what I actually want to research. In-person masters programs look better for research opportunities, but the masters programs near me generally want you to be a full-time student, which I can't easily do while working full-time.2 And on top of all of that, once I thinking about the years it would take for a masters and the years for a PhD, I start wondering if I'll just retire at the end of it all. I'm not that young anymore.

But I don't want to go back to where I was before, which was a combination of as-needed self-learning punctuated by the occasional professional development course.3 I'll probably try to take some masters-level courses online later this year and then see where that goes.


  1. In my last blog post, I tried to explain why I was studying CS. I don't remember being satisfied with my explanation. At the time, I figured I'd follow up with more posts throughout the year, as my graduation date approached. It ended up being the only blog post I wrote the whole year. 

  2. There's also the problem of recommendations. To get into an in-person program, you generally need letters. But it's hard to get letters from an online program! It makes it difficult for someone who's been out of school for a long time to jump back in. For whatever reason, many administrative requirements (letters, test scores) are waived most often for online programs. A cynic might say that's about money. The structure of online courses lowers the cost to the school of supporting a student who drops out, and pay-as-you-go can lower the cost to the student who's not sure they'll finish. 

  3. I don't want to sound too down on professional development. I've gotten a lot out of some workshops and short classes. But another reason I did a degree program is I felt like I'd reached the limits of what I could learn from "two-days-of-SQL"-type courses.