Disclaimer: These are the things I did, so if you don’t like it or don’t want to do it, you do you :)
For some context, I got my bachelor's in biology in 2022 from UCSB, and I started my second bachelor's in computer science shortly after ( info on my program ! I got a spring 2023 internship at NASA JPL (non-swe), and I have a SWE internship for summer 2023 (non-FAANG).
I want to start off and say the biggest hurdle is beginning to apply! So don’t be afraid if you feel unqualified, apply anyways and see what happens :))
I started applying in August because that’s when the recruiting season starts! You can start applying later if you don’t feel ready, but I suggest applying ASAP !!
I applied to internships with these websites:
Pittcsc Repo (This is for summer 2023, but I am sure there are new ones too).
Wellfound - for startups
Ripplematch - to be connected to recruiters directly
Simplify.jobs - super useful Chrome extension to autofill job apps
Be sure to target companies too! Sometimes companies will not be posted on these websites, so make sure if you are interested in specific companies to check out their careers websites or follow/connect with their early career recruiters. Also beware of scams, especially for ones that are on LinkedIn. Make sure the company you are applying to is a legit company.
Also make sure you check out any groups or organizations like Rewriting The Code if you are in a minority in cs!
Although I didn’t ever do this, I know some people will reach out to the recruiter for the positions they apply for.
LeetCode
NeetCode
MIT DS&A - online data structures and algorithms lectures
The biggest hurdle you will probably face if you are just starting your degree are OA’s/technical interviews. Online assessments or OA’s are basically LeetCode style questions that you take before any interviews. Not everyone who applies for an internship will get one, so if you get sent one, take it seriously. But also, you do not always need to get a perfect score to get an internship. So try your best, but don’t put too much pressure on yourself!
I kind of just jumped into my LeetCode experience without learning anything about data structures. But if you are just starting, I would watch some videos/lectures first. MIT has their entire DS&A class online, which is linked above. I use NeetCode to keep track of what problems I have done so far. I also watch his video’s for solutions and understanding the problems.
First of all, PRACTICE PRACTICE PRACTICE!!! You want to show that you are confident in what you are saying and in yourself for this internship. Do your research for why you want to intern at that company. What are the things that you like about the company specifically. Talk about what you want to learn about and from the company, but also you can talk about the specific industry the company is in and why you want to work in it.
For more of the questions about you, use the STAR method!! (Situation, Task, Action, Result). I would have situations ready rather than answers for specific questions. Because you don’t know what they will ask specifically, you want to have general answers ready to mold to the questions they ask. In the moment, you are going to have to figure out what the question is actually asking and what situation would best fit.
And ALWAYS have questions ready for your interviewer. This can be related to the internship, but you can also ask about them and why they chose this company/field etc. I also strongly suggest finding something you and the interviewer have in common. For example, I have had interviewers who also changed their careers, so they had a lot of respect because they had also gone into a new field after doing something else for a while.
Make sure your resume is not ugly and that it is readable!! I like using very clear templates for mine. This is the one I use ( Template). I used Overleaf because it is super customizable. There is a slight learning curve but I feel like it’s worth it for what I wanted.
If you have no relevant experience - DON’T BE SCARED. But I would suggest having some side projects. Mine are some websites I made that I felt like were useful for the things I am passionate about. You can find them here . Don’t feel like you have to do websites, those were just what worked for my ideas.
I also highly suggest creating a portfolio website so you can have your resume in a different font and include more things about you if the recruiter is interested ( such as the one you are on right now! )
Take what you want from my advice and good luck! Always feel free to reach out to me with any questions!!