We all hear talk of the technical skills shortage and how tough it is for employers to hire the best talent, but if you're looking for a tech job, it might feel like things are the other way around. Finding and landing that perfect job can be a time-consuming, difficult and sometimes confusing process.
In this article I aim to help you find your way through the recruitment maze by identifying some of the key criteria that tech companies are looking for when they hire new team members. I'll also look at the hiring process that's used by different companies and the culture and perks, to help you identify not only where you might be able to get a job but also where you might want to work.
The Companies
I'm going to focus on two kinds of companies here: the tech giants like Facebook, Google Microsoft and Apple; and startups and fast growing tech firms that may be smaller than each of the giants, but between them employ many thousands, if not millions of people.
I'm going to focus on technical roles such as software design and development in its many forms, and identify how the companies hire people to those roles and what criteria they use. I won't be looking at sales, marketing or support roles specifically, although you'll find that some of these companies require their developers to have sales and support skills.
The companies I've looked at aren't an exhaustive list of the ones you might want to work at (if I included all of them this would be a very long read!), but this article includes a cross-section of different types of companies, such as: giants (Apple, Microsoft, Google, Facebook), growing businesses or startups with offices in one or more locations (Pure Storage, Slack, MongoDB, Huddle) and others with a distributed workforce around the world (Automattic, Buffer, Envato).
What I've found is that these companies have many things in common, particularly when it comes to recruitment criteria, but there are also some key differences. These tend to relate to the company culture and perks as well as the hiring process itself. I've also found that startups tend to be less rigid when it comes to educational qualifications and are more likely to value skills and a cultural fit.
Let's start by examining the criteria which the companies examined are looking for.
The Qualities Companies are Looking For
When trawling through job details at all of these companies, there are a few criteria which nearly all of them mention, some with more emphasis than others. These include technical skills and experience, interpersonal and communication skills, qualifications and personal attributes.
Technical Skills and Experience
This one is a bit of a no-brainer really: without the technical skills for a given job, you're not likely to stand much chance of landing it. All of the firms ask for relevant technical skills and experience for all of their jobs.
Examples include Apple, who expect applicants for developer roles to have experience with their APIs as well as other relevant technologies and languages; Facebook, who expect industry experience with the systems relevant to each role, and Automattic, who expect applicants to have a high level of WordPress knowledge.
What does vary is the length of time you're expected to have worked in the industry: startups are less likely to ask for many years of experience, although Pure Storage require 5-10 years' experience for a Systems Engineer role, for example. Generally the giants will be able to hire the people with the most experience and will expect that, while companies that haven't been around so long will value personal qualities and technical potential more and generally aren't so strict on length of experience.
Communication Skills
Most companies are looking for people with good communication skills, even in roles that are purely coding-based: this is so that you can work effectively with other team members and communicate with your colleagues in order to get things done.
Microsoft expects you to be an excellent communicator, Automattic expects all its team members to spend time supporting customers so requires great communication skills from everyone, and Buffer has 10 Buffer values which include listening and communication. Our parent company Envato has six core values. Pure Storage ask for good verbal and written communication skills and Apple are looking for excellent interpersonal skills.

Personal Attributes
As well as commutation skills, many companies expect you to have other personal qualities or to share their values: for example if you apply to Buffer you'll need to share the 10 values mentioned above, Facebook will expect you to be bold and agree with them that the riskiest thing is to not take risks, while Slack values diversity, experience, gumption and panache.
Analytical and problem-solving skills come up a lot: Apple mentions these in most of their job descriptions as do Microsoft and Facebook, who talk about curiosity. Automattic values problem-solving abilities among other personal qualities: their Happiness Hiring Team's Karen Arnold told me:
"We’re hiring people with a passion for solving tough problems who are driven by a deep desire to learn and to find solutions."
The ability to work in a fast-paced environment and respond quickly is mentioned a lot too: Huddle want people who value Agile development principles, Facebook hire people who can move fast, Automattic specify flexibility, Apple need you to be comfortable with rapidly evolving requirements and Buffer want you to be a no-ego doer.

Being self-motivated and able to work with minimal supervision is important too, especially at companies with distributed working like Automattic - where you can expect loose (at best) direction - and Buffer, as well as Microsoft and Slack which look for self-starters.
Google lists three attributes they look for, aside from role-related knowledge: leadership, thinking style and googleyness. It's clear that fitting in with Google's mindset and culture is key to landing a job there. They're the only company I found who require leadership skills from all employees regardless of role, although what they're actually looking for might be similar to the self-starter qualities other companies mention.

Some companies don't emphasise personal attributes as much as technical skills though: aside from listing verbal and communication skills, Pure Storage makes little mention of interpersonal skills, and both MongoDB and Huddle focus on technical skills in their websites, although Huddle's hiring process indicates that interpersonal skills and cultural fit are important too.
Qualifications
The level of qualification required to apply for developer roles varies, with the more established companies or those working with enterprise rather than consumers tending to be stricter in this regard.
Apple, Microsoft, Slack, Pure Storage and MongoDB all require a Computer Science degree or equivalent for developer roles. Facebook's criteria vary by role, with experience and skills being a higher focus.
Automattic and Huddle don't mention a degree as a requirement while Buffer state that being self-taught can be just as valuable.
However there's no doubt that a degree will give you some advantage wherever you apply, whether that be because of the value attributed to the degree itself or the skills it's given you.
Finding a Fit - Culture and Perks
Finding the right job for you isn't just about finding a job you're qualified for or a company that's prepared to hire you: it's also about finding somewhere that you'll fit in and be comfortable (even happy!) working.
The organizational culture of the companies I examined varies hugely, with this largely being dependent on how large or established the company is and the type of customer it works with (although there are exceptions!).
As you might expect, the startups emphasise a fast-moving, modern culture with some innovative perks and employment structures, while the giants tend to be more traditional in their approach, pool tables and fake grass notwithstanding.
The larger companies are more likely to offer traditional benefits like pensions, health insurance etc., while some of the startups offer more unusual perks like flexible working including self-management (Buffer), remote working (Buffer, Automattic), flexible holidays (Buffer, Pure Storage) and the day off on your birthday at Huddle!
All companies talk about opportunities for training and development, with Huddle offering innovation time for personal projects, Google providing examples of team development opportunities, and Automattic and Buffer bringing their distributed teams together a few times a year for socialising and development.
Most of the companies will require you to work at one of their offices, with all having offices in the USA and many having them elsewhere in the world: Automattic and Buffer are different in that they don't have offices but are completely distributed.
Most of the companies talk about diversity and how they promote this: Google describes itself as a great workplace for women and has been recognised as supportive of gay marriage by Marriage Equality USA. Buffer is attempting to hire more women with measures such as removing 'hacker' from job titles, Automattic and Buffer promote remote working as an aid to diversity and Apple's careers site includes information on inclusion that goes beyond the normal approach of putting people in boxes.

Many of the companies promote social activities and/or sport as a perk or a way of connecting with colleagues: Huddle's Funderbirds organise social activities, Pure Storage hold scooter races around the office (!), Microsoft have sports fields on their campus and Facebook give you access to free bikes and an on-site video arcade!
Giving something back to the community is also mentioned by some of the companies, such as Huddle with its Huddle Foundation, while Microsoft offer matched giving and donations to organisations you volunteer for. Automattic and Buffer make all of their software open source, which gives back in a different way.
The Hiring Process
So you've found a job you want to apply for at a company whose culture fits you, now what? The hiring process varies widely between companies, with the giants generally having the lengthiest, toughest (and arguably most obscure at times) hiring processes.
There are four main categories here:
- Companies with a multi-part hiring process involving telephone interviews, face to face interviews and maybe testing.
- Companies which tend to use one phone call followed up by one or more face to face interviews, all on the same day.
- Companies using less traditional methods.
Multi-part Hiring Processes
Google is infamous for the difficulty of the questions used at its interviews, but what exactly does the hiring process consist of? Here's the process for Google and the other companies using a multi-part hiring process:
- Google has a 'how we hire' page on its website explaining the process. You can expect an initial phone interview with a recruiter followed by a more technical phone interview and finally a face to face interview onsite, which will consist of interviews with four or five different people from a variety of teams.
- Apple conducts initial screening phone calls, followed by interviews using (surprise!) Facetime and then multiple face to face interviews. They'll fly you to their offices if you get to this final stage and pay for all your expenses.
- Microsoft starts with a screening phone call and then a technical interview over the phone, followed by a day of face to face interviews at one of their offices. If you've done well your day will finish with the 'as-appropriate' interview which is the point at which they convince you to work for them.
- Facebook kicks the process off with an initial phone call with a recruiter. This is followed by a screening exercise either over the phone or face to face where you'll be tested on your coding skills, and then a face to face interview which will also include coding tests.
Phone Call Plus Interview
The smaller companies tend to use a shorter recruitment process as they don't have so many applicants to sift through:
- Pure Storage will ask you to complete a practical test and then interview you face to face.
- MongoDB will start with an initial phone call, then three one hour interviews back to back, either over Skype or face to face. These will include coding exercises.
- Huddle ask you to join their 'huddle talent community' before applying, where you can get a referral for anyone you know who already works there and apply using Linkedin or Facebook. It then conducts a phone interview followed by a face to face interview including a coding test.

Other Methods
Both Buffer and Automattic have quite unusual hiring methods, which are different with one main similarity at the very end of the process.
Buffer invites an email application which it scrutinises with great care to see if you'll be a fit with the organisation: presumably they're looking not only at your skills and experience but also at the way you write and how that fits with their brand voice. It also looks at your twitter account to see if your tweets show that you'd be a cultural fit.
Automattic use an entirely remote hiring process done exclusively using text. Because of the time differences between different members of its remote team (including between hiring managers and potential recruits), it avoids using even video or phone calls and instead conducts its recruitment using Skype text.
Both companies have one thing in common, however, and that's a paid trial period if you get through the recruitment process but before they hire you permanently. Buffer use the 'Buffer boot camp' (explained in the video below) while Automattic will ask you to work on a specific project at $25 an hour. If this goes well, you'll get the job!
Buffer's Kevan Lee describes the bootcamp as 'a little like dating':
"Both sides are really interested in each other and eager to spend time together and build a relationship. There’s no need to rush off and get engaged right away. It takes time (six weeks, say) to know if you two are a good fit or not."
Summary
There are plenty of technical jobs out there, but getting one isn't always easy. The recruitment process that companies will expect you to go through can be time-consuming and very tough, and the companies that have thousands of applicants for every job can afford to set the bar very high.
However there are some key requirements that most companies are looking for when hiring into tech jobs. Understanding what these are as well as being aware of the cultural fit between yourself and the organisation will help you find and successfully apply for the best job for you.
Good luck!
Resources
Graphic Credit: Work icon designed by Jared Fanning from the Noun Project.