Before You Outsource

09:17AM Jun 06, 2007 in category General by Jesse Bethke

I'll admit, I want to save a buck just as much as the next guy. But before you pick the cheapest alternative for your IT labor, do your research. I work at a software consulting firm that specializes in fixing code others messed up horribly.

Unfortunatly, some penny pinchers will pick the cheapest development firm available that week. They will then proceed to switch firms occasionally just because they find a cheapper deal or because they aren't happy with the progress. There is overhead involved in becoming aquainted with the code. Each new firm needs to become familiar with the code base before they can get to a state where everything flows efficiently.

We [my coworkers and I] have become very skilled at diving into code, fixing it and getting out. Usually because the client has a very limited budget and whats it done now. But this means that over time the code becomes hacked together just to get it to stand on its own two feet.

Moral of the Story

Pick 1 (ONE) good firm and stick with them. Be prepared to pay good money for good code. If you skimp on the bill you will find yourself investing later to have it fixed. American firms start at $30 and climb to over $150 per hour. Indian firms generally start at $5 per hour. Just keep in mind you may end up paying an Indian firm 80 hrs to develop something and then pay an American firm 20 hrs to fix it. The American firm could have done it right for 50.

Tip of the Day

Name your variables!! Below is a patch of code from phpfox pro; which has licenses starting at $39.95 per month. It is the most hideous code base I have ever seen. That is my rant for the day

	
$TXT = array();
$SLT = array();

$TXT[12] = file("".$VAR[5]."/inc/txt/country.txt");
$TXT[14] = "";
foreach ($TXT[12] as $TXT[13])
{
    $TXT[13] = trim($TXT[13]);
    $SLT[4] = "";
    if (isset($_GET['location'])) { if (str_replace("_"," ",$_GET['location']) == $TXT[13]) { $SLT[4] = " selected"; } }
    $TXT[14] .= "\t\t  ".$TXT[13]."\n";		
}
                
$TXT[22] = "";
for ($TXT[21] = 16; $TXT[21] <= 100; $TXT[21]++) 
{
    $TXT[22] .= "\t\t  ".$TXT[21]."\n";
}
Comments:

wow........ ugly, ugly code, ive never seen such a non descriptive piece of code in my life, someone should tell the original author to name vars with something meaningful instead of pushing them into a non-descriptive array. even some kind of associative array would be good here.

I agree on the outsourcing bit though, i do a lot of freelance work and run into barely manageable code quite often.

Posted by Jason Johnson on June 06, 2007 at 04:32 PM CDT #

That code, ough. Must be hard to write so bad haha...

I had experiences with Odesk, so far so good! You can see others experiences and that really helps, now have 3 good freelancers on which I can "trust" or rely at least that they work in time and code is re-usable.

Posted by Geld Lenen on March 10, 2008 at 03:39 PM CDT #

Post a Comment:
  • HTML Syntax: Allowed

Calendar

« November 2009
SunMonTueWedThuFriSat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
     
       
Today
The views and opinions expressed in this page are strictly those of the page author. The contents of this page have not been reviewed or approved by The University of South Dakota.