How to get into Top TechWatch
What exactly do you mean by top tech?
When I say top tech companies I mean companies where technology is their main focus or where technology plays a very non-trivial part of their business.
Types of comapnies where tech is their main focus:
- Tech companies that have a big impact on society like Google, Facebook, Amazon, Apple, Netflix and Microsoft. I'll refer to them as FAANGM. It's an acronym borrowed from Reddit's cscareerquestions subreddit. (Check it out, there's lots of information on there for aspiring software engineers)
- Unicorn tech startups. Unicorn means they are valued at more than a billion dollars. For example, deliveroo, uber and improbable.
Types of companies where tech is not their main focus but tech plays a very non-trivial role:
- Quant finance companies like Jane Street and Two Sigma. The techniques they use to perform trading are borrowed from machine learning.
- Investment firms and banks. Cyber security is incredibly important for companies handling large sums of money. Having lackluster technology can be a massive hazard. When banks cheap out on tech, they pay the ultimate price as shown by the Bangladesh Bank Heist.
How much do top tech companies pay?
The data is collected from Glassdoor and the numbers shown are how much the below companies pay to graduate software engineers/technology analysts.
How do I get into a Top Tech company?
The selection process looks like this:
1) CV screen
2) Phone screen
3) 1st round on-site (not assessment centres, normal face-to-face interviews)
4) 2nd round on-site
(Some companies will ask you to complete more than 2 on-site interviews, Palantir is reputed for dragging on the interview process)
The easiest way to your CV noticed is through your network. If you know someone that works at one of these companies, you can ask them for a referral. Getting a referral means there's a 99% chance a person will read your CV. If you apply online you might have an excellent CV but if it doesn't get to a human you aren't getting hired. The converse is also true, if you have a horrible CV then you aren't getting hired regardless of whether you've been referred or not. To make a good CV, read the advice given by Gayle McDowell on careercup.
She is American so her CV advice is US-centric but almost all of it applies to the UK tech market. The only additional thing I'd mention is to put your A-Levels on your CV aswell as your degree. Companies will assume you have poor A-Level grades if you don't mention them.
Top tech companies regularly host networking, code competitions and recruiting events at top universities (or targets as they're called in investment banking). Places like Oxford, Cambridge, Imperial, UCL, Warwick, Bristol, Bath, Edinburgh are where you want to be to get into one of these companies.
TLDR: go to a target university, network around.
The phone screen isn't that difficult. The purpose of the phone screen is to weed out people who are totally incompetent. It can either be done by a technical person or a HR person.
If it's done by a technical person then expect one or two coding questions. The coding questions will be easier than the one's you'll be tested on at the on-site interview. For example, on the phone screen you might be asked to invert a binary tree but on the on-site you might be asked to flatten a binary tree to a linked list.
If it's done by a HR person then the questions will be behavioural. For example, "tell me about a time you had a conflict in a team", "tell me about some technologies you used in your projects" or "tell me about an interesting hobby every morning". The key to giving good answers is reflect on what relevant situations you've been in before the interview. Think about a time you had a difficulty in a group programming project. Make sure you frame your answers around the STAR (Situation, Task, Action, Result) acronym.
The on-site interview will be 100% technical with a couple of behavioural questions at the beginning to break the ice. There are two types of technical on-site interviews.
The first being the system design interview. In this interview you are given something to design and you must discuss scalability considerations. For example, you might be asked to design a URL shortener. You would talk about url encoding (hashing, SHA-1 encryption), load balancers and database configurations. More information can be found here:
The second is an algorithms/data structures interview. You are given a problem to solve and you must design and implement an optimized algorithm to solve the problem. For example, you might have a sentence "hello, how are you today fine sir?" and your task is to count the frequency of each word. A naive solution would be to iterate through each (target) word and then iterate through the sentence again counting the number of words that match the target word. An optimized solution would be to setup a dictionary of counts and iterate through the sentence once to count every word. If you make it to the final interview and you solve the problem, congratulations, you now have a high paying job.