Custom Software

Not every use or application of a computer is a web site or a database program. Certainly, web sites and database applications comprise the large majority of applications that a typical business might need, but there are still many other procedures and processes that may be automated. In fact, almost any business process or procedure can be automated. The breadth of my experience allows me to create these kinds of programs that may be useful to your business.

However, just because almost anything can be automated, it is not true that everything should be automated. One of the important criteria that I use to determine if a process or procedure should be automated is cost; an automated procedure may be more costly, initially and over time, than retaining a manual procedure. Also, it may make economic sense to automate only a part of a procedure. Only you can really decide if the cost of automating a procedure is worth the price but I will provide you with the unbiased information you need to help you make that decision.

My Custom Software Experience

I have been writing MS Access applications for about 14 years. The rest of my 35 years as a programmer were spent writing a variety of applications, in many different languages. Most of these earlier applications were scientific, real-time, and process control applications. These applications had to be as small as possible, and as fast as possible, which are often conflicting goals. This experience has proven quite valuable throughout my career because I have learned how to optimize these two goals and I apply this hard-won knowledge to all programs I write, be they MS Access applications, web sites, or any other program I write. I have also had to learn how to create novel, new procedures and algorithms to solve unique problems, and how best to implement those algorithms. This requires a good measure of creativity combined with a knowledge of how to engineer an computer program.

I have also done quite a bit of maintenance and enhancements to programs written by other people. This experience has taught me how to write a program so that it can be most easily, and for the least cost, be maintained by another programmer. This is important because, over time, requirements change and the program must be updated to reflect those changes. Maintenance and upgrade costs often exceed the cost to initially create the program and so anything that can be done to reduce maintenance costs is important.

The knowledge and skills that I have acquired writing this vast number of programs, in some difficult situations, is what I can offer you as a programmer, either for your MS Access application, web site, or custom application. The depth and breadth of my experience is rare.

My Computer Language Skills

MS Access or a data-management web site may not be the platforms to use for your particular situation. In general, if the central function of your application is to manage data or information about your organization, customers, employees, inventory, etc., then MS Access or a data-management web site are probably a good platforms for your application. However, if what you need is not primarily to manage data or information, then another language may be a better choice for your application. I am not blindly committed to any particular language; I choose the language that best fits the application.

Throughout my career, I have had to learn quite a few languages. While I do have my favorite languages, I am not mindlessly committed to any of them. I am well-aware of the strengths and weaknesses of each language that I know and I will use the language that best solves the problem at hand, whether that language is one of my personal favorites or not. Furthermore, if a language that I currently do not know would be the best for your application, I have no reluctance to learn that language in order to provide you with the best possible solution.

It has not usually been all that difficult of a task for me to learn a new language because most languages have a lot in common with each other. The differences are mostly at the "edges", that is, those special language constructs and features that make it easier to write a program to solve a certain type of problem. For example, MS Access has a lot of language features that make it easier to store and retrieve data. However, if what you need to do is not heavily data-oriented, but rather to perform some calculations on a rather small amount of data and to display the result, then another language might be a better choice for this program.

There is no formula that can be applied to your requirements to determine the best language. Sometimes, there is an obvious choice, or a there may be a choice among two or three very similar languages. Many languages are designed to support a particular type of application. For example, PHP was designed specifically for writing web sites and so it has many features that make it easy and efficient to the kinds of things that are often required by web sites. That is why you will find that many web sites use PHP. However, there are other languages with similar purposes and features that can also be used to write web sites. Deciding between two or more good choices often comes down to a judgment call, especially when one language is not clearly better than the other, which is often the case. Choosing the language is not usually a mechanical decision. To make the proper choice requires a good knowledge of the characteristics of several languages and a good bit of general programming experience. As your can read in the  About Me  page, I have about 35 years of experience as a programmer and I have used quite a few languages, so you can be confident that I will make a wise and unbiased determination of the best language to use for your application. When we discuss your requirements, I will discuss with you my reasons for my language recommendation.

When you retain me to create or enhance your program or web site, you can be confident that you are retaining an expert software craftsman whose goal is your satisfaction attained by professional quality workmanship.