Attracting people to work for you

comment 1
Management 101

It’s not just the technology

It may be straightforward to look at the best companies of recent years and deduce that they succeeded due to having the best technology. There’s probably a lot of truth to that hypothesis. However, who created that technology? It was the people. The most successful companies manage to attract, hire and keep the best people available. No matter how grand the vision of the founder is, without the right people, this vision will never become a reality.

As a manager, hiring is something that you’ll be doing a lot of. It sometimes can feel like a drag, especially when the interviews aren’t yielding any result. However, getting the right people into the company is essential from both a technical perspective and a cultural perspective, so it deserves your careful attention and time. After all, since you are being judged by the output you delegate through your team, you need to make sure your team has top-notch people.

We’ll spend time looking at the actual hiring process in a future article, since to go through that process you’ll need people to have applied. The question is how do you get the best CVs through your door?

Generally speaking, there are four broadly different ways of attracting new people.

A potential candidate could be:

  • An unknown direct applicant: they’ve found your job somehow, perhaps online. They like the look of it, and they’re now applying.
  • Headhunted: they’ve been approached directly because of their skills and have been convinced to apply.
  • A positively-affected direct applicant: They’ve had a good experience with your company (e.g. they’ve attended a community event, or worked in partnership with you, or could be a client), and have therefore become a direct applicant.
  • A referral: a friend or ex-colleague (or both) of a current employee that has made a recommendation.

Let’s look at each of these routes into applying.

Direct applicants

These are the people who have found the role themselves, with little experience or knowledge of your company prior to doing so. Depending on the specificity and seniority of the description, you may get few or many applications. You might get lucky, you might not. I’d recommend against relying on this as your only method of locating new talent.

Tech giants such as Google, Apple, and Facebook have ubiquity in the industry and are thus guaranteed a steady flow of applicants. People just know them, right? You may work for a less high profile company, or be at a tiny start-up stage, and may be struggling to stand out. This is an increasingly difficult problem in the current market where the number of available jobs dramatically outweighs the number of highly talented job seekers. It’s an especially compounded problem in world-leading cities such as London, New York, and San Francisco.

In order to increase the number of direct applicants, there are some levers that you can pull. Firstly, make sure that you’re writing good job descriptions. Steer clear of making them too audacious or silly: despite a start-up saying it wants to hire a “rock star”, many, many people will be put off from applying due to this language. Keep them light-hearted, simple and professional. Make sure you focus on what the candidate can experience and learn by coming to work for you, rather than demanding a strict list of skills. This, again, can put people off, and prevent more inexperienced but extremely talented candidates from applying. Unless it’s a specialist role, don’t expect all candidates to have used every technology you’re using. Instead, look for bright people who can adapt and are excited about learning new things. It’s more intriguing to read that you will learn to work with petabytes of data, rather than expecting to be already experienced at working with petabytes of data. Don’t confuse what the job entails with what they are expected to have as a pre-requisite.

Secondly, get your job out there on as many boards as possible. Typically, most global boards such as Stack Overflow cost money, so you’ll want to do your research on the prices to see if it’s worth your time. Also, check to see how many other similar roles are posted on these sites to see if you stand a chance of people noticing. If you’re hiring for a specialist role, find others in that community and ask where the best place is to advertise. Specialists may all subscribe to a particular mailing list or forum. Posting to these niche lists can sometimes be (nearly) free. There are also frequent threads on Hacker News asking who is hiring that can be posted to for free, but do make sure you post in such a way that fits in with the community frequenting the site: don’t be a spammer.

Headhunting and recruitment agencies

In order to accelerate the process of finding good candidates, you can approach a recruitment agency to widen your search and cross-reference it with the job seekers they already have on file. There are many recruitment agencies and their quality varies greatly. Always get a recommendation, if possible. If you don’t have any colleagues to give you a recommendation, then take to Twitter and find people in your area (both geographically and via their skill set) to lead you in the right direction. Choose carefully, because dealing with bad recruiters can be painful: each bad interview with a candidate who hasn’t been properly pre-screened wastes your time.

Don’t sign up with a recruitment firm before meeting them first. Ideally, meet them in person. By inviting them to your office they’ll be able to get a feel for the culture of your company. Get a list of what they believe their best candidates are at the moment and understand their approach to finding people. Ask them frankly how many other similar companies they are working with, and how you can guarantee that you are going to see the CVs of the best candidates that they find.

Headhunting activities can be carried out by agencies also; some specialize in it. This method is especially useful for niche and very senior roles, as an agency will have a network for that niche to pull from. If you are thinking of having an agency head-hunt for you, make sure they explain their process. These agencies are acting as an extension of your own company’s culture, so you want to make sure that potential candidates are being treated with respect; not being pestered. You can also take head-hunting into your own hands, by having influential members of your own engineering staff personally get in touch with interesting-looking candidates at other companies.

Community outreach

A positive method of increasing the visibility of your company locally is by getting involved in community events and meet-ups. I’d advise against sponsoring conferences if you have a limited budget. Just having your name on the banner next to the stage doesn’t give any guarantee that attendees will even notice, let alone think of applying. Instead, think about how can you do something impactful for your local community.

We have had great success in Brighton by helping organize Brighton Java. All it costs is a little bit of time, some drinks, snacks and our office space for one evening a month. Not only does this get local technologists into our office and meeting our staff, which is very helpful for visibility and recruitment, it also helps us give something meaningful back to the community. If you are in a big city then it may be harder to devise a new meet-up that isn’t already catered for, but you can contact the organizers of other meet ups and offer your office space, money for drinks and snacks, and staff to speak at the event. We have also had great success in hosting the Codebar initiative and offering mentorship through it.

Community outreach is not a quick-win solution to hiring. In fact, if you go into it with the primary purpose of hiring people, you are going to have a shallow experience and you may turn attendees away in the long term. Instead, go into outreach with the goal of giving back to the local area and fostering the community. Recruitment is a side effect of the long game.

Referrals

If you’re hiring high-quality people, then it’s very likely that they’ll know other high-quality people too. Capitalize on this. Hiring known entities can have a very positive effect by sustaining the current culture: staff are unlikely to refer people that they didn’t enjoy working with.

I wholeheartedly recommend a referral scheme for your staff. By offering a monetary incentive, your staff will more actively think about the best people that they’ve worked on over the years and get back in touch with them. Otherwise, it can be difficult to motivate people to take the time to revisit old work relationships with those they are not close fiends with.

There is one aspect to warn against here: referrals can easily decrease diversity within an organization. Make sure that those interviewing are aware of whether a candidate is a referral, and if hired, be careful of their placement into teams. Too many referrals landing in one team can create cliques and be detrimental to the wider department.

In summary

It’s getting harder to attract the best talent as there are simply more jobs on the market than there are talented candidates that are actively looking. Push in multiple directions to cast the widest net possible: take care in writing attractive job adverts, post to the right boards and lists, use headhunting and recruitment agencies that you feel are a trustworthy cultural fit, encourage your current staff to make referrals, and increase your presence in the local community by giving something meaningful back to it. With time and concerted effort, your magnetism will grow.

Next time we’ll have a look at what happens when you’ve had good candidates apply: doing interviews.

The two tracks of growth

comment 1
Management 101

How do we grow?

You have a responsibility to your staff to understand their career aspirations and facilitate their growth in the right direction. But what should they be aiming for, and who is accountable for making it happen?

There is often a stereotype within the technology industry that the only way that growth can occur is via promotion into roles that carry increased people management responsibilities. At best, this can produce excellent leaders who take their teams and companies to the next level. At worst, this can alienate staff who aren’t naturally suited to this role, resulting in them becoming frustrated and leaving the company. Clearly, we don’t want the latter to happen.

I find it more helpful to think about two mutually exclusive tracks for those working in technology: the management track and the individual contributor track. Both are very different growth trajectories, carrying very different responsibilities. However, despite the differences, both can have an incredible weight of influence at senior levels. They just do so via alternate means.

We’ll have a look at both of these tracks today.

The management track

The management track concerns itself with – unsurprisingly – people management. The management track begins, typically, by gaining line management responsibility for some individuals, usually by taking on a team lead role. In my current organization, the size of these teams can vary from 2 to 8 people, depending on the kind of work that the team does.

If you are a new manager with direct reports for the first time, then congratulations: you’ve just begun on the management track. In fact, most of the articles on this site describe in detail the many facets of this role so we won’t dwell on specifics.

As a manager, you’ll be concerned with increasing the speed and efficiency of the work that your organization (i.e. the part of the organization for which you are responsible for) delivers. But how do we measure the growth of an individual along that track? Andy Grove comes to the rescue (again) with this succinct equation:

A manager’s output = the output of their organization + the output of the neighboring organizations under their influence.

Neat, huh?

The output of your organization

Looking at the equation, moving further up the management track is concerned with growing your team’s output and increasing your influence in your organization. Now, that’s interesting because it encompasses all those that report to you plus all those that you work with outside of your lines of reporting.

A natural first step in growth is expanding the number of people, and hence direct reports, on your team. However, once teams get to a certain size, usually around seven, plus or minus two, the overhead of line managing all of those people becomes prohibitive. For example, allowing an hour a week for 1 to 1s with each of your reports, that gives you almost a solid working day in those meetings every week, not including follow ups, day to day work and team meetings. Attention gets scattershot.

Growth in the management track beyond managing one team is to begin managing other team leads as well so that you have multiple teams reporting into you. If you have a small team, you can continue to lead it yourself in addition to managing other leads. You’ll want to make sure you have enough to do; don’t make yourself redundant.

That’s the first half of the above equation covered: get more and more people and make sure that they perform really well. But what about the second half?

The output of neighboring organizations under your influence

Well, in addition to growing the size of your organization, you can also grow your influence in your company by sitting on steering meetings, contributing to strategic decisions, getting involved in hiring new staff, and so on. This half of the equation requires developing a feel for what is going on in your company at any given time, and leaning forward and asking to contribute. In a later article, we’ll talk more about increasing your visibility at work.

The further an individual goes down the management track, the less time that individual has to get involved in the technical details. More emails and meetings, less code. This is an area of frequent tension for many engineers who have been promoted into management roles. I have seen engineers move into management and then become extremely stressed that they cannot predictably get technical work done since they are frequently in meetings and being interrupted. Some begin to panic that their technical skills are not increasing as rapidly as before. This is why moving into this track requires very careful consideration: it’s a different job being judged on very different criteria.

Managing one’s own time better may allow for some continued technical contribution, but I stress that there is also the need to let go of the way things were and fully embrace management: your own personal output is less important than the output of your team.

The individual contributor track

The individual contributor track, widely written about for many years, celebrates the engineers who want to hone their craft and become technical experts rather than going into management. Instead, it is a path where expertise and influence are the currency. A promotion from Junior to Intermediate (or similar) into a Senior Engineer role over time is a clear sequence of steps along this track. Larger organizations have roles like Principal Engineer and Staff Engineer to further allow for progression and recognition for their most senior staff.

Although it doesn’t concern itself with management, progress along this track can still be looked at similarly to the equation above. The output of the individual is very clearly measured: they can work efficiently on complex tasks, often at an increasingly architectural level. They breeze through technical issues and automate most tasks they encounter for the first time. They give crucial advice at the beginning of projects about how technical choices will factor into the cost of a product: from scaling to maintenance to the amount of time and risks involved in building it.

That’s the output of the individual covered, but what about the organization under their influence? For the engineer on this track, they can influence in a number of ways to show progression. For example, they could head up, or strongly steer, a self-organizing group in the company for their skill set (e.g. the Scala group, or Hadoop group) and advise on developments and best practices. They could mentor and train other members of staff. They could review architectural plans for other teams that are not in their usual remit. They can advise on CapEx and OpEx spends through researching different ways of building a new system. Their expertise ensures the right business decisions are made, which can result in the creation of a truly innovative new feature or product. Conversely, their analysis can stop a project from happening altogether, saving many years of wasted time and money.

Compensation

Ideally, there should be no glass ceilings in either track and no interdependencies. For a technology company, an extremely experienced individual contributor and extremely experienced manager both contribute at a high level. Thus, at a similar level of contribution, they should be rewarded similarly.

In the real world, this may not always be the case, and you can detect senior leadership bias here: a “pure” technology company may lean towards paying Staff Engineers higher than managers. A more corporate environment may value leadership over technical skills, and the higher ends of the average pay bracket may favor those in management positions.

If you have easy access to the senior leadership in your company, then this is an interesting discussion to have with them. What do they value? Which skills are irreplaceable?

Moving between tracks

Many see the movement from the individual contributor track to the management track as a one-way street. I don’t think that this should be true at all. Until one has tried management, how can one be sure that it is right for them?

When promoting staff into a managerial role, a good approach is to set some goals with them over a fixed period of time. Then, after that period of time has passed, both the new manager and their own manager can mutually decide whether the role is working out. If it isn’t, they should be free to move back to the individual contributor track, exactly where they were before. Likewise, managers who wish to move back to the individual contributor track should also be allowed to, assuming they have the correct technical skills.

This leads to an interesting discussion: how should pay be decided when moving from one track to the other? In my eyes, it depends on the value that the individual is contributing to the organization. If an experienced long-time manager wants to move back to the technical track but will take a long time to become a net-positive contributor because of retraining, then I don’t think that it is unreasonable for them to take a pay cut if they are going to be dramatically overpaid compared to the rest of the team.

Conversations around trajectory

If you’ve not had these kinds of conversations about the two tracks with your staff, then it’s highly recommended to begin them as soon as you can. Having them explore their intentions early on means that you’re able to begin supporting them in moving towards their goals. Left undiscussed, your direct reports may not know that there are opportunities to move both upwards (along the same track) and sideways (to a new track) within the current organization, and in the worst case, they may feel that the only way to do so is to get a new job.

I’d advise against going into a full career planning session with them immediately, but instead, begin to weave the conversation into your 1 to 1s. As a manager, what could you delegate to a member of staff interested in learning the ropes of management? This could be a mutually beneficial exercise. Equally, could you begin a mentorship between a junior engineer interested in becoming a senior individual contributor with someone of similar stature in your department?