Categories
General

Muddy Anti-Pattern

Who ever thought that a term like “Big Ball of Mud” would actually make its way into the the technical vernacular of computer programming? I especially like the analogy of “Shantytown Spaghetti Code”.

Categories
General

Outsource It…Sort Of

Here’s an interesting take on outsourcing. It’s called Sea Code.

Categories
Industry

Contracting vs. In-house

Hi, I’m Don, token Web programmer at Brain Fuel and I have a thing or two to say about contract programmers. I recently found myself working on two separate Web based software projects that were started by contractors. The first was developed using PHP. When I got in on the project (as an additional contractor) I found some of the worst code I have ever laid my eyes on.

The client had in mind a very complex system that would be modular and have a bit of functionality added here and there over time. A sort of evolving system with many unknowns as far as future expansion. So it was a system that required a developer to invest a lot of time setting up a solid architecture allowing for painless expansion. Well, the lead contractor barely had the skills to write a solid “hello world” application, let alone an expandable system. I don’t mean that I had stylistic disagreements, this guy had no clue.

How was the client to know? He knew little about what this developer was doing, not to mention, he’s not a programmer. All the client knew was that he was paying this guy a premium and if you pay someone a premium, they must be good, right? So after 2 hours of reviewing this contractor’s code, I told the client I didn’t want anything to do with the project and he asked why. I told him. It nearly broke his heart. Here he thought this guy was a software master and it turned out he was a high priced amateur.

After a month I was hired (not as a contractor) to play lead developer for a friend’s business using ASP.Net and C#. I inherited yet another project that was started by a contractor. Now this project was similar in its requirements: future expansion and modularity. It was obvious that the contractor who started this particular job knew how to develop quality software, but he didn’t exactly apply his ability fully. I had to start this project from scratch salvaging only the database he had in place.

As I reviewed this second project I had to ask the obvious question: why do contractors cut corners? The answer was as obvious as the question: It is not in the interest of contractors (in programming anyway) to create applications with the future in mind. The priority of a contractor is to get the job done and move on to the next one. This leaves little room for the future. It makes perfect sense. If you make money on a per-job basis, the more jobs you complete, the more cash you pocket. Now I don’t mean to say that all contractors are amateurs or that they all just look for the quick turnover, but the priority of a contractor is not often in line with the priority of the organization that hires him/her.

In-house developers on the other hand have it in their interest to write a solid application for the simple reason that they will have to live with the project for the duration of their employment. If you like your employer and your job, you’ll develop the best software your ability allows for. Not everyone can hire a full-time software engineer so how do you cope? I’m not exactly sure, but if you can hire a reputable contractor to architect your system, you can then hire a contract programmer to write it, all the while sticking to a well mapped plan. Or you can have a seasoned developer at least interview your contractor to check for initial competency. Just a few suggestions.

Categories
General

Gravity Battle

Without a major cause such as a war, or a major pivotal social movement, most of us twenty-something, American suburbanites have had to find meaning in a different place than generations past. We too need a claim to fame and a battle to call our own. Unfortunately, (or fortunately, depending on how you look at it) our times have not allowed for such glorious occasions. So being that we are a crafty bunch, we decided create our own war and the enemy is none other than the force of gravity. And so spawned “Extreme Sports”, and companies like Rossignol gained a whole new snowboard market and they happen to have a sweet site with lots of hidden goodies. By the way, my name is Don, official Tornado code warrior, and this is my first Brainfuel post.