10 Secrets to Hiring and Retaining Great Software Developers

May 22nd, 2015

MayTitle2Big

Hiring great talent is one of the hardest problems in business. It’s even harder to find technical talent given the limited pool of candidates and a high demand for them. As an entrepreneur, who is also a software developer, I understand and can relate to both sides of the spectrum. The time to fill for most technical positions can take months to fill and with every passing day, revenue is lost and teams are burdened with the extra workload. Although we can never eliminate the problem, there are steps we can take to ensure we hire the right people the first time. These are my personal top 10 secrets to hiring and retaining a great technical staff.

Attract top talent to your organization

#1 Identify your company’s core values and follow them – People want to work for companies with an identity. It is very important that leaders identify their company’s true core values and make sure everyone within the company follows them. When we interview a candidate or have them visit us, our core values are located on the wall and on the back of t-shirts our employees often wear. We also go over these values with potential candidates and make sure we fit their values. Value mismatch can lead to unhappy employees and a dysfunctional company. I have worked for companies that also define a set of core values that no one believes in and I believe this is worse than not defining core values as it creates an atmosphere of disillusionment.

#2 Make sure your employees know your elevator pitch to potential employees – Our employees came up with this elevator pitch: Great company to work for with current & diverse, technologies, flexibility, developer centric, fun, free snacks, awesome dress code, close knit team, low stress and low pressure and great office location in downtown Herndon, VA. Recruiting from your network is always the number one option for finding great people. The best way to leverage this is by getting all your employees to refer people they know to your company. Companies can motivate their employees by offering incentives through their Employee Referral Program. These incentives can include cash bonuses, trips or giveaways.

#3 Be a part of your technical community – Technical folks take notice of companies that are consistently represented in the tech community and if they are actively involved and/or sponsoring local user group meetings and conferences. When we started doing this, we noticed our brand recognition grew quickly and it helped candidates feel more comfortable with our company from the moment they received their first phone call from our recruiter.

Screen, interview and identify top technical staff

#4 Create an inclusive effective screening process – We have a 2 step screening process. For step one, our recruiter reviews resumes and calls possible fits. During these calls, she decides whether or not the candidate is a fit based on the individual’s interpersonal skills and overall work history. If the candidate passes this step, we do an online technical screen where a software developer along with the recruiter takes the candidate through a small set of technical questions. These questions are catered to the type of position, but usually this involves hands on problem solving. These questions filter out individuals who don’t have the skills for the position. We have fine tuned the screening process over the years and are always looking for ways to improve it. Some key items to remember when giving a technical interview are:

  • Don’t give a 100 question technical quiz. This will turn off senior developers that don’t want the hassle.
  • Don’t intimidate the candidate by asking really hard off topic questions.
  • Do screen shares or use a tool that allows you to see them type.
  • Make sure they are at a computer and not on the road or in an area with bad phone signal. It is okay to reschedule the interview.

#5 Create a thorough but fair interview process – Once a candidate is screened, we invite them to our office to meet and interview with the senior staff. These interviews are usually broken down into two 1 hour segments. The first hour is the formal interview and the second hour is dedicated to getting to know the candidate better and see if they fit our core values. Another member of the team will take him or her out for breakfast, lunch or coffee . In the formal interview, we ask at least one technical question (coding, test cases, user stories), so we can evaluate their problem solving skills and we also want to see how well they work under pressure. After the interview, we show them what it is like to work at Solution Street by letting them view our work space and introducing them to key people in our organization.

#6 Check References – A candidate can do great in an interview, but sometimes, you find out later on they have some real issues working on teams or even have problems working with customers. References are important to check and you can also tap into their network on LinkedIn to see if any of your friends or co workers have worked with the person in the past. Don’t just ask the same simple questions like “what are their key strengths” and “what are their weaknesses,” but get creative and dig deep. We ask questions like, “if you were starting a startup today, would this be the first person you would hire?” No one likes to give a bad reference, but if you really key questions, you can usually get a sense of how well this person has done in past jobs.

#7 Follow up on the offer – In the past, we’ve lost new hires before they even started. We received feedback from candidates and they said after we gave them an offer, we didn’t follow up and they were given offers from other companies. Those companies spent time with them; therefore, they related our being busy as a sign we were no longer interested in them. It’s imperative to show to candidates that you care about them. Since we have implemented this process, our drop off rate has dropped to almost none.

Retain and motivate technical staff once you have them

#8 Provide regular formal feedback and goal setting – When we first started Solution Street, we didn’t have a formal review process. Arthur and I had spent some time at big companies and really disliked the formal big paper review process, so we started with nothing formal. Over time we found our employees really wanted regular feedback. They also wanted the challenge of learning new things and getting better at the things they know. We created and fine tuned a simple 5 part review sheet and Arthur and I provide formal feedback. Two of the items on the review sheet are set by the employee and we encourage them to create 1 technical goal and one non-technical goal each year. Every quarter, we sit down and give feedback on their progress and make adjustments. They also have the opportunity to give feedback as well. By the end of the year, the goal is to have all employees know exactly how well they have done in a given year.

#9 Create a low pressure, low stress work environment – Unfortunately, in our field, we’ve noticed some companies look at technical work as if it were a sweatshop and try to get the technical staff to work as many hours as possible and accomplish as many tasks in a short amount of time. This is not an effective way to manage a team because they will quickly burn out,  become unhappy and in the end, less productive. It is more beneficial to create a quiet low stress environment where our employees set their own deadlines and achieve them. We ensure that our employees have the best possible equipment for their job. We also provide free snacks and drinks. Who doesn’t like snacks!

#10 Encourage and promote continuous learning – Technology employees enjoy learning, growing and keeping up with the latest technologies. We encourage a learning environment and share through regular in house technical presentations prepared by employees. These sessions are called tech topics and this allows the employees to prepare an interesting presentation and present it to their colleagues in an informal environment. Free online courses and ebooks encourage regular learning. We don’t usually send anyone away to long multi day conferences. We have found the employee does not get much out of these and there are other more cost effective options.

This is my top 10 list for building a great technical staff. What would you add to this list?