The contractor mentality

I talked a little about a slash’n’burn mentality that I see in a lot of contract work in my last post, and I want to expand on that here.

When I had my first real job, we outsourced the translation of our product to an external agency. They were supposed to cut images and add translations into product buttons and images. The translations we got bad were horrible. German words with over 15 letters were squeezed in the same box that said ‘here’ or ‘save’ in English, images were pixelated, and a lot of the translation in Spanish ( a language I speak fluently ) simply did not match the functionality. We had to spend a lot of time in-house fixing and re-cutting the images, making sure the translations fit and flowed.

Working with a media agency that does a lot of work, I see two very divergent attitudes towards product development. It seems like a lot of our more experienced software developers and people who have spent a lot of time maintaining sites opt for the ‘take time but do it right’ mentality. Our production team, younger developers and specially external contractors often choose to do things as quickly as possible – copying and pasting hacks from online forums, not caring about HTML standards and getting away with a lot of noise and garbage in their code.

I can understand why contractors would not care. For them, it is a matter of ‘get it done, get paid, move on’. If a photographer can get paid by doing 15 hours of work, why would they bother spending 30 hours and getting things done right? A lot of work I have seen from contractors fall under this model. On the surface, it’s slick and beautiful, but dig a little deeper and you see all the problems and errors that come from trying to get things done quickly — code that is copied and pasted from place to place; badly formatted and completely mangled.

In the long run, this mentality comes back and backfires. Companies that invest the time in thinking and obsessing about every aspect of their software are the ones that are successful. Apple built an empire on superior design. The recent article about the effort and time taken to develop a google button illustrates the importance of thinking functionality through and doing it right. On the flip side, things built quickly and cheaply usually suffer from enormous quality issues. Chinese manufacturing seems to be the epitome of this contractor mentality — do things quickly and cheaply and get lead in toys, toxic drywall and tainted baby milk powder.

If our contractor had done his job properly, we would have recommended him highly for our next project and he would have made more money. In the long run, he would have had to work less because his code becomes reusable and he can just move it from project to project. But this slash and burn mentality seems to permeate a lot of the work culture. CEOs don’t think past the numbers for the next quarter. Production managers laugh at the idea of spending a week in Information Architecture to properly think out a website. Things need to be done, done fast, and done yesterday.

I think people who have spent a lot of time maintaining and looking at other people’s code understand the need to write succinct, simple, bare-bones clean code. They have spent time doing global search and replaces. They have had to edit the same line in sixty different stylesheets that do the same thing instead of being home with their families. They had to refactor DailyWTF candidates. They get that doing it right at the beginning leads to happier, more productive coding down the line. Contractors don’t care, they have moved on when big ugly Asian developers ( me ) come raging through the room shouting that the XHTML is invalid.

As a developer, I know I let a lot of things slide in our projects for the sake of saving time. We stopped setting up continous integration servers for our projects because they don’t usually last more than a month or a month and a half. We don’t write test harnesses or spend time investigating automated testing because project schedules are usually so tight that doing so would mean sacrificing our own free time, since the company usually will not bulge on deadlines on projects. The result of this is fires at the end of the project because things have not been tested or changes are made without a minimum basic level of safeguarding. But how do you justify doing all this to your boss when all he sees is that he can ship it to India, get it done for $5,000 and move on?

“It’s a very sobering feeling to be up in space and realize that one’s safety factor was determined by the lowest bidder on a government contract.” – Alan B. Shepard, America’s first astronaut in space

One thought on “The contractor mentality

  1. TJ Downes

    This is exactly the mentality of overseas outsource contractors. I’ve seen it time and time again. It makes me angry when I hear about companies hiring these outfits, because I know the end result and I know good, hard working Americans didn’t get these jobs where the end result would have been far higher quality. In 14 years+ in this industry I have yet to see quality work come out of one of these outsource shops.

    But then again, the management making the decisions to hire these folks don’t care. They care about how much money they saved and how good they look and little else. Personally, I’d love to have the opportunity to bitch slap every American who has ever made the decision to outsource work overseas, regardless of the reason or product/service outsourced.

    Reply

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s