Software, your way.
burger menu icon
WillMaster

WillMasterBlog > Development

FREE! Coding tips, tricks, and treasures.

Possibilities weekly ezine

Get the weekly email website developers read:

 

Your email address

name@example.com
YES! Send Possibilities every week!

What To Look For When Seeking Custom Programming

Custom programming gets you exactly what you want, provided:

  1. The specifications reflect exactly what you want.

  2. 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: Security, Support, and Skill.

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:

  1. Projects that require research before determining the final specifications.

  2. 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.

  3. 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

Was this blog post helpful to you?
(anonymous form)

Support This Website

Some of our support is from people like you who see the value of all that's offered for FREE at this website.

"Yes, let me contribute."

Amount (USD):

Tap to Choose
Contribution
Method


All information in WillMaster Blog articles is presented AS-IS.

We only suggest and recommend what we believe is of value. As remuneration for the time and research involved to provide quality links, we generally use affiliate links when we can. Whenever we link to something not our own, you should assume they are affiliate links or that we benefit in some way.

Recent Articles in the Library

Extracting Dates From the Unix Timestamp

The UNIX timestamp can be used to determine the represented time for any time zone on Earth.

Submit Form Data Without Bothering User

To silently and effectively submit a form on a web page, Ajax with FormData() can be used.

CSS Dots

CSS dots can be used for interactions between web page and website user.

Email Testing

One thing to test when email doesn't get sent or doesn't arrive is whether the server actuall sends email.

Tap to Select

Find out how to make a link or button to select the content in a div or other HTML element.

Capitalizing the First Letter of Words

Here, find both PHP code and JavaScript code to capitalize the first letter of a word.

Fixed-position Table Header

During a vertical scroll, the table header scrolls out of view -- unless the header is fixed in position.

How Can We Help You? balloons
How Can We Help You?
bullet Custom Programming
bullet Ready-Made Software
bullet Technical Support
bullet Possibilities Newsletter
bullet Website "How-To" Info
bullet Useful Information List

© 1998-2001 William and Mari Bontrager
© 2001-2011 Bontrager Connection, LLC
© 2011-2024 Will Bontrager Software LLC