The Model/View/Controller (MVC) Mindset

Being a programmer that works on our clients websites, my eyes have been opened to the fact that there are some really BAD programmers out there. A current project that I have been working on is a total mess. Our customer outsourced the programming to some company in Russia. This company never finished the project and so our customer contacted my company in hopes we could complete the project.

I began making a few simple changes to a calendar/reservation system. These changes took a while to make simply because I was working with a totally new system, and this delay was expected. I finished those modifications and we billed the customer.

A few days ago, the customer called wanting us to make some more changes. The customer also complained about the slowness of his current server. We setup a new server in our datacenter, and copied the files, database, and other necessary items to get the site running. After a few hours of testing we started noticing a few problems, so I dug into it.

It soon became apparent that the Russia programming team did not know much about programming, the site was written in php3 (You will notice that php5 is the current version) and that the design was tightly integrated into the programming logic. This tight integration makes the site extremely difficult to upgrade to the new design the customer desires.

The model-view-controller mindset would greatly help this. If the site was built properly, it would be extremely easy to change the design, add features, and do anything the customer would like. But as is, it will take longer to integrate the design than it would to write it from scratch.

Please! When you need something programmed, PLEASE find someone who will use this mentality to create the program, thus making future work on the project possible.