Finding the right software developer can be hard. There are a few options out there to consider:
Each of these has pros and cons. In this article, we’ll explore each and how to avoid common software development problems that all can experience.
You will have likely experienced or heard them before. There are plenty of horror stories of software projects going over budget and over time. But why do they run over? Usually, developers are held responsible for this, but they’re not the only factor. Many small components need to come together for a project to be successful. The definition of a project needs to be along the lines of “something that hasn’t been done exactly this way before”, because, if it had, then it would just be a job or product that is off-the-shelf. This gives some clue to the kinds of problems you could experience.
Clear requirements are an excellent reason software projects are delayed or run over budget. It may seem that a requirement is clear, but often details in software projects are not even considered until closer to the time. If you think of building a house, you may be clear upfront that you’d like a three-bedroom house, but exactly which floor coverings you might want in the bathrooms may not be decided until the last minute, and that decision can affect the cost, considerably. Software projects can be the same. Decisions made later (because they cannot be made sooner), will affect the timeline and cost even if the overall objective of the projects crystal-clear.
Is the requirement out-of-the-box or experimental? Knowing if you’ll be happy with the standard options or if you have a particular idea in mind, affects the budget and timeline for a project. It’s important to know that the developer you’re working with is generally quite skilled, but they’re not mind-readers. They’ll work with you to get exactly what you want, but sometimes as the expensive of the budget, both time and money. Sometimes, the standard option is the best, but sometimes a developer will need to experiment to get something just-right and that will cost you more.
Could you do it faster? Sometimes, a job can be quicker if you set the time aside to do it. If you need to explain how to do something entirely and it’s a one-off job, you should probably do it yourself; it will always be cheaper. If it’s bulk data tidying, it may seem more economical to do it yourself, but often it’s faster to have an expert do it. Consider both options when these needs come up as you could save yourself both time and money.
Let’s get into each type of developer and their pros and cons.
Usually, the allure here is that a new grad will be cheaper, and on-paper, they will be. In reality, unless you strike gold (scarce), you’ll end up spending more time managing the project, and it will cost you in other lost opportunities. If they’re gold, which can happen. They will be awesome, and you may end up working with them for a long time. Just remember, at some point, they will move on, and this may be a risk to you, including making it difficult to move to another developer. They will also have much less experience so will make mistakes that will need re-working later, something that you’ll ultimately pay for. Just be prepared, and if you’re able or willing to take the risk, the reward can be pretty good.
An experienced developer will get you there faster, and usually, quite cost-effectively. If they work by themselves, there are a few risks to watch out for. A sole developer may not work with any other developers, and that means no one else is checking their thinking. Working alone means you have to make some complex decisions in isolation. Our experience tells us developers work better on complex jobs in teams. If a job is simple, they can usually work by themselves. The other risk is the developer going AWOL. AWOL developers happen more than companies would like to admit, and it’s embarrassing a lot of the time. If your developer is AWOL, it could be that they’ve taken on too much work, or gone on holiday, or altogether left! We have seen all of these, and the clean-up job is usually painfully slow.
Benefits of a sole developer are often speed and responsiveness. If they’re good, they’ll propel your ideas into reality, and you’ll get a great solution. Nearly all companies started here as sole developers with an entrepreneurial streak. It’s that streak which may find you left high-and-dry, so be sure you’re getting the right person.
A group of developers if by far your best bet. Sure, you might think we’re biased, but I’ll share why we believe this. Firstly, the sum of the team is greater than one individual. Having the right team matters, but being stuck with one person who doesn’t understand your project can be painful. The team works together on your project and if someone leaves or is sick means you can keep moving, even if it’s a little slower, rather than just stopping.
There can be cost savings with a team. Yes, you read that correctly. When working in a team, the long jobs get delegated to the lowest-cost person in the group, which can save you money. You only want the experts working on the hard stuff, for an as shorter time as possible. A team lead or project manager manages the time you don’t have. This person is your advocate for making the right decisions. They’re experts that know how software development works and also work closely with you to ensure your vision is brought to life. Having a project manager will save you time.
You have two options with offshore developers. You can hire a sole developer or a company. These are similar to the above options locally, except the chances are you’ll end up working all day and night. Having a sole offshore developer means you’ll need to manage them well, and if you’re not a software developer yourself, this will be a nightmare. You may get someone that is fantastic, but more often than not, you won’t. If you hire a company, you may be better off, there are still some excellent cost savings, but the other pitfalls of software development apply. You will still need to meet up with your team or project manager regularly, often within their timezone, which means you’ll find yourself working long days, and after a while that will wear thin. All the problems with developers will be amplified with an offshore developer. Any savings you expect to get will be spent elsewhere - how do we know? We have worked with offshore developers for 10+ years, we’ve put systems in place to ensure the work is smooth and the results are of our standards. We invest in training and developing our people. All of these things cost more than just a basic salary or hourly rate. We spend just as much in our teams overseas as we do with those locally.
If you’d like to see if a software project is the right solution to your problem, give us a call. Our approach is to recommend something off-the-shelf first, and then if that will not meet most of your needs, you could then explore a custom solution. Having custom software developed should be your last option, not your first.