July 7, 2014
Hiring Software Developers

You have your idea. You have your investors. You are ready to get started. The last step left is to hire people who will develop your product. As trivial as it might sound, it is probably one of the most important aspects of a successful product. And one of the hardest. You are in luck if you have technical background and have been around those “developer” people. However, in most cases, entrepreneurs are business oriented folks with little to no engineering background. If you fall in to this category, then read on and hopefully you will feel more comfortable navigating the rough waters of hiring software engineers.

As a senior software engineer myself, I have been on both sides of the hiring table. I understand what the most important characteristics of a good developer are, as well as the tricks one can use for getting hired as a developer. I will first explain how to read a software developer’s resume, and then lead you through a successful interview process. By the end of this blog, you should feel more confident interviewing and hiring a developer onto your core team.

Understanding the Software Developer’s Resume

There are as many different types of developers as there are fish in the sea. Although their skill-set might sound like what you’re looking for, it is important to know exactly who you are talking to – there’s a few ways we can therefor segment the developer

  1. Years of experience:
    a. 1-3 years of experience will give you someone who can follow directions and maybe lead a small scale project.
    b. 3-5 years of experience will give you a developer that can take on a medium size project and even manage a small team.
    c. 5+ years of experience will give you a developer that has been around for a , and has done a range of different projects. He or she will be able to offer you direction and lead a team of other developers of lesser experience.
  2. Programming languages:
    a. Java – a well-established technology with a great range of applications ranging from Web to Mobile (Android only). It is not as fast to develop in, and is not really meant for the web world. Java is great for desktop applications and Android apps.
    b. PhP – a well-known language that is very popular in the web developer community. Web applications only.
    c. Ruby (Ruby on rails) – Recent addition to the list of web technologies that allows rapid prototyping. Web applications only. RoR is often over-hyped and fewer developers around the world know this language – therefore if you develop in Ruby you could be inadvertently limiting your ability to find future developers to continue the development.
    d. Objective C – an iOS development language used for iPhone/iPad apps.
    e. .NET – a language from Microsoft used for desktop applications as well as Windows mobile apps. It is one of the most widely known programming languages, so is often easy to hire in to (especially overseas – but note, be careful here, as we’ll explain in a future blog).
  3. Databases (Any of the programming languages above will work with most databases):
    - MySQL, MSSQL, PostgreSQL and several others are all relational databases that are good for most applications. They are very popular and most developers know at least one of them.
    - MongoDB is non-relational database that is great for simple applications oriented around content rather than complex object interactions.

Interviewing Software Developers

OK, so you have a bunch of resumes and have picked out a few candidates that seem to match your criteria. Now, you just need to talk to them and pick one, right?.Yes, but it is not as simple. There are clues you can uncover that will help you select a good developer and skip a bad one.

  1. Technical skills:
    a. If you don’t have sufficient technical background for asking programming questions, then you will need to find someone that does so that they can ask those questions. It is such an important part of the interview process that if you skip it you risk  hiring a “know-it-all-can’t-do-much” who will cost you money, and most importantly time. If you don’t know anyone who can help you with technical interview process then shoot us an email. At Baked & Branded we offer consulting services on this matter and will help you find your developers (not to mention manage the project for you, and bring our entrepreneurial know-how to the table to ensure your project’s success).
    b. If you are programmer yourself, then you probably know what to look for and what to ask. That doesn’t mean you shouldn’t prepare a well thought out plan in advance that you can use throughout the interviews.
  2. Communication skills:
    a. Tell your developer what you are trying to build and ask him or her to explain back what you’re trying to achieve. Pay attention to the response and make sure your developer is thinking about the details and doesn’t just parrot back what you told him/her. A business savvy developer is much more valuable than one who just follows your orders. You will weed out 80% of your candidates through this method alone.
    b. Check for the ability to explain technical details in layman’s terms. For example, ask to explain how a database works and see if you understand the response. If you don’t, then you know communication will probably be a problem in the future. Pass.
    c. If you are hiring offshore developers the points above still apply – and then some. In fact, making sure you can perfectly understand each other is even more important. Cultural and language barriers makes this even more challenging.
  3. Punctuality:
    a. Someone who is late to an interview or call is more likely to be late on deadlines as well. It shows a lack of professionalism and seriousness.
    b. Ask the candidate to email you a list of projects he or she has worked on before so that you can review the work in short order. Make sure the candidate follows up. If the candidate doeesn’t and you need to send a reminder, then this is not good.
  4. References:
    a. This is probably the most overlooked source of confirmation of the quality of a developer. Ask for references and actually follow up with all of them over the phone or Skype. DO NOT just email them.

If you are able to meet the candidate in person, then do so –  otherwise use Skype or any other app for connecting with this person face to face. Remember, you are hiring someone who will be working with you for possibly several months, so make sure you like the person.

These are just some guidelines you can start with. You should tailor these to create your own process that works for you. Here at Baked & Branded, we work with only the most talented and reliable developers from around the world, and as such our hiring process has gone through many iterations to get to its current refined and effective state.  You will most certainly fail before you succeed – they key is to learn from your mistakes quickly so that you can most quickly get to success. We help you shortcut that process. 

Viktoras Truchanovicius is the CTO of Baked & Branded.  You can find this post, as well as additional content on their blog located here.  You can also follow Baked & Branded on Twitter by clicking here.