HACKER Q&A
📣 zkuz

Is it worth going back to school for a CS bachelor's degree?


I have a master's degree in "Interactive Multimedia" and spent the first five years of my career as a UX Designer. In 2017, I switched to Front End Engineer and have been doing that since. I write React all day and feel like I'm pretty good at my job.

However, I was in a recent job interview and got asked about the time complexity of an algorithm and totally bombed it. I know of the concept generally, but absolutely don't have a firm grasp of it. I also gave pretty mediocre answers to some OOP questions because that's just not a concept I deal with much in my current role. And there are times when I feel like I need to improve my math skills. The last math course I took was Statistics in high school.

The bachelor's degree I already have is in an unrelated field, and my master's was very design-focused. I'm wondering if it makes sense to go back to school part time to get a CS bachelor's to learn some of the basics that I essentially skipped before landing my first dev role. To be clear, I don't really care whether an employer would like seeing this on my resume. I'd 100% be doing it for my personal benefit/knowledge.

So, what do you think? Should I enroll in a bachelor's CS program part time or are there other options I should explore?


  👤 dexwiz Accepted Answer ✓
Go through one of the popular algorithms books first. There are a few recommended ones. Some are better for self study than others. If you just need an algorithms course, no sense wasting 4 years on it.

👤 cableshaft
University has gotten too expensive, and you don't really need it to get past these interviews (especially since you have a Master's degree already), you just need a data structures and algorithms book / lecture /class.

I'm someone who graduated with a CS degree over a decade ago and I still have to brush up on data structures and algorithms before I do interviews or else I'll struggle with them also. So don't beat yourself up too much about it.

I know another guy struggling with these things lately, and there's a book that seemed pretty promising, although I haven't read it myself yet to verify. It's called "A Common-Sense Guide to Data Structures and Algorithms, Second Edition" by Jay Wengrow.

MIT OpenCourseWare also has a lecture series for 'Introduction to Algorithms' that I play in the background while doing dishes sometimes to brush up on. They've recorded it a few separate years, so just search data structures and algorithms mit in Youtube and try the different years/teachers until you find one you like. Here's what looks like the most recent one, though, from Spring 2020: https://youtu.be/ZA-tUyM_y7s

You can also sign up for a free self-guided course online, which is what my friend ended up doing.

Also if you're wanting to get a handle on time complexity specifically, you'll want to watch some videos on something called 'Big O Notation'. Like they were probably wanting you to say something like "Well I can solve it in this way, and it's O(n), but I can make it faster by doing this and it'll be much faster at O(n log n)". Here's a video that demonstrates the idea behind it: https://www.youtube.com/watch?v=itn09C2ZB9Y


👤 LouisSayers
You basically just need an understanding of data structures and algorithms.

Get some books, watch YouTube videos. There's a lot of content out there.

Once you've got the basics, you can jump on leetcode.


👤 ksaj
Are you experiencing a lack of knowledge in an entire field, or are there gaps? If there are gaps, maybe you could self-study those away. Self study is a good idea even if you weren't having this problem.

You may simply have applied for a role that wasn't suitable for you. It's seems that the role you currently play doesn't require a CS Bachelor.



👤 readonthegoapp
well, you def would _not_ want a bachelor's degree -- if you were thinking about school, def do a masters.

they have 1-year MBAs -- i'd be curious if there are any 1-year Masters in Comp Sci.