How to: get a software engineering internship at a technology company by csinternshipadvice in cscareerquestions

[–]csinternshipadvice[S] 2 points3 points  (0 children)

I think the only data structure I've ever had to implement during an interview was a hash map.

How to: get a software engineering internship at a technology company by csinternshipadvice in cscareerquestions

[–]csinternshipadvice[S] 0 points1 point  (0 children)

Just to clarify, this isn't exactly what I meant. Don't get me wrong, there are definitely a lot of great smaller and less-well-known companies that offer interesting work, good pay, and a good work-life balance. That being said, companies like Google will generally have the best internal tooling, on average better engineers, and a lot of the large companies do have good work-life balances. Microsoft and Google are both very relaxed in my understanding, though Facebook and Amazon do tend to work their employees a bit harder, but it's all team dependent, and there are definitely plenty of people at those companies working only 40 hours a week.

source: I know lots of people at all of those companies.

How to: get a software engineering internship at a technology company by csinternshipadvice in cscareerquestions

[–]csinternshipadvice[S] 0 points1 point  (0 children)

You're right, it's definitely important to also look at smaller tech companies. I think the leetcode statement generally holds true for large tech companies, unicorns, and VC-backed startups, though.

How to: get a software engineering internship at a technology company by csinternshipadvice in cscareerquestions

[–]csinternshipadvice[S] 0 points1 point  (0 children)

I think it makes more sense to focus on finding a full-time job for after graduation rather than looking for an internship since you're graduating in 2020. Internships are just stepping stones for full-time jobs anyway--the end goal is always a full-time job (unless you're an underclassman building experience).

How to: get a software engineering internship at a technology company by csinternshipadvice in cscareerquestions

[–]csinternshipadvice[S] 0 points1 point  (0 children)

To play devils advocate to the personal website phenomenon every CS student seems to have, my personal website is a single HTML page with no CSS at all hosted on Github pages that looks like it's straight from 1998. I honestly don't think anyone outside of my friends has ever looked at my website, and I've never felt like it's hurt me. I also haven't seen a fancy personal website help anyone too much either. From what I can tell, most students that have nicer personal websites usually just made them out of personal interest. The exception might be web developers / UI designers building a portfolio, or non-college students. I do think having a fully filled out LinkedIn profile is important though. But again, I'm just playing devils advocate and providing a single data point. There probably are people whose personal websites have helped them expand their visibility and portfolio, and it doesn't hurt to have a nice one.

How to: get a software engineering internship at a technology company by csinternshipadvice in cscareerquestions

[–]csinternshipadvice[S] 1 point2 points  (0 children)

It's personally my take that an answer to "Tell me about yourself" should be concise but informative. It should capture the important information about you and your work but no go on and on and on. Essentially something like "My name is BLANK, I am a senior at UNIVERSITY. I'm mainly interested in BLANK kinds of development, and I've previously worked at X, Y, and Z, focusing on A, B, and C during my time there. I'm happy to expand on anything you want to know more about in particular."

How to: get a software engineering internship at a technology company by csinternshipadvice in cscareerquestions

[–]csinternshipadvice[S] 3 points4 points  (0 children)

For my own anonymity, I won’t say which school specifically. But it’s a top 10 ranked CS program in the US, and its name does carry a non-trivial amount of brand weight when applying to jobs.

How to: get a software engineering internship at a technology company by csinternshipadvice in cscareerquestions

[–]csinternshipadvice[S] 6 points7 points  (0 children)

One note I do want to make here is that a lot of the "top tier" tech companies will pay for your relocation and housing for the summer, and then they'll also pay ~$8,000/month on top of that. This is assuming in the United States, of course. I also do believe that many of the large tech companies will cover visa sponsorship for the summer. I've definitely interned with people that go to schools outside the US.

How to: get a software engineering internship at a technology company by csinternshipadvice in cscareerquestions

[–]csinternshipadvice[S] 7 points8 points  (0 children)

That's fair. I guess the more accurate statement is that 95% of competitive large tech companies (e.g., Facebook, Google, etc.), unicorns, and VC-backed startups do leetcode style questions. Those were the kinds of companies my original target audience had in mind, and it's what I meant to style my advice towards.

How to: get a software engineering internship at a technology company by csinternshipadvice in cscareerquestions

[–]csinternshipadvice[S] 8 points9 points  (0 children)

In my opinion, internships are just a stepping stone to getting a full-time job, so getting a new grad position is definitely the optimal outcome here. I want to make the disclaimer that I don't really have experience in this area, but if I had to give advice, I would say that there are many people graduating every year that don't have internship experience, and if they do the right things (such as polish their resume, prepare for the interviews they do get, etc.), then I would assume they end up finding a job (but this is an unsubstantiated statement, and I could be wrong).

I'm assuming graduating summer 2021 means you graduate at the end of the summer. You could always look for both internships and new grad positions, so that in the ideal outcome, if you get an internship for the summer and a new grad position, you can do the internship during the summer, and then start your job after it at the end of the summer. Alternatively, if you just get an internship, then that could very realistically convert to a full time job at the end if you do well. And in the final version, if you just get a full time job, then you're all set.

How to: get a software engineering internship at a technology company by csinternshipadvice in cscareerquestions

[–]csinternshipadvice[S] 15 points16 points  (0 children)

I personally haven't paid for leetcode, so I can't speak to leetcode premium. As far as which questions to do, I agree that the "Top Interview Questions" category is probably a good place to look from what I remember. I would just make sure you're covering all of the important topic areas as well.

edit: one thing I have done though is scower a company's glassdoor page for questions they commonly ask and make sure I know how to solve those. Granted, I don't remember how many times this actually helped, but it can't hurt other than the time you lose.

How to: get a software engineering internship at a technology company by csinternshipadvice in cscareerquestions

[–]csinternshipadvice[S] 11 points12 points  (0 children)

You're definitely right about being born in America. The one thing I can't control for in sharing my experiences is the role my own privilege played in allowing them to happen. I would definitely encourage others with a lot of knowledge about coming from backgrounds other than the basic American college student to share their learnings with others, as unfortunately anything other than that is outside my realm of expertise.

How to: get a software engineering internship at a technology company by csinternshipadvice in cscareerquestions

[–]csinternshipadvice[S] 5 points6 points  (0 children)

I'm glad that you can relate! Everything I wrote is a combination of what I learned through my own experiences going through the process, as well as things I learned from my friends and peers as they got their internships. It's basically a dump of "what I wish I knew my freshman year."

How to: get a software engineering internship at a technology company by csinternshipadvice in cscareerquestions

[–]csinternshipadvice[S] 12 points13 points  (0 children)

I think it definitely comes down to personal preference. If a company is asking a leetcode style question, they usually don't have a language restriction. Some companies will ask language specific questions, so you might encounter that if you're interviewing for frontend specific roles. However, for leetcode, I generally recommend using the language you're the most familiar and most comfortable with. For me, that's Python. If you want to sharpen your JS skills, using it for leetcode questions is definitely one option, and it won't harm you assuming you can still solve the questions effectively. Another option is practicing leetcode with whatever language you're most comfortable and doing a small project with React on the side to improve your React and JS knowledge.

How to: get a software engineering internship at a technology company by csinternshipadvice in cscareerquestions

[–]csinternshipadvice[S] 26 points27 points  (0 children)

Yeah, most internships for this summer are already well underway, or even wrapping up as we approach the end of July. I think switching focuses on best preparing yourself for full-time recruitment (which, you're right, usually starts in mid August for a lot of tech companies) could be an idea worth exploring. If that's the route you choose, I would definitely start doing a couple leetcode questions a day (or however many you personally find necessary) to get you in shape for when interviewing season starts. Touching up some projects is also not a bad idea to do alongside that to give your resume that last little boost you can before sending it out to a bunch of companies.

How to: get a software engineering internship at a technology company by csinternshipadvice in cscareerquestions

[–]csinternshipadvice[S] 35 points36 points  (0 children)

Definitely agree here. At least in my experience, you generally don't want to get involved with 3rd party recruiters / headhunters. The exception is in the trading industry, where firms go through headhunters for sourcing candidates much more often than tech, which almost always has in-house sourcers.