Computer science is such a broad field with many different career paths available. Many of them are financially lucrative. There is often flexibility in work location. I have been remote since 2009, long before working from home became mainstream with Covid mitigation strategies. In a broad, complex field like computer science, students often have questions on how to focus their studies on something meaningful. Common CS career questions questions often go right to things like:
“Which programming language should I learn?” (As many as you can.)
“Which web framework should I learn?” (The most effective one for the job.)
“Should I learn relational databases or document databases?” (Yes.)
These questions are tactical. They are specific about tools. I’m not sure these are the right questions for a student to start with. There needs to be a more strategic level planning session where the student asks about the kinds of problems they want to solve. Figure out the categories of problems you want to solve, and your tactical questions become more clear, which gives better answers in the context of chosen problems.
For students in computer science, your career trajectory is directly related to the kinds of problems you want to solve, and there are a number of ways to look at problem solving. Here are the strategic-level problems before you. Focus on solving those, and your technology choices become clear.
Do you want to live a comfortable life with a high income? Figure out where the money is, and become the kind of person that gets hired into those jobs.
Do you believe in a cause and want to make a passion play to solve problems in a critical field? The money may or may not be better than a compensation-oriented career. You'll likely make less money year-to-year, with, maybe, an infinitesimally small chance at a huge payday someday in the future.
Are you enamored with the study of computer science itself that you want to contribute to the direction of the field? Academia may be an appropriate career path.
The tech choices in each of these paths are different. It's great to be polyglot, though not required. Good application of computer science principles lets you move across this set of problem categories.
What other kinds of problems are out there? No one can make an exhaustive list because we don't know what we don't know. With computer science we are able to solve entire classes of problems at once (think: solving sudoku puzzles). This allows us to think big. Computer science is really a study of problem solving itself. Studying computer science is one way to learn about learning. In my 26 years of professional experience, I've found good computer scientists are among the top problem solvers because they know how to ask the right questions, figure out what the important points are, mitigate the risk of the unimportant points, and get the right work done.
Regarding internships and getting your foot in the door - aim high, put all the options on the table, and go from there. That means you should apply and interview everywhere. Customize your resume and applications for each place. Read the job descriptions, then tailor your application and resume to match. Employers are looking to hire exactly what they put in the job description. Let them know you understand the message they're sending you by sending the same message back to them. Birds of a feather flock together. Making yourself look like a hirable candidate goes a long way toward getting hired.
Tell people about what you're doing. Be open to new ideas. Socializing your ideas and projects with other people is at least as important as doing them. You never know who will take interest in your project and skills.
Your first jobs don't define you, but in 2022, they make a big difference in career trajectory. Push yourself. Challenge yourself. You can do it.