What To Look For When Seeking Custom Programming
Custom programming gets you exactly what you want, provided:
-
The specifications reflect exactly what you want.
-
The programmer is skilled and reliable enough to deliver the project per specifications.
Money may be the variable most focused on when seeking custom programming. However, it is prudent to also consider the 3 S's:
If the custom programming budget has limited funds, then of course the project must fall within the available amount. Or not be produced at all.
If produced with limited funds, one or more of the 3 S's may need compromise. Which are compromised depend on the project, the programmer, and your personal sense of which are most important.
Let's first talk about money. Then each of the 3 S's.
Money
Generally, it is best to get a bid for the project instead of paying an hourly rate. Two reasons: You know what your cost will be. The programmer knows how much time to budget.
For your information, our minimum is $87.50 USD and we accept no custom programming jobs over $10,000 USD. (Over that amount is generally best for a team of programmers. I am a solo programmer.)
The price of some projects can't be estimated ahead of time. Examples of such projects are:
-
Projects that require research before determining the final specifications.
-
Projects requiring incremental steps, which may be for
- proofs of concept,
- user feedback, or
- development of supporting technology
so specifications for the next step can be written.
-
Ongoing projects requiring tweaks or upgrades depending on the actions of competitors.
Before agreeing to an hourly rate, find out how the time is measured.
Some programmers (myself included) measure only actual time on keyboard creating the project. Some may measure all project-related tasks, such as studying the specifications or responding to email related to the project. Others may measure from the time the computer is turned on until it is ready to be turned off.
Consider also that some programmers can do more solid programming in an hour than others can in a full day. This relates to skill, addressed further below.
Rights.
Price for a custom programming project can vary depending on what rights you are looking for.
The right to use it on any domain you own may be sufficient. Some people also want resale rights, which is likely to raise the price and perhaps also require royalty payments.
Expect the programmer to retain copyrights, including rights to re-use the code in other projects. Otherwise, the cost of the project can skyrocket, as new code needs to be developed for everything. Nothing previously developed and used in other copyrighted code may be used in your project in that case.
Payments.
If you don't know the programmer, it may be prudent to make an agreement to pay some up front and the balance after the project is delivered.
On the Internet, I see recommendations for buyers to withhold payment until the project is delivered. And I see recommendations for developers to obtain payment before delivering the project. Both camps have been burned with shoddy workmanship or broken promises of payment.
For us, small projects are paid in advance at the time the specifications are approved. The amounts for small projects are not sufficient to warrant extra time spent on collections. Exceptions are regular custom programming clients who pay our billings immediately.
For other projects, over $1000 USD, we are willing to negotiate payments tied to completion of certain features or percentages of the project.
The time to deliver a project depends on the project and on my workload at the time the project is accepted.
Security
This can be a huge consideration. Especially so if the software processes form information, accesses MySQL or other SQL databases, or sends email.
Verify the programmer of your project stays current with best security practices.
One way to get an answer is to ask.
Another is to see whether or not the programmer is updating previously written software. Almost all software needs updating sooner or later. Lack of updates might mean the programmer is less than vigilant regarding security.
A third way is to search the Internet for the programmer's name with "+security" appended. All pages in the search results may be positive. If so, good.
Support
It is good to have an agreement for a period of support from the programmer following delivery of the project. Also an indication of how the support will be provided - email, personal telephone call, forum, or some other way.
Quality of support is a consideration. Support needs to be delivered at your skill level and experience. Delivered too high, and you won't know what the programmer is talking about. Delivered too low, and it can feel condescending.
If the custom software is complex, it may be prudent to do a search for the programmers name with "+support" appended to see what the programmer's support reputation is - before finalizing or accepting a custom programming agreement.
If the programmer maintains a support forum for other software, visit the forum to see the quality of the support.
An internet search may provide an indication of whether or not the programmer's support has a good reputation.
Skill
The programmer must have sufficient skill to create and deliver the project per specifications.
Different programmers have different skills. Some of us are more comfortable and experienced with certain programming languages and less so with others. Similar considerations for types of software and operating system platforms.
I specialize writing software with programming languages PHP (and MySQL), Perl, and JavaScript. Website software is my specialty. I program for websites hosted on Unix or Linux servers.
When visiting a programmer's website, the software sold and given away show the types of programs the programmer can write and deliver. They might or might not represent the programmer's best skills, but do show what the programmer can do.
Custom Programming
If you have a custom project in mind, even if the idea or vision isn't yet fully formed, go to our Custom Programming page.
The page has pertinent information.
Be sure to click the "Click to tell us about your project" box on the left side of the page and let us know what you have in mind.
We'll work with you. Help you develop your vision with professional opinions about whether or not something is feasible or with suggestions that may be exactly what you were looking for.
Will Bontrager