Finding a Good Developer

Finding a Good Developer

With increasing frequency Enabled is being asked to rescue failed app or web development projects.

I know technology projects have always had reputation for growing larger than budgets allow but I am talking about projects that have been started with a developer who did not have the required skill to see the project through.

Particularly upsetting are a few recent examples of new tech-startups who have joined forces with extremely enthusiastic but overconfident programmers who have consumed budgets and wasted critical time.

I have no delusion that hiring a service provider in the digital space would be a daunting task for our clients. It is also a task I have great difficulty in assisting them with. Although I truly believe that Enabled has a brilliant multi disciplined team, I have to admit that there is a bias and when it comes to making a sale there is definitely an ulterior motive in saying so.

The speed and nature of the industry also means that any sort of professional standards do not stick very well. Time in the industry is also not an indication of quality as an experienced person can become obsolete faster than a new player can become mature.

To try and overcome this I thought I would share a popular list of questions and pointers that I have created for students of innovation workshops I teach. I hope that armed with these, people can avoid the bad and help capable developers to win the jobs they deserve.

For those who have experience in this area, good or bad, let me know if you spot anything missing from my lists.

Questions to consider when choosing a Developer:

Do they have an attractive and functional portfolio?
Even if the developer has not designed a scrap of the graphical interface themself, do their app or web projects feel like the favorite ones that you use? Are they smooth or jittery, tight or clumsy? Does anything look out of place?

Do they offer client testimonials?
If they do great, but go a step further and ask for contact details of the clients from their portfolio. A developer who offers this information willingly shows they have nothing to hide and you stand a good chance of receiving a similar result compared to their portfolio.

Do they have the capacity to take an interest in your business?
A developer who is generally interested in you and your business will add value to your ideas with relevant suggestions. This is especially true with those who have many years experience in business themselves or have studied more broadly than the core technology they use.

Do you feel you can establish a long-term relationship with this developer?
Most successful software needs to be honed to become optimally functional and should evolve to stay relevant.  Both of these activities take time. Breaking up with your developer could mean restarting from scratch causing your timeline to be reset. Choose carefully to begin with or date them (figuratively) if you can. Give them small challenges to begin with, for instance ask them to write a specification for the project. One you can understand.

Don’t shop by price alone
Lowest cost option can be more expensive in the long run.  The biggest reason for a failed development is because the developer completely underestimated the scope of work, sometime to the point of not having the required skills to able to finish the job. This leaves you with an exhausted budget and no app to deploy. Also go back and re-read the first point to make sure lower costs is not going to result in crappy.

Do they think of the whole package, not just the coding?
If you are extremely successful in finding a good developer you will notice they are obsessed with more than just the code. They will be obsessed with topics like User Experience and they will bombard you with questions to understand how the app will be used and what conditions it will be used under.

Questions to ask the candidate developer:

What development methodology do you like?
You should expect a mention of either Waterfall / Agile or a hybrid of these. Take the time to read up on these if you can but a complete understanding is not necessary to evaluate a developer. In practice both have their pros and cons and certain projects suit one more than the other. What you should hope is that your developer knows something about both and can present a case for which one suits your project most.  

What is your QA process?
What methods does the developer use to test robustness and security of your application. If their answer includes the use of Unit Tests to ensure that each build they create will go through a series of automated tests to make sure they didn’t leave any loose ends untied, this is a good start. At the very sophisticated end they may even mention some ISO/IEC standards. Be sure to ask them how they conduct usability and interface testing too.

Do you use version control?
An individual developer may feel they have less need for using version control but it is best practice to do so. Ask them which version control system they use, common ones include: CVS, Subversion (SVN) and Git. While you are at it setup an account with a source code repository like GitHub or Bitbucket and ask for access to the code. With this you can also see how often they are working on your project.

Do you have a development agreement?
All experienced developers will have one of their own, if they do not have one this will likely indicate their level of newness to the game. It is within these documents that the ownership of the Intellectual Property (IP) created during the project is defined. Note in Australia the default legal position is a contractor owns the IP. So if you want to be able to own your future make sure you consider these clauses carefully. The warranty they offer will also be an important indication of how the developer values their own quality.

Have you worked with designers before?
This question will determine if they are effective at working with other people. These designers could be a good referee of what it is like to work with the developer. It will also indicate how much importance they place on how an app looks and feels. As a bonus these designers may also be a good asset to your app team.

Do you have a support agreement?
As mentioned above, software will always require additional attention after its initial release, it is important to know how the developer will assist you into the future and how they will respond and charge. This may be included with their development agreement, otherwise ask for it.

Warning signs that things are not well:

Be wary of an individual who says they can do it all
As development includes several activities such as User Experience, Graphic Design, Interface Design, Databases, Scalability and Server environments (Cloud included), finding a very versatile and talented person who can deal with each of these adequately is possible not very common.

They don’t provide a development schedule
If you have been provided a quotation this developer should also be able to provide you a schedule. After all how did they estimate the fees they need to charge? Commonly your own availability can have a significant effect on a project, thus this schedule should also consider the time it will take you to be able to play your part in the development.

Timelines are drawn out
It is not entirely unusual for a project to escape its planned schedule; you should actually expect this as a distinct possibility. However if when asking your developer for a progress update you continually receive “we are almost finished”, this is something to be concerned with. You should expect a revised delivery date to be offered and a demonstration of the progress that has actually been made.

Be concerned if they provide you a budget too quickly
Unless it is an extremely simple mobile app and if it is you should ask yourself if the idea has enough merit to pursue, a good developer will be very reluctant to pull a figure or time frame out of the air. This demonstrates that they understand that like the iceberg an analogy there is more complexity waiting under the surface of a simple app idea.

Requests significant amount of budget upfront
It is acceptable for a developer to ask for a deposit, this demonstrates your commitment and also helps them cover some of the time they have spent to properly consider your idea before commitment is offered. After the deposit, ensure that the rest of the budget is broken up into logical payments which can be attached to the delivery and demonstration of a functional area of the app.

It is hard to get a personal meeting or get them on the phone
No news is good news unless you are asking for news then the opposite is true. Not being able to get a voice call with your developer from time to time could certainly be a warning sign, even when working with developers in other geographical locations. But also be sensitive to your developer, give them room to operate. Too much communication can slow a development down.

Have heard of a number of projects that tried to cut cost and corners only to win up in disaster. Best to get an experienced professional with a great reputation.

Like
Reply

Nice job Grant... I'd ad that an experienced developer will proactively manage the client's expectations, before during and after the project to avoid the many and various opportunities for conflict to derail the relationship.

Like
Reply

Great article! from experience i've found a skills test, followed by a 'dh' test is mandatory :)

Like
Reply

To view or add a comment, sign in

More articles by Grant Hull

  • Hitting the target, the first time.

    Software can be transformative! It can also risky. To address this risk, agile processes for software design and…

  • The Innovation Trap (and Antidote) from Lean Startup

    Media today is awash with stories of successful companies who are unprepared to make necessary changes to their…

  • To learn, We started a Podcast.

    A common claim by most podcast hosts I listen to is that they learn so much from running their podcasts. Not only do…

  • Helping to reduce failure in Innovation

    Some resent press about Enabled. Since 2003 SA digital agency Enabled has been assisting companies develop new…

    2 Comments

Others also viewed

Explore content categories