I enjoy blogging for a number of reasons. It helps me organize, solidify, and advance my thinking. It also provides a platform to put my ideas into a bottle and send it out into the ocean that is the internet. Every so often, a bottle with a message returns to me, usually in the form of an email in my inbox. Most of those emails are about people asking for guidance through (or to get into) Oregon State University’s post-baccalaureate or Georgia Tech’s Master of Science computer science programs.
While I’m still working through GT’s program (should be done spring of 2021!), my time at OSU wrapped up in August of 2019 with a Bachelor’s in Computer Science. As I owe a lot of my personal success to the resources and communities that have sprung up around the program, I wanted to use a moment to write about my path through the degree in the hopes of leaving some breadcrumbs to new and prospective students.
Align your goals with a plan
This degree is not for everyone, and whether or not that is true for you is largely dependent on your goals (both short and long-term), financial situation, and (for lack of a better phrase) current life status.
If you’re already in the technology industry, there are many more direct paths to advancing up the ladder or moving horizontally into a position than spending your evenings on a CS degree. You may not want to foot the hefty bill of $30,000 for a second bachelor’s degree. Heck, you may not even like computer science and would rather focus on learning the tools needed for “just” building software. The decision tree that led me to choose OSU was rather complex; it will be for you as well.
I was in a wonderful situation where my employer at the time was willing to chip in on the degree and ultimately paid for a little over half of the program. I also have an incredibly patient wife that understood how important it was to me to complete this degree, cutting me an enormous amount of slack as I worked nights long after everyone in the office had gone home and lost far too many weekends. Lastly, I wanted to set up a solid foundation for applying to graduate programs (and succeeding once I was in one) as well as my long-term career prospects. While it’s true that no piece of paper guarantees you a job, they can certainly help get you through doors and into interview rooms. A number of companies that I’m currently interested in are looking for that combination of experience and formal education.
With that in mind I plotted a 2-year path through the program, pairing classes in a way that allowed me to work full-time and take between 2-3 courses a quarter. After a few quarters, I began looking at graduate programs and timing my applications in a way that would allow me apply to a program with this degree in hand.
Whatever your motivating factors, my point here is to think deeply about them and explore the range of options available to you, contrasting them with the pros and cons of this program. Start by reading this thorough post by Alex Johnson (another OSU CS post-bacc alum) where he attempts to answer the age old question of “is this program worth it?” If you’ve never programmed and want a low-cost way to test out if computer science is the right field for you, try a Coursera course. If you work in tech support and want to transition to a SWE role in your company, ask about your technology stack and go to Code Academy to learn one of the languages the developer team uses. If you love mobile apps and want to land a developer job in that industry, look at your bootcamp options (which are not cheap, but a hell of a lot faster and more focused).
If you’re still dead set on a BS in CS, then look at OSU and stack it up against the competition. In my estimation, the benefits of OSU’s program include:
- 100% online, providing a flexible learning arrangement for working students or those in different regions of the country
- Self-paced insofar as you have 4 years to complete the degree, but can finish in just over a year if you so desire
- No courses outside the core CS curriculum required
- Long-term career stability/flexibility
- Robust online community
If that appeals to you, check out the admissions and program FAQs as well. Developing a set of goals that align with a concrete plan of action is (in my estimation) the only way to get through the long nights and bouts of self-doubt that await you on this journey.
Use the internet to your advantage
My road was made smoother by taking advantage of a key differentiating factor between OSU’s program and countless others: The fact that it is completely online.
There are not many online offerings for post-bacc students that want a bachelor’s degree that is not discernible from its brick-and-mortar counterpart. As such, OSU draws in thousands of students, most of whom engage in various online communities that now support the program or like me, blog about their experiences.
The two dominant online forums are the OSUOnlineCS subreddit (open to all Reddit accounts) and the Slack community (requires an oregonstate.edu email address). The subreddit served mostly as an archive of reference material for me, both for getting into the program as well as researching individual courses. Some posts are a bit dated (the community was created in 2014), but there’s still an active group of contributors. Meanwhile, the Slack community was more centered around real-time feedback both for individual courses as well as meta-topics like registration and course planning. At the time I left, the Slack was still unpaid meaning that history was limited, somewhat reducing the value of the platform. In addition to the broader Slack community, some individual courses were establishing workspaces; to what extent this has continued, I’m unsure, but they provided a real-time line to TAs that was invaluable.
To get through individual courses, I leaned heavily on three resources:
- Alex Johnson’s course reviews, all available here
- A blog – Today I Learned… in Code – from two OSU students that also provides a series of course reviews
- OSU CS Course Explorer (maintained by one of the students from Today I Learned… in Code) which aggregates course reviews from Reddit and course surveys for each course in the program
Before registering for courses (where I’d typically be balancing some combination of work, school, and life), I used these resources to pair courses intelligently to avoid overloading. Once classes began, they were helpful in focusing my efforts so that my time was spent on the highest reward work.
Don’t stop where school does
Fortunately, my time in school was paired with work where I regularly applied things I was learning to real-world situations. This is not true for many students (although perhaps more true in this particular instance where a fair percentage of students were hired while still working on the degree, or were taking courses so they could move up in their current place of work). Even if you’re lucky enough to be in a situation where you have a technical job, it’s possible that you’re not doing the work you want.
Regardless, like any degree, the learning shouldn’t stop in the classroom. You are, after all, going to school to get a job and try as they might, higher education has yet to figure out a way to perfectly match students to and prepare them for their future career. This means you need to take some of your future in your own hands.
I can promise you that will be courses in this program that do not challenge you. Take those moments to learn a new language or go deeper on one you already know. Build something, anything. Start a blog, get your LinkedIn up to date, make sure your resume is ready. The free time you have, unfortunately, is not free anymore, it’s lost opportunity.
And above all else, have fun. The OSU program is one with interesting people doing and trying interesting things, from the individual students up to the faculty that run the courses. I look back on the time I spent getting this degree with a great deal of fondness and even more pride. I hope the same for you if you choose to take a similar path.