Blog | iMocha

Mastering the Art of Hiring: How to Hire Great Developers

Written by Nikita, iMocha | 4/14/16 11:41 AM

Looking to hire an amazing developer for your organization or startup?

Everyone is looking to hire good developers.  Microsoft, Facebook, Google, and all the technology giants are looking for super-smart people.

The war for tech talent is hotter than ever. Whether you're redesigning the user experience, trying to build mobile apps, or keep business-critical applications on the cutting edge, everyone needs the code.

But how can you stand out when you're going against big giants like Google and Facebook of the world? It's not easy.

 

What is Great?

Now when we say great coder, great developers; what do we mean by GREAT.

Great has two things first, understanding of technology and understanding of business . When it comes to technology a great developer always keep on learning new languages and cares about their craft. A great developer will attend meetups and conferences (so you now know where to hunt for them).

Great developers also have very good understanding of automated testing to make sure they are delivering software that works and is easy to maintain. Also, automated built systems so that every time you have a new feature it works smoothly. They should also be thinking about the best practices and methods of programming.

The other thing is the understanding of your business and the kind of problem you are trying to solve. Because the tough part in software development is not taking the set of requirements and implementing them, that’s something most developers can do. But, a real sense of the product or the business. You can actually have debate and discussions on how you will be solving the problems rather than to just ask an engineer to code.

How to source great developers? 

One challenge in hiring a developer or coders is where to find one. Good and experienced programmers are not just going to fall into your lap. These developers are not usually on job boards because they are not actively looking for a job. Most great developers not just have a job but also are working on various projects with hot technologies and building frameworks or apps.

Here is a list of places to find a developer. There are job boards at portfolio sites, recruitment organizations, and publications where you can post your project requirements. Also, there are freelancer sites where you can hire freelance help and manage the project to completion.

 

Want to save 80% of your technical screening time? Try iMocha's technical interview tests and filter out irrelevant candidates.

 

 

1. Open source code contributors

Sites like GitHub offer an online repository for code where programmers can contribute to open source projects. You can look at samples of a candidate’s code before contacting them.

2. Hackathons

A hackathon is an event where computer programmers and software developers collaborate to create new software. Some hackathons are purely social or educational, but they still provide a great source of talented developers. Many hackathons are narrowed down by specific focus, and you should target those that are relevant to your product. Companies are increasingly using hackathons as a recruitment tool to evaluate coding skills in real time by giving developers "think on your feet" scenarios.

3. Technical blogs & Forums

Many programmers have their own personal blogs or might be mentioned on the blogs of other programmers. They also help people with their questions on Q/A forums. This can be a great source for potential candidates, and it allows you to learn about the candidate before even contacting him or her for a resume. You will be able to judge their technical skill, problem-solving ability, and writing/communication skills all in one place.

4. Hired

Employers get access to a hand-picked pool of candidates who are interested in new roles, as well as unmatched transparency into competing offers so they can recruit and hire with insight. The end result is an efficient, effective and enjoyable experience that’s far faster than traditional methods.

5. Whitetruffle

Employers are able to go beyond their network and save 30-40% of their time to source talent, and meet candidates with the right skills who are interested in the opportunity.

How to assess & hire good web developers?  

The next step is to assess the coders. Ideally, it should be reasonably challenging, less time consuming and be completed using the language skills you need.

1. Coding Competitions

Most of the top technology companies run some type of programming competition to attract talented people. Facebook, Google, and Microsoft run various competitions and these guys have huge resources to attracted talented people to their coding competitions. Coding challenges are rewriting the rules of technical recruitment, replacing career fairs and reducing dependence by making the entire process robust and transparent.

For startup its bit difficult or impossible to get great people attracted to your competition. And for startups money is also a big concern. There other ways for small startups that can get access to talented people from programming competitions.

There are a few websites that run their own programming competitions with a regular community of coders on the site:

 

Looking to assess developer skills through live coding and programming assessments? Try iMocha!

 

 

HackerRank 

They have regular coding competitions and companies sponsor competitions and use this as a way to gain access to highly talented people. Some pretty big companies such as Facebook and Quora also use HackerRank to look for talent.

CodeChef

Codechef is a non-profit site that holds regular coding competitions.

For startups, there is an option to run something of a “competition” without needing a huge budget. This is by using a real-life coding exam and giving it to your job applicants. You draw in talent from a variety of sources then you can give each applicant a coding test. It’s not really a programming competition, but it is replicating some of the benefits that you get from running a coding competition.

Designing an appropriate test is difficult. You can take help pre-employment skill testing software and iMocha is here to create relevant tests for you.

2. Pre-Employment Skill Testing

Pre-employment assessments tests help companies by identifying the candidates most likely to perform well on the job. Pre-employment skill testing can lead to additional benefits, such as saving time and cost in the selection process, cutting off the irrelevant candidates and even decreasing turnover.

iMocha efforts toward helping hiring managers to quickly conduct the pre-hire screening and assessment for developers. iMocha has ready to use latest technology tests so that you can easily and efficiently assess candidates on coding skills. You can also create custom tests as per your specific requirements.

When hiring technical people, it makes sense to market the technical challenges on offer at your company and emphasize the importance of keeping up-to-date with the constantly changing tech landscape. It’s worth identifying which specific languages you need and which technologies you use, especially if they are rare or unusual.

So in a race to stay up-to-date on the latest technology trends for engaging developers, iMocha consistently tries to provide you with the relevant assessments of latest technologies. Below are the five programming language developers want to use for web development. iMocha has recently launched the assessments for all five technologies, now easily hire developers who are capable with your current technology stack.

 

Looking for an effective campus hiring solution? Learn how Capgemini leveraged iMocha and successfully hired 800 freshers with the right technical and functional skills

 

 

1. Scala - Nowadays, Scala is most widely used building web-applications/web-services and big-data analysis.  Scala is the preferred workhorse language for many mission critical server systems. However, there are several other use-cases and the most common ones are DSLs, scripting, build and automation, Android.

Skills to look for Scala Developer –

Junior Level

  • Java-like statements and expressions: standard operators, method calls, conditionals, loops, try/catch class, object, def, val, var, import, package
  • Infix notation for method calls
  • Simple closures
  • Collections with map, filter, etc
  • for-expressions

Intermediate Level

  • Folds, i.e. methods such as foldLeft, foldRight
  • Streams and other lazy data structures
  • Actors
  • Combinator parsers

Senior Level

  • Type parameters
  • Traits
  • Lazy Vals
  • Control abstraction, currying
  • By-name parameters

And if you want to assess a Scala Developer for his skills, try Scala online Test specifically designed to assess developer with 0-3 years of experience.

2. IOS Swift - Swift is a powerful language for iOS, OS X, and watchOS which gives you interactive codes. Swift generates faster codes across the boards when released and debugged. It has support for all Apple and Linux platforms which makes the software safer and faster.

Skills to look for in Swift Developer –

  • Basic syntax
  • Optionals
  • Control Flow (If and Switch Statements)
  • Classes, inheritance & initialization
  • Error handling
  • Objective-C
  • Enumerations
  • Structures
  • Parameters
  • Swift Classes and Objects

Assess Swift developer with iOS Swift test created and validated by Subject Matter Experts (SMEs) for developers with 0-3 years of experience.

3. XAML - XAML (Extensible Application Markup Language) is an XML-based markup language developed by Microsoft. XAML is mostly used for initializing structured values and objects.

Skills to look for XAML Developer –

  • Understanding of .Net Framework Technologies
  • Windows Presentation Foundation (WPF),
  • Validations
  • Styles
  • Form Sections
  • Panels

Assess XAML developer with XAML Test designed to check application, practical skills of an XAML developer.

4. AWS - Amazon Web Services (AWS) is a collection of cloud computing that makes up the on-demand computing platform offered by Amazon.com. Amazon services operate from 12 geographical regions across the world. It offers reliable, scalable and expensive services.

Skills to look for AWS Developer –

  • Directory Manipulation
  • Requests, Objects, Unit Tests
  • Authentication
  • Encryption
  • Backup Files
  • Data Sets, Events
  • Amazon Aurora
  • Debit Memo Reversals
  • Amazon Route S3

After you have found AWS developer you can evaluate his skills by using AWS assessment that offers you a proper balance of application and theory questions.

5. Groovy - Groovy is an object-oriented programming language for the Java platform. It is a dynamic language with features similar to those of Python, Ruby, Perl, and Smalltalk.

Skills to look for Groovy Developer –

  • Variables
  • Control Structures
  • Classes, methods & objects
  • OOPs
  • Groovy Meta - Programming
  • Groovy Unit Tests
  • Groovlets

You can evaluate Groovy developer with online Groovy test specifically designed to assess the application and practical skills of candidates.

For recruiter and hiring managers, staying up-to-date on the latest technology trends for engaging developers during the interview process is crucial. But, this knowledge should also impact how you evaluate candidates before advancing them to the initial interview stage.

3.Changing the Interview Process

The traditional hiring process consists of a) reading a resume, b) asking some hard questions on the phone, and c) giving candidates a programming problem in person. I think this is a terrible system for hiring people. You learn very little from a resume and people get real nervous when you ask them tough questions in an interview.

4.Find out if the candidate can do the stuff

So when you hire people to find out if they can get stuff done, just ask what they’ve done. It’s hard to be a good programmer without some previous experience and these days anyone can get some experience by starting or contributing to a free software project. Request a code sample and a demo and see whether it looks good. You quickly learn about the candidate, because you are not watching them answer an interview question, you’re actually watching their code production. Is it concise, clear and usable?

5.Find out whether the candidate is Smart

To find out whether someone’s smart, try to have a casual conversation with them. Meet at a cafe, make it clear it’s not an interview, do your best to be casual and friendly. Under any circumstances don’t ask them any standard interview questions, chat with them like you would with someone you met at a party. During a casual conservation emphasize on three things, just to make sure the candidate is really a smart one and just not seems to be one.

First, do they know stuff? Ask them what they’ve been doing and probe them about it. Do they seem to understand it in detail? Can they explain it clearly? (Clear explanations are a sign of genuine understanding.)

Second, are they curious? Are they genuinely interested or just pretending? Do they ask follow-up questions about what you’re saying?

Third, do they learn? Do they actually understand it or do they just nod and smile? There are people who know stuff about some small area but aren’t curious about others. And there are people who are curious but don’t learn, they ask lots of questions but don’t really listen. You want someone who does all three.

Final Thoughts

Tech hiring has not got any easier now a days. The majority of candidates you’ll reach out to won’t be actively searching for a new job, but there are some best practices and strategies for recruiting and hiring tech candidates that aren’t always as obvious.

With competition getting for tech talent as aggressive as ever, which of the best practices or strategies do you think are the most effective to hire great developers? Share it in the comments below.

 

Want to know how Fujitsu reduces their time-to-hire by 50% using the iMocha platform?