13 Febuary 2025


                  HOW TO GET A (Computer Science) INTERNSHIP (Interview)
                  ==========================================

In the summer before my fresher year, I made a naive internship application and
got ignored. Then by listening to a talk from Raj Sidhu of The University of
Cambridge Careers Service and speaking to some older students at my college I
learnt essentially the below advice. With it, I secured my first choice
internship for the summer after my first year with only two applications. In
second year I made another two applications, this time to highly competitive
quant trading firms and was accepted into my prefered one before I could
complete the interview process for the other.

This advice is intended for undergraduate STEM students. It indends to answer the
question of how to get a summer internship. I focus on how to prepare a CV.

There are two ways to get an internship: Either you apply to an internship
that is publicly advertised, or you get in contact with a company that is not
publicly advertising a role and pursuade them to give you an internship. I
can only speak about the first of these methods since it is the only I have
experience with, but I hear that the later method can be successfull for
small firms.

--

Imagine your boss has just dumped 500 CV's on your desk and asked your to
choose 20 to interview. You are not going to take the time to make sure you
choose the best 20, that would take too much time, you only need to choose some
20 that you can justify to your boss. You are certainly not going to read
any of the CV's, not in their entirety. Your boss has also given you a short
prompt for what qualities you should be looking for (the same promt will be
listed in the 'what we are looking for' on the internship application website)
so what you are going to do is scan each CV for around 4 seconds each, looking
for some set of keywords from that prompt. If you find enough keywords, put it
into the interview pile, otherwise discard.

Your CV is only going to be SCANNED or skim read at most, so you shoule
write it to be optimized for scanning. Below is the example of what NOT TO
DO. You learn nothing in the first few seconds of looking at this, if you had
100 CVs to go through you would discard it after that. The large paragraphs
with no bold keywords is the main problem here. Remember, this is a CV not
a UCAS personal statement.

                                DO NOT DO THIS



You would improve this by breaking everything down into bullet points with
bold keywords on the left of the page. This is better because here you do
not need more than a few seconds to see the keywords you need to put me in
the interview pile.

                                    BETTER



These bold keywords should match the 'what we are looking for section' on the
website that advertises the internship. Here is an example I found from the
Netcraft website.
                    
This right here is GOLD DUST. They are telling you exactly what you need to put
in your CV to get an interview. Have enough of these keywords in bold on the
left hand side of your CV with some lorem ipsum following it and you will get
an interview. In order to get your keywords to match you will need to customise
your CV for each application.

It's a better use of time to make fewer high quality applications than many low
quality ones. By "high quality application", I mean reading the role description
on the companies website and modifying your CV to view yourself and your projects
from the perspective of that role. A "low quality application" means sending off
a generic CV to many companies.

The reason for this is twofould. First, it is because customising your CV can
just have that much of a positive impact on your chances on getting an interview
and being accepted. And second, because when you do get accepted you will have a
greater chance to be accepted into one of your more prefered internships as
opposed to just some random "number 40 on your list of internship" places.

It would take too much time to completely rewrite your CV for every application.
So first you should write a 'base' CV containing basically everything you can
think of in a rough form. In their final form, your CVs should be one page (to
make scanning easier) but this base CV can be longer since it has not been
reduced yet. Then for each application you will follow these three steps.
  1. Find the keywords you need on the 'what we are looking for page'.
  2. Remove anything from the base CV that is toatally irelevant for this
     application until everything roughly fits on a page.
  3. Reword your project descriptions and change the bold keywords in each
     project. For example, if one keyword I need is C++ then the chess engine
     I wrote in C becomes C/C++. Or if 'algorithms' is a keyword, then then
     chess engine project becomes an exploration of different *algorithms* used
     in the domain of these engines. Or if 'cyber security' is a keyword, then
     the chess engine was nothing but a toy project for learning C so that I
     could understand why buffer overflows are so common in it.
  4. Spell and grammer check. I copy and paste mine into a number of free
     online AI tools to pick up on my mistakes.

In your CV you should have sections on Education, Work Experience (if any) and
Projects. I also like to include a short Extra Curricular section as well to
prove that I'm not a robot and to give an interviewer something to break the
ice with. The Education section does not have to include all your GCSE grades,
just brag about the good ones. If you haven't done any personal projects
related to your subject then I recommend you spend your summer trying that
instead (you will probably learn more from that than an internship and you
will have projects for next years CV).

Finally, you should put some contact info at the top. Definitly an email, you
could do a phone number but dont bother if like me you wont answer your phone.
Putting a LinkedIn link can bee good if its non-empty, but I wouldnt waste my
time padding out a LinkedIn profile just so I can link it in a CV.

Here is my CV as an example. On a technical note, I used https://typst.app to
compile it. If you want you can use my (messy) source as a template.



                              You can email me at christopher.lang.256@gmail.com