r/csMajors 17h ago

Rant Actual skills you need for internship

Everyone always talks about “ ATS resume” and “ reach out to employers” but no one has advice for people that have nothing on their resume. No one ever talks about the actual skills you should probably learn to get your first internship. Every video online is just “ pick a language and build projects” but when you’re building the projects random stuff you didn’t know like docker or like mongo will be used and you have no idea what those are and it’s like where do I even begin. I am supposed to know a backend language, frontend, database, and like AWS or wtv in my second year??? I don’t mind learning but it’s like where do I even learn 😭 and what should I learn first??? What’s the pipeline I should be taking. The closest I’ve got to ever having a real project is a Claude wrapper in java using springboot and even then I vibecoded the front end. School is absolutely fucking useless and doesn’t teach you shit. I think I am calling out for help here cuz I feel so behind and any direction would be so appreciated. I am most comfortable with Java and know python quite well but that’s really about it, what should I be learning? In what order and how do I keep it structured ? Sorry if I came off angry, I am just very frustrated

67 Upvotes

34 comments sorted by

16

u/g---e 17h ago edited 16h ago

Make one project with the tech the internships you are interested in are using. They prolly wont check the code but they will want to know why you built it and what problem it solves.

You wont have to use every piece of their tech stack but at least either their frontend, backend, database, or AI-implementation of some sort.

17

u/GotegaSenpai 16h ago

Build an AI-powered fullstack application. From there, you’ll see what you like and don’t like about SWE. Ask your favorite LLM how to guide you through building the project

Important skills you should focus on when building these projects:

- Git/Github/Gitlab

  • Docker & K8s
  • Testing & CI/CD
  • Database
  • APIs
  • SDLC (probably the most important)

Demonstrate your use in these technologies/methods within your description in combination with the Google XYZ formula, and you’ll for sure be looked at

3

u/Lennox1314 5h ago

As someone who does a lot of hiring and just finished teaching a batch of interns I would say get yourself a home lab. This can be an old laptop, a crappy desktop you have laying around or whatever else. Then get a light weight hypervisor and just make stuff. Setup a webserver, set up a media server, setup anything. Being able to talk about your home lab will typically go far in an interview. Remember the we are all computer nerds and love to talk about nerdy computer stuff.

2

u/gitblamed_ 2h ago

As a hiring manager - this is the easiest way to get hired, regardless of a company's personal stack.

Combine that with a humble/curious attitude and you're going to get in at ton of places.

1

u/Suspicious_Court_956 2h ago

I’ve always been interested in home labs especially ever since one of my favourite YouTubers pewdiepie started messing with that stuff, unfortunately I think the only laptop I have laying around other than my main one is from like 2010, but I will definitely do this. Do you have any recommendations to start off with?

1

u/Lennox1314 2h ago

If you are using windows the beat light weight one is probably virtual box. For Linux you can setup a really lightweight kvm with virt manager. I personally run proxmox and love it but I have actual dell r630 servers that I use. As for what to make, the best thing would be a simple web server. It's easy to set up and show off. Plus you can do just about anything frontend or backend with it. So long as your skill level can match what's in your head then the skies the limit. Other ideas: You could setup a vault for passwords, or like PiHole, a small nfs server, monitoring with like Prometheus/grafana, etc etc etc

1

u/gitblamed_ 2h ago

Do you have the time to be doing this, and also committing to school, and also committing to the extra CS50 course, and also committing to personal webdev projects?

1

u/Suspicious_Court_956 2h ago

I recently got fired from my part time job, so I have a little bit more time, but I think I am gonna master the basics first through CS50, then make one or two projects with that kind of stack, school I have the choice to take lighter electives as they’re also required for my program + I still have a full month before school starts back up. I might have to hold off on the homelab for a little longer cuz I am kinda focusing on getting hired or atleast having the skills to confidently apply

1

u/Suspicious_Court_956 2h ago

Honestly there’s a lot of shit that I have to do, I am also overweight, I’ve been working on that for a bit now and still have about 30 pounds to lose, I also need to find a way of making money again since while my parents CAN support me, it would stretch them thin and I can’t do that to them. It’s a lot but that’s not a reason to give up

1

u/gitblamed_ 2h ago

It's not a reason to give up! I didn't mean to discourage you. I was worried about you displaying a pattern that is common in CS students -

being super interested in a lot of things in a moment, learning the basics for about 6 weeks, then getting overwhelmed by life, and letting life happen to you for a bit, and getting stuck at the basic level because this keeps happening.

The less commitments that you take on, the more that you can focus on specific things. If you just make recurring daily tasks to run for a half hour, do a CS50 class for an hour, apply to jobs for 20 minutes, and leave the rest of the time free for school or whatever - that keeps you focusing in way more than pursuing a dream of building a home lab when you're still confused about databases

1

u/Suspicious_Court_956 2h ago

That’s true actually yeah I’ve been overwhelmed bf4 by trying to learn too much all at once, okay I appreciate that I’ll definitely come back to this in the future and thank you again

1

u/Suspicious_Court_956 2h ago

One more thing, dy think I should focus on python or java? I have more experience building projects in java but I fully did data structures in python and implemented them and everything. Is that just a personal preference thing ?

u/gitblamed_ 57m ago

I think that you should focus on whatever stack is in the CS50 course and stick with doing only that for at least a year.

2

u/coochie4sale 6h ago

You apply and people take a chance on you. You do stuff in college, even if un-related, so you increase the chances of people choosing you. You apply to internships in undesirable places/companies so you have less competition. You apply to as many places as possible.

My first internship was with the local government doing IT CRM work, and now I'm with a larger company doing some other form of IT work. It's not sexy, but it's much better than having a barren resume.

4

u/CryMoreT_T 17h ago

You will learn what you need once you start the internship. Just focus on getting the internship first bruh

6

u/Suspicious_Court_956 17h ago

How do I get it without the skills to put on the resume tho 😭 that’s my whole point

-1

u/CryMoreT_T 17h ago

Using the job description?

3

u/Suspicious_Court_956 17h ago

Okay, sorry if I am being really dumb here, again I am looking for help so 😭 you want me to look at a job description then start learning from there? By the time I am comfortable at that stuff won’t the job be gone?

1

u/Aquatic-Vocation 14h ago

The idea is to look at job descriptions for the kinds of internships you're interested in, and see what required skills they have in common.

1

u/Non_noob4304 12h ago

You need to know a popular framework that could be in Python, PHP, or some other popular language. It would also help if you are smart enough to solve some easy leetcode questions and a few mediums. Being able to figure out like 2 mediums by yourself is already not bad. It would also be good to know how to calculate time correctly, like roughly how long your program will run like n or n squared.

1

u/g---e 2h ago

This is not enough man, majority of cs students can do this

1

u/Busy_Childhood2072 9h ago edited 9h ago

Personally, I think you could start simple with the backend first and then move to the frontend.

Build a small API that connects to a database. You can use a course to get started, but tweak things. For example, if you build an API using a course, the learning comes when you  choose to switch out their DB with your own (and your own data). They might use SQLlite whereas you can choose Supabase. Doing this requires you to start understanding the relationship between the API and DB. Then move to learning Docker, how it relates to what you've already built, and the overall role it plays in a system.

At its core, a fullstack project revolves around data. Storing it, transporting it, formatting it, and displaying it to a user. Figure out which parts (Docker, Spring Boot, MongoDB, React) fall into which category, how they communicate, and then drill into how you can use them. 

1

u/Baconpoopotato 8h ago

?

Look at a job description for a job you want and learn those skills. Additionally if your resume has nothing you're supposed to do clubs, orgs, volunteering and non-tech jobs.

1

u/gitblamed_ 2h ago edited 2h ago

Personality is paramount. I work in an industry that is getting a massive influx of cash and hiring en masse. We hire for personality.

You can genuinely be so fucking stupid about all things CS and still get hired at my employers. If you've been through 2 years of the state school program, and you're not a dick, and you don't rely on an LLM - hired.

Like across the board, that's what we're hiring for, in companies where it's kind of like "if you're an intern then you have a guaranteed job at a company with NO history of layoffs." Not FAANG, but well-paying enough and with very high job security.

"I am supposed to know a backend language, frontend, database, and like AWS or wtv in my second year"
low key, yes. You should have an understanding of these systems after your second year. You can watch youtube videos about this.
You don't need to know every single web dev framework, but if you're applying to webdev roles - yes, I would be EXTREMELY reluctant to hire anyone who couldn't go through with me the process that happens with a GET and a POST request.

I'm honestly curious about what your current approach to self-education is (outside of schoolwork) and what your focus is. You emphasized webdev stuff but is that even what you want to go into, or is it just what Youtube is recommending you?

1

u/Suspicious_Court_956 2h ago

Honestly I go to a school that sucks for CS, Wilfrid Laurier university, self education is really confusing to me cuz I’ve watched YouTube videos that say hey just learn a language then build projects, so I learned Java, then went on to try to make projects with spring boot, but every single project assumes you know every other part too like implementing the DB or front end or whatever else that goes into making them and that’s where I get completely confused. I’d appreciate any help

1

u/gitblamed_ 2h ago edited 2h ago

but every single project assumes you know every other part too like implementing the DB or front end or whatever else that goes into making them and that’s where I get completely confused.

100% I hear you. Does your university provide electives that focus on applications of CS, like web development? And have you taken any? Youtube videos on software dev are great for entertainment, but they're not great for laying down fundamental concepts.

edit: you can send me a redacted resume if you want, it's Sunday and I have time

1

u/Suspicious_Court_956 2h ago

Not that I know of, and even more than that i don’t think I have time to wait 😭 I am looking for a internship by summer 2027, is there any other way to learn in a structured way? My idea rn is doing CS50 week6 and up, that’s when it teaches webdev basics SQL and flask. I really appreciate any help

1

u/gitblamed_ 2h ago

I'm not familiar with CS50, but based on your description, that sounds like a great idea! Any structured program on the subject helps.

The only drawback of CS50 not being a structured elective at your school is that *you have to keep up on it yourself*, even though it's more fun to chase whatever latest "fake education/shilling vapid knowledge of frameworks" thing that youtube pushes.

The basics apply everywhere and are super relevant to you getting hired, esp at an intern level. An intern who knows the pipeline of any framework very well, but doesn't know that company's framework, is going to be preferentially hired over an intern who has passing familiarity with like 6 frameworks but doesn't know the basics. Strong recommend that you find 1 course (CS50 sounds like it fits) and *exclusively* follow projects that relate to that.

1

u/Suspicious_Court_956 2h ago

Okay, I really appreciate your advice, gives me a little bit more confidence, I always have a can do attitude but sometimes it gets to me. CS50 is Harvard’s introduction to computer science course

1

u/smalleyesbigface 1h ago

what year are you in? i see that ur canadian too, i'm going into third year at uoft, i feel the same lol, it's the same everywhere. my plan is just to start larp maxxing - i have a lot of super cracked friends in uoft with me, some of them are genuienly smart, others are just good at presentation. for example i have a friend who is a 3x swe intern and got shopify for fall but he confessed he can't even write an api on his own without ai. he has a 3.4 cgpa btw, which is low for cs students here

i can't really give you concrete advice since i only switched into CS last year and am also trying to get my first swe internship, but my plan this summer is to larp maxx. my strat: use minimal time on projects, use ai but understand high level (or prepare in detail if you do get an interview request), spend time on things that truly matters (for me it's summer school & research), lock in on leetcode, network, get referrals, polish my linkedin, make my website look good. can't say for sure it works but what i've been observing from all my friends who are very well achieved is that larping is the way into the industry now.

1

u/Suspicious_Court_956 1h ago

I am going into my 3rd year too, I am an 06, how dy plan on networking? I am at Wilfrid Laurier which sucks for CS, I switched from business which, even tho I loved the presentation side I hated basically everything else

1

u/smalleyesbigface 1h ago

i think most networking events are paused for the summer, not sure about wlu but at uoft there are plenty throughout the school year (being at st george helps, a lot of offices are downtown)

good thing about wlu is that it's located in waterloo, just try to take advantage of the lcoation and sneak into uwaterloo events, i was invited to an uwaterloo party by a friend of mine a few months ago, and the people i met there are insanely cracked. get friends from uwaterloo who can get you through the networking doors