Monday, September 06, 2010
   
Text Size

Custom Software Development

I am fortunate to have been developing commercial software for over 20 years.  That's a time span that recalls a time before Windows and the Internet were household words. 

Programmers from that era dealt with resources that would be considered trivial these days.  Application development commonly required careful memory management and an understanding of exactly how the code executed on the processor.  Of course there have been some incredible developments in methodology and tools since that time; we now have container classes, object-oriented development, exception handling, threading - the list goes on and on, but I find that using these powerful tools effectively still requires that I think about what happens on the bare metal when the code I'm writing runs.  

Another benefit of that experience is that I've had the opportunity to produce products on a wide variety of platforms - from very small on up.  I've been working with today's major platforms since their inception; I've written applications for every version of Windows since 3.0, Java since 1.0, many flavors of Unix - including my introduction to Linux in 1992.  I've even coded for most of the major smartphone platforms.  I've seen just about every method of implementing a GUI.  Besides allowing me to work with these technologies as they matured, this breadth of experience has exposed me to so many ways of getting things done means that I've seen most problems before.  I've encountered and worked through many of the problems that frequently challenge other programmers.

The pages contained here try to give a representative sample of the applications that I worked on.