Hiring: you are doing it wrong

Looking for a job in the tech sector is a challenge. A lot has been written about the process itself and its quirks, ranging from  programming puzzles to  whiteboard interviews. However, there are still a few details that are often overlooked by most companies and can make a significant difference for perspective applicants.

Even when recruiters try to do all they can to make the application and hiring process as easy as possible, it is extremely common that the jobs or careers sections of their websites do not contain all the information applicants would need to make an informed choice. And when the information is present, it is often arranged in a way that is not effective or clear enough.

This article contains a selection of the most frequently neglected details; information that is valuable for applicants but, for a combination of good and bad reasons, is often hidden or not present at all.

If your company is hiring, try to figure out how easily a candidate can find an answer to these questions by looking at your website:

If the answer to any of these questions does not come immediately, the careers section of your website may be cleverly designed and communicate a great image of your company, but it is probably disconnected from the needs of its users: the people you are trying to hire.

How long will it take?

Changing jobs is an important decision for everyone, a decision that usually brings consequences on many other aspects of someone’s life. One example: think about candidates who are considering relocating to another city or another country to apply for a position at one of your offices. This influences all sorts of decisions they must make, and it is quite painful to be waiting for an answer for a while without knowing what to expect.

This is a strong reason why any company that is hiring should report on their web site the average time it takes to get from first contact to offer. Post it on your website, post it where anyone can see it. And eventually, stick to it. Try to keep that as a deadline, an upper bound.

If candidates know how long it takes to get an answer from you, they can make informed choices. As anyone can imagine, that is particularly important for candidates who are applying for more than one position.

Publicly disclosing that information means you are committed to closing the hiring process within a reasonable time frame. Candidates will know what to expect and will appreciate your move towards transparency.

Do you accept international candidates?

We all know how the story about globalization goes, especially for the field we are in. You can find great engineers anywhere in the world, and if your company is successful enough and it is doing well, chances are that you will attract potential applicants from countries other than your own.

That is why you should state explicitly if you are not willing or can not afford to hire international candidates. The more you are clear on this up front, the less time you will waste managing applications you are not going to consider.

On the other hand, if you are considering international applicants or are willing to hire remote workers (and you should), state that explicitly as well. This will encourage engineers to apply, if they were hesitant.

Do I have to go through hundreds of openings to find a match?

Large companies generally have a significant number of openings at any point in time. There are different ways to deal with this kind of situation, depending on your hiring policies, but if you let each group publish its own requisition you will end up like Apple, Amazon or Microsoft.

If you ever tried to navigate their careers sites you understand what I mean: if you search for a “Software Engineer” position there, you are presented with a list of hundreds (if not thousands) of results to choose from.

In this case, the abundance of alternatives is not a good thing: there is no way candidates can go through such long lists in a reasonable time, and if they want to refine their search, they have no hint on what keywords to use for filtering (as job descriptions are generally non-standard).

While this arrangement apparently makes the process easier for HR, it is seriously annoying for candidates, who must decide whether they want to apply for a super specific position like “Senior Software Engineer – Office Assistant” or apply simultaneously to dozens of positions with similar requirements at the same company.

A good alternative would to let recruiters match candidates to openings, not the other way around. Facebook and Google, for example, feature generic Software Engineer openings, allowing candidates to choose from a dozen or so alternatives. When they are more specific, they include a general area like Search or Platform, and they do that because they different areas imply different requirements. Candidates are screened once by recruiters, they are evaluated once, and if they are a match with the company, they are assigned to a group in need.

Facebook even has an initiative called bootcamp, where they allow new hires to work on different products and projects for six weeks and then pick the best match at the end of that period, rather than forcing them to choose blindly before filing an application.

What is my level of seniority?

Job seniority is a relative concept: it is not uncommon for the Senior qualification to imply different levels of experience depending on the context. Someone can be called a Senior Software Engineer at Company X after 15 years in the industry, while Company Y may be considering Senior an engineer with 5 years of commercial experience.

To candidates coming from outside your company it is not at all evident which job level they belong to, and they will need to spend some time figuring what the scale you use internally. Does it really matter? I would say no.

Google and Facebook got rid of job levels when listing their openings, instead they report the desired level of experience in each posting, and only when it is relevant.

If you really need to use job levels when listing openings, at the very least, try to be consistent. If this recommendation sounds obvious, please note that both Microsoft and Amazon (just a couple of relevant examples) use inconsistent naming in the same result page.

Job openings at Microsoft

By looking at the image above (from Microsoft’s website), can you tell what is the difference between Software Development Engineer, Senior and Software Development Engineer II?

Which division should I apply for?

If job levels are not consistent across different companies, organizational structure is – almost by definition – company specific. Forcing candidates go through a never-ending list of divisions to understand where they may fit is going to discourage some of them from applying.

To give a concrete example, Amazon’s job search lists, as of today, 57 different job categories, a list so long that it does not fit my laptop screen. With such a large number of categories, it is going to take a while for candidates to make sense of where they want to work.

It would be a lot better to group jobs in broader categories that can be understood at a glance or, when that is not possible, to use a hierarchical structure. (In the case of Amazon, for example, Data Engineering and Software Development can probably fall in the same bucket. Fun to make this remark for Amazon)

If you really must use a large set of categories, do not force applicants to pick just one but rather allow for multiple selections, like Microsoft does. Candidates will be able to pick a few alternatives that make sense to them, and refine their selection as they progress with the search.

Does location really matter?

If someone is looking for a job at your company and they are willing to relocate, chances are that the specific location for the job will not matter that much to them.

Forcing candidates to choose location before searching for specific job openings will be annoying, especially if they are considering job functions are not available in all of your offices. If I want to work as a Software Engineer at your company regardless of location, do I have to search a dozen local websites to figure out where you are hiring engineers?

It is much better to allow candidates to search both by department and by location, as Facebook does.


Most of the issues mentioned in this post apply more to large scale companies, where the sheer size of the organization contributes to making processes more complicated. However, regardless of the size of the company you work for, try to put yourself in the shoes of a perspective applicant. Think about what you would need to know if you were to apply for a position at your company. Think about what would matter to you. Then go fix your careers website: a lot of us will thank you.

Alessandro Bahgat
Software Engineer & Manager

I am an engineer and manager of engineers, I sometimes play with side projects and write about my experiences in my spare time.

Liked this?

You can sign up here to be notified of new content. Low frequency, no spam.

comments powered by Disqus