So I’ve just started my Master’s in CS and wanted to know what subjects (aside from DS and Algo) to review from my bachelor’s that would be important to know while searching for a job as well as which would be useful while on the job. The reason I ask is because I kinda bumbled my way through my Bachelor’s and didn’t really study the subjects well so I want to take the time to relearn them if they’re important to whatever job I’m gonna get (most probably software engineering). For reference here are some of the subjects that were part of my curriculum:
- Data Structures using C
- Design and Analysis of Algorithms
- OOP using JAVA
- Database Management Systems
- Operating Systems
- Software Engineering
- Data Communications
- Compiler Construction
- Object Oriented System Development
- Computer Networks
- Web Programming and Services
- Distributed Systems
- Embedded Systems
- Software Project Management
- Artificial Intelligence
- Data Mining
I'm just a CS undergrad, so take whatever I say with a grain of salt. My thought is that you can't answer your question until you've decided on some sort of specialization. There are many sub jobs that fall under CS, and they all take slightly different skills. Some I can think of are:
The truth is, 90% of what you learn in a CS degree is useless for an industry job, at least based on internships I have done. You want to focus on passing interviews, once you've done that, everything else is easy. I'm not really sure, but I think the best way to pass interviews is to fill your resume with buzzwords by doing side projects or taking relevant classes. People will always recommend the Leetcode Algo thing, and I think that's a good idea, but it also only applies to certain positions at certain companies. You can also get great jobs by having, say, "kubernetes" plastered all over your CV.