I'm looking for a developer who can develop for mobile, iOS, I found some on odesk that look impressive and I would like to hire them. Still, I'm not a developer and I'm trying to avoid dealing with someone who isn't as good. Is there a test/s that's recommended I can ask from a developer to see how good they are, or any questions that might help me know if they're good?
You've received good advice. I'd just add one thing. We recently interviewed dozens of developers. After narrowing it down to a handful of individuals that had personalities and resumes we liked, we paid a developer friend of ours a few hundred bucks to interview the developers and thoroughly vet them from a technical standpoint. It was well worth the money to have someone more technically skilled than us contribute to our due diligence on the candidates.
Obviously checking their example work is important, but in addition I like to ask them how they built the app they're showing as an example. If they can answer confidently and clearly then they probably did build it.
Great developers are concise and logical. Bad developers are disorganized and illogical.
You can't really tell a good developer from Kait talking to them though. I would recommend breaking the project down into 5-10 "sprints" where they have something to show you at each step. Ask them to set the time frame for each sprint and if they meet each sprint deadline on time and have the majority of the work to show at each milestone point then you're good to go.
Test whatever you can each step of the way so that you can get what you need functionally.
For me a good developer is someone that will deliver a mobile app that achieves your goals. That means :
- he can help you to define/refine your goals with mookups, iterative and agile developments, you should take a little time to understand what your role as "product owner" is (http://www.romanpichler.com/blog/one-page-product-owner/)
- he will deliver the mobile app on the app store : he has already done that, he is aware of what is possible or not according to Apple's rules, ask him to show you working examples of available apps, did he deploy on all iOS versions or on iOS7 only, which model of iPhone/iPad does he have for his tests ....
- he can give you some advices if you need to deliver your app on another mobile platform (Android at least, WindowsPhone) because Apple does not catch all the market, if you really need a native app or if you can deal with a web app.
You can also book a pair programmer to review his code during the iterations, check the QA (quality assurance) and test the app as a user, have a look at www.airpair.com.
Don't hesitate to have a call with an expert on Clarity if you need help.
While definitions of 'good developer' do vary, the ultimate proof is delivery of "good software" (possibly within time or budget constraints). Figuring that out without working with someone is hard. Most technology companies put a lot of work into that and still make mistakes from time to time, hiring someone who ends up not living up to their recruiting evaluation.
Even if you could accurately measure 'good developer', someone who meets that definition might not be available, and deciding if anyone who is available is 'good enough' can also be tricky.
That said, I think the foundations of the solution have already been posted here, so I'll summarize some of that and add to it:
- Accept that it's hard, and that you may make mistakes.
- Use any connections you have to get someone technical involved with the selection if you can.
- For this kind of work, also make sure they can explain software development and its challenges to you clearly -- you're going to need someone who can do that with you about your software.
- Choose an iterative process for software delivery so that you can see the progress as it happens and evaluate success.
- Make sure that if you're not happy, you can move on. Be prepared to do so.
To know if a developer is good keep the following in mind:
1: Master the Phrasebook
The hard truth is if you are hiring someone to code for you, you should learn at least a little bit of code. That takes time, and some effort, but it’s worth it for a couple of reasons. The first is that you need to know what you’re talking about, at least at the surface level, because that’s going to inspire confidence and trust in your developer that they’re working for someone who knows what they’re doing; that they’re working for someone who values their contribution.
2: Check The Portfolio
It’s not your job to know everything, however. The best lens into a developer’s skills and experience is through a portfolio of their work. Whether it is just screenshots or whether they are able to bring in an application they worked on, actually being able to see examples of their work can give you a sense of what they’re capable of. But you cannot just look at webpage. You need to be strategic in how you are asking a potential developer to describe their experience, and drill down on their portfolios. Find out what their personal contributions were.
3: Ask for Recommendations — From the Candidate
The other way to get a thorough, but thoroughly non-technical, sense of a good developer is to ask for recommendations. Before you make a call or shoot off an email, ask the candidate what they think their references are going to say. Before you call and contact the references, ask the candidate what they think their references will say. This will tell you a lot. Again, pay attention to the language they use — whether they are hesitant or dismissive or eager to talk about their old team. Do not worry about the imagined imposition of reaching out to someone who is worked with a candidate. It is not one. Talking to someone on that person’s team can give you a whole other window into not only what that person’s skills are, but how effective they are in accomplishing projects and collaborating. Whatever you need a developer for, you are going to need them to keep you in the loop. So, just keep the “no jerks” rule in mind. No jerks. Do not do it. You want someone on your team to be on your team. There are a few additional ways to judge a developer. A trial period or beginning a working relationship with someone on a project basis, is almost never a bad idea. It gives you a chance to test their ability to contribute effectively to your team — and see the progress they make with their code — without the full commitment of a salary and benefits.
Besides if you do have any questions give me a call: https://clarity.fm/joy-brotonath