I decided to go for that Computer Science degree I should have gotten in my 20s. I’m 39 now, and have spent 18 years in the IT field — 11 as a professional software developer. Strictly speaking, I don’t need a degree. I’m comfortably employed, well paid, and still enjoy slinging code for a living. But, I’m getting old. Should I need to seek new employment, I’d be going up against people half my age with twice my credentials. Experience matters, but programming is still seen as a young person’s field. Most companies look for people with a “BS in Computer Science, or equivalent degree”, but HR usually doesn’t know what “equivalent” looks like. They have dozens of other applicants who do have the expected degree, so my resume goes to the bottom of the pile. Also, I will not be able to sling code at this pace forever. I’ve often considered teaching as a way to wrap up my career, but for that I’ll need degrees.
So, now I’m a freshman at University of South Carolina’s Upstate campus. I could have gone with an online school, but after years of solo career building and self-study, I really wanted to experience real teachers and living, breathing classmates for a change. USC Upstate is a nice hybrid between a tech/community college and a traditional university. It is a small school, but focuses on real 4 year degrees. There is a sizable population of students living on-campus, but also plenty of commuter and non-traditional students too — though not as many my own age as I’d expected.
The CS program at USC Upstate is very small, so most of the core classes are only offered during the day. I’m very lucky that my job affords a flexible schedule, and that my employer encourages continuing education. I couldn’t attend daytime classes otherwise.
As a late applicant, I ended up with a horrible schedule — five classes, five days a week. The first challenge was finding time to fit in 40+ hours at work on top of a full-time course load. I’m used to 75+ hour work weeks, but still, the combined workload turned out to be too much. I ended up switching my hardest class to an audit, but even at 12 credit hours, I was worn to the bone by the end of the semester. Going forward I’ve had to reduce my course load to part-time (3 classes), and restricted attendance to just three days a week. At his slower pace, I’ll need more than five years to complete the degree, but I’m not in a rush.
Many people going back to school at my age complain that it’s hard for them to keep up with the pace of learning. Learning does become a bit harder as people age, but I have not had as much trouble with this as I thought I would. The nature of my job, and years of self-education, have kept my mind pretty sharp.
The main area where I feel my age is with mathematics. As a programmer, I work “with” math a lot, but it has been a very long time since I’ve worked problems by hand. I usually get the right answers, but I’m really slow at it. I would not have passed my trig class, so I switched it to an audit when it became necessary to free up more time for work. Computer Science is a math heavy curriculum though, so I’ll need a refresher in basic algebra before I can tackle the advanced math classes for real.
In other classes, my age helps some. In particular, my English skills have improved over the years. I’ve written quite a lot professionally, and I type like a fiend. In contrast, the majority of my peers are fresh out of high school, which has apparently fallen way behind the writing standards of my day. My younger peers can do amazing things with math, and their reading comprehension is good, but they turn out papers that would have caused my 9th grade English teacher to commit suicide.
The bar for English 101 was so low that the class was outright painful. As it turns out, English 101 and 102 are just glorified writing workshops. The professor spends a lot of one-on-one time with each student, tutoring and advising them as needed. I respect what the school is doing, but it’s sad that high schools are producing such poorly trained writers that two entire courses have to be wasted on writing workshops. This was hugely disappointing to me. I’d once considered an English major. Even though I chose a different path, I was still looking forward to a refresher on contemporary grammar, and maybe picking up some new writing styles and techniques. I’m not the best writer in the world, but my current skills are so far ahead of the expectations that the classes offer nothing of value to me. I’ve attempting to test out of English 102 just to avoid another class of empty paper writing.
As for my core comp-sci classes, I don’t expect to get that much out of the undergraduate curriculum. I’ll learn a bit of Java, which I managed to avoid professionally, but Java isn’t fundamentally different from C# where I already have deep expertise. I plan to take the C++ course, just to have an excuse to actually do something with the language. Overall, I’ll have to wait until grad school before I really get deep into areas of comp-sci where my self-education was lacking.
This semester, I took Introduction to Computer Science. I don’t perform well when under-challenged, but I managed to stay engaged and interested for most of the course. The bulk of the class was spent programming with Alice, a GUI based development environment designed to teach the fundamental concepts of programming, without tripping students up with text editors and syntax issues. Basically, Alice is the new Logo. I enjoyed messing around with it, but was disappointed to find that Alice isn’t open source. I was unable to contribute fixes for several bugs I’d found, nor could I examine the source code to see how functions and features were really implemented. For me, the hardest part of the whole course was answering test questions based only on material presented in the textbooks, which often do not conform to reality, nor my own considerable personal experience.
On the social front, things have been better than I’d expected. I’m twice the age of most of my peers, and there have probably never been two generations of Americans with such radical differences in their upbringing. I am from the last generation born before the public internet and cell phones. Most of my peers were born after the net went public, and had cellphones in grade-school. I’m also from the under-parented, Beavis and Butthead generation, while my peers were helicopter parented and some still can’t take a shit without parental guidance. I plan to write a separate post on this topic later, but it has been interesting to interact closely with this particular age group. Overall though, my younger peers are not so different from my own age group, despite the significant social changes of the last 20 years.
While I am old, I don’t quite look my age — though I am starting to show signs of rot at the edges. People tend to see what they expect to see though, so most students assume I’m younger than I really am. I’m still much older in their eyes, but not quite uncle-creepy old.
I’ve never been good at fitting in, but I’ve been pleasantly surprised that the age gap hasn’t been much of an issue. On days when I’m dressed in business-casual for work, I am sometimes mistaken for a professor, occasionally even by other professors. The most significant difference is that instructors tend to treat me with a little more respect, and take my opinions more seriously. Of course, they also expect a little more from me sometimes, but it’s a fair trade-off.
Juggling work and school can be exhausting at times, but so far I’m enjoying being a student, learning new things, and meeting new people. I’ve managed a 4.0 GPA this semester, which is a nice way to start things off.