Function - What a program never does on the first run, seldom does on subsequent runs, and when it finally does, is a good indication that the program is obsolete.

Friday, February 17, 2006

My Alter Ego

Here is where my alter ego will have his memory dumps. I am a software developer working with education (during the day), and by night and weekends I do a lot of independent development for a variety of people all over the country, as time allows. Since I already have my education blog up and running here I figured I will start writing about my alter ego, the software developer/consultant in me.

It should come as no surprise to you the amount of pain that it comes when taking over a project that is not version 1.0. I don't know about you, but when I step into the role of main developer, lead, tester, and designer for my clients for a codebase that is not version 1.0 I always seem to find horrible problems. It seems that even though the app is running (for the most part), remember that the reason you were hired was to improve upon or fix some problem that prevents your client from conducting business. Sadly most times it is very painful for both parties to realize that the system can no longer be scaled. But why?

It has to do with economies and globalization actually. This is really a broad stroke at the heart of a simple problem: You get what you pay for (most of the times). During 2002-2004 I saw a lot of independent business sent overseas, not necessarily to good companies, but to individuals willing to work for $2 bucks and hour. Then this year I am seeing all of this business coming back to the US with clients griping that their products are delayed, do not work, and cannot be expanded. Reason: you get what you pay for.

So I am taking a memory dump of one of the biggest problems I see in the "independent" industry, with most of my clients being small businesses: the allure of cheap labor. It is one of my gripes in this area, especially when trying to help out a client from a tight spot created by someone inexperienced who calls themselves "developers". In reality, anyone can be a programmer, but it takes a lot more skill to be a developer. The difference is: one can design a complete system while the other can only write code.

Working in the education field has given me a great deal of experience with instructional technologies. The main reason this blog exists is to provide YOU, the reader, with some perls of wisdom that I have picked up along the way. I think that the blend of development and education will go over fairly well. It is my intend to post, and discuss development topics with you, in the hopes to advance your skills from "programmer" to "developer".


Post a Comment

Links to this post:

Create a Link

<< Home