Finding and keeping great talent
There are big companies, such as Google, Facebook, Amazon, unicorns or companies which generate a lot of hype such as Tesla, Revolut, Stripe. They make things hard when it comes to attracting and keeping talented people working for your startup, small or mid sized company.
Below are some tips on how to be competitive with them and get the best talent in the field. Both on attracting and keeping people.
Attracting talent
If you are a small company or a start-up, I would recommend working with contractors instead of employees. This is not a must, but the following perks would fit naturally.
Allow remote work
Most medium or big companies do not allow this, so it’s a good opportunity to have an advantage. You are also not limiting yourself to you local city, it could be the whole continent (or oven the world if you’re up to it). I would recommend ± 2 hours for the timezone difference though, but it depends on the individuals.
Remote work is known to have some issues, but if you are worried about them, I would recommend the following approach which works best in my opinion. Make teams of 2–6 people in similar geographical areas, where they can meet (frequency can be adjusted based on needs). The team is responsible for an independent part of the product. This would facilitate communication and raise morale and happiness.
Pay higher than market price
Most important is to have people motivated. I would rather have less people working on a project but more motivated, than a lot of people who are not. So instead of working with 6 software engineers, I would work with 4 but highly skilled and motived, with a rate above market.
Specify the salary/rate from the beginning
Companies tend not to disclose salaries until all interviews are passed and a position is offered. Or even worse, they ask the candidates expectation without offering any information in return. This will harm both the company and the candidates. Companies will lose staff time interviewing people which have much higher expectations than the allocated budget for that position. As a candidate I would like to see a rate/salary range directly in the introduction, otherwise I will have difficulties channeling my energy. Not having transparency later on will also harm relationships between colleagues.
Contractual flexibility
Big companies are rather rigid with the terms in the contract, so again, this is another opportunity. People would work better if they have the chance to choose between employee/contractor, 6hours/day, more/less holidays... As a company you have to keep track of how much you spend with an individual and leave cost fluctuations based on their decision.
Working hours
This depends on the project, but working 9–18 in a software company is a bit of a stretch. Working with other teams from different countries is common in many companies, so you don’t achieve full overlap anyways. Give the team ownership on how and when to meet and work. The formula that worked best for me was to meet 2–3 hours every day with the local team, 1 hour hangouts talk with the stakeholder and the rest of day work on my own. What helped a lot was all of us being available on slack all the time, within a short delay. Many interactions are just simple questions which may take less than 1 minute of someones time, but otherwise can block someone else completely.
Recruiting
Try avoiding using recruitment agencies or a HR person to be in the first line of interaction with potential candidates. A message from a CEO or CTO will definitely make your company stand out.
Talk to people as early on as possible. They don’t necessarily want to change their job, but when they will, you will be a first option. Take recommendations or interesting profiles and just discuss the business, technologies, what you are achieving and an approximate time on when you will need them. In this case when the position is available, it will be very easy to fill it up.
Change the technical review approach
The technical review is entirely up to the company to choose, but there are 2 things I want to outline here.
Speed matters the most, as people tend to accept an offer which they have instead of waiting for other potential ones which aren’t certain. A very interesting interview that I had was 1 hour technical talk with the CTO (from that branch) and receiving an offer another hour after that. So 2 hours total, no HR involved. I know what you’re thinking, but that company had 100 employees in that office and over 1000 total.
The other thing is to be open minded on the skills of developers. They have to know concepts, abstractions, specifications instead of implementations. Hiring a mobile developer to do Big Data task will not work. But a Ruby backend developer for a Node backend position should be something to consider. Of course, as long as they express interest in learning. I would define my position based on roles (mobile, full-stack, QA…) instead of platforms or technologies which are most common now (java developer, .net developer…).
Keeping people
Avoid a complex hierarchy
Postpone hierarchies as much as possible. If your company is not a multinational corporation, chances are it is not needed. Instead of a tree-typed hierarchy, use a graph-based ownership structure, where every component needs to work with each other and is governed by the owning team (which has a single owner).
Do not complicate things if not necessary
It takes a lot of patience not to have the urge to move fast and progress, but not keeping things simple will hurt the business. Introducing complexity too early can be demotivating for employees and it slows down the whole process. Do not add planning tools, concepts, complex analytics and automation unless they really provide value.
Basically, ask yourself, is my current process X a bottleneck or does it help my business if I upgrade it to the next level ? If not, leave it simple as it is.
Offer equity
Equity will keep people thinking of the future and the best of the company instead of short term benefit. Also that they are a part of something, instead of just getting a pay check for their services. Equity should be consistent and based on performance and time invested in the company. The “Zero to One” book explains more on this.
Give real ownership
Do not work with talented people in order to tell them exactly what to do. Micromanagement does not have long term benefits. Each component of the product should be owned by a handful of people and they need to be responsible for it and its interaction with external components. If the component is too big, split it up.
Companies know about this, but fail to put it into practice. The owner should be involved also in the business and architecture part of the component and should be accountable for it.
Removing people which don’t fit
This maybe hard for some companies to do, but having people onboard who are not motivated, don’t want to improve themselves and lower morale in general can put the whole company in danger.
Depending on the country, the law protects employees so it’s sometimes hard to end a contract. This a big plus for contractors over employees, as it’s much easier to achieve this. Contractors are also more dynamic compared to an employee which may be acquainted to work 10 years in a company.
If you are ending a contract with an old contractor/employee, set up milestone which they need to achieve in order to keep the job, over a couple of months. This way either they become productive or they have a long period to find a new job/client. Just dropping the bomb with 0–30 day notice is not the best thing to do.
When you hire someone, make expectations clear. If possible, try to work for a few hours a week before a commitment so both parties can see if it’s a good fit.
Conclusion
These are some pointers which any startup can follow, but if you need more guidance or a tailored solution then just say hi on AngelList, LinkedIn or mail.