When you're ready to scope out a custom application for your small business to improve business processes, interactions with customers, or some other purpose, it may be hard to find a qualified developer who you like and has a reasonable price. Eventually, you'll find one, agree on a price, and they'll start building the app. But if you haven't researched the platform they use, you could be stuck with them for a very long time, increase your long term costs, and pigeon hole your vision.
Years ago, I worked with a customer who provided credit card debt reduction services. We built a custom web app that handled the prospect application process. It was a pretty sweet application over 10 years ago that had real-time interaction between the prospect and an advisor. But this story isn't about the app we built. It's about the internal app that was built to handle customer accounts, billing, and all the other intracacies of the customers' debt reduction journey.
That internal desktop app was built using the Alpha platform. Alpha is a programming language that I had never heard of until that time. There was only one developer in the entire metro Indy area that was proficient with it - the guy who built their app.
I don't know much about Alpha and I'm not going to comment on its capabilities. What I do know is once they paid this guy for the initial version of the application they were stuck with him. Nobody else around knew the platform. What do they do if the work quality goes down? What do they do if the guy gets hit by a bus? What choice do they have he raises his rates? What if Alpha stops providing updates for new operating systems? So many questions and so few answers. They were stuck.
In another story, a client had a mobile app built using a development only code-base. That is, the core development system was not a release or production-ready version. Unfortunately, after we inherited the project, we had to rewrite a great deal of the app because some of the main features in the development environment were excluded or updated in the full release version.
If they tell you Alpha, then say goodbye. Acceptable languages are Javascript, C# & VB.Net, Java, PHP, and Python. Languages to avoid are Perl, Cold Fusion, Visual Basic, ASP (classic), Alpha, Objective-C, and Ruby. Some of these may still be highly capable, but I'm listing them because of the age and current usage patterns. If there is less active development with these languages, then there are fewer developers using them which can easily correlate to higher costs and longer wait times.
This is a legitimate question. Don't be afraid to ask it because if the developer actually gets hit by a bus or suffers some other tragic demise, who will help you? If they can't answer with confidence that they're using a popular platform and there are many other developers who can help, then you should part ways. Otherwise, you could be stuck with them for a long time and tethered to their price increases.
This is a very important question and is obviously dependent on scope. Unless your developer is in-house (which small companies probably shouldn't do anyway), they will have other clients and need to be able to say with some degree of certainty that within a short period of time they can resolve major issues.
Don't skip this. When you get references, make sure you ask the them the following questions:
For some of these languages, like Javascript, there are also many frameworks that are often used. These frameworks, like Angular, Vue, Ember, and Backbone, are built using Javascript but have a ton of additional features and benefits beyond the core language.
I recommend asking a friend or acquaintence for their thoughts. At this point, we all know a developer or two. You may not understand the implications of one framework or another in terms of their feature advantages and disadvantages. But from an overall cost standpoint, the language and platform used by a developer can significantly impact initial and long term costs.