Thursday, April 2, 2009

Shady Dealing Developers




Let me begin by saying that I’m bad at cars. The whole genre, from the driving of them to the care of them It’s NOT a female thing either, it’s a “I’m bad at cars” thing. That being said I know I’m not the only one that dreads going to the mechanic. If you’re anything like me, you’re going to the mechanic because something is straight NOT WORKING. (apparently some people do maintenance on their cars? As far as I understand this concept it includes getting things fixed that aren’t broken) So, either your car wont start, you’re down to A tire, or it sounds like a child is dying under your hood. The mechanic sees people like us coming, I swear. They look at your car and see you haven’t gotten your wingnuts tightened and taken out your fluids and cleaned them and put them back or whatever and they only see dollar signs. I’m not being a jerk about this, I have verified my suspicions. I have gotten estimates, left the shop, driven down the road and they tell me something entirely else is what’s wrong and the margin of cash is +/- $500. It’s freaking ridiculous and I don’t know anyone I can trust to tell me the right thing. I just don’t trust mechanics, and haven’t been able to find one I can trust. That’s a mass generalization I am comfortable making.


We’re software engineers though, we would never take advantage of someone just because they didn’t know better.


My friend Chris called me this week. He runs a site about MMA and wrestling. It is a .NET webforms app that he had written by a small team for a stipend around last year or so. The site incorporates a lot of videos that he has done (he is a videographer) and the flash player he was using is no longer being supported by the company that made it. The company that created his site chose this player, so he expected a break when he gave them a call and asked for it to be switched out for one that he could rely on.


He gave them a call and told him what he needed. They quoted him a minimum price of $500 plus any hourly of extra time that was accrued. This just wasn’t what he was prepared to spend, so he decided to give me a call. I said “sure, I’ll take a look at it” and he sent me his GoDaddy login info.


Step One: download solution (asp.net webforms)


Step Two: overwrite existing player.swf file


Step Three: Request solution from coders


Step Four: Change one line in the code behind to publish to the new player


Step Five: Profit


This took MAX half hour of my time. Imagine if I had built his application and didn’t need to look around first, how much faster that would be? Now think about being Chris, he doesn’t know his connection string from his app.config, getting this work done was SUPER intimidating. It’s not because he can’t understand how to do it, it’s because he doesn’t NEED to understand how to do it. That’s why he hires people, just like me and my poor car.


There is no difference between these shady developers and those shady mechanics, both price gouge people because they don’t know any better. Now, should we start responding to ads that say “I NEED A DATING WEBSITE THAT SENDS PPL TXT MSGS, I WILL PAY $200 MAX IT SHOULD TAKE TWO WKS THX” No. obviously we should bill what we are worth to people that trust our judgement…. But c’mon guys. I’m not going to name the firm that did this to him, but you’re giving us all bad name. Let’s not give people the fear of god because their website is broken and they have to call a developer, we should be the people that they trust. The ones that they call for “maintenance” because they know we’re only looking out for them.



11 comments:

  1. Thing is, unless you're expecting to put in a lot of hours and bill accordingly, it's often not worth it to do work for an initial price that's much less than that. It isn't so much dishonesty about the required effort, as it is an attempt to limit yourself to the customers that are worth your time. And sadly, small customers often aren't, unless you're a low-overhead freelancer. :(

    ReplyDelete
  2. In the case of the coders, as Rytmis says maybe it's just not worth it for them to do that without a regular maintenance contract where the billable hours might add up.
    Also, perhaps they felt your friend was unreasonable on the first transaction and 1) didn't want to work with him again, or 2) wanted to recoup some of their losses from the first round.
    Customers who want things done for a few hundred dollars are often unreasonable about what they can get for what they are paying, even if they don't realize they are being so.

    ReplyDelete
  3. ...of course, if I were the aforementioned company, I'd probably do that for a minimal price, seeing as I was the one that built the site in the first place. Especially if it was evident that the new player would be a drop-in replacement.

    ReplyDelete
  4. Now that's rare... a COMPLETE plan for profit, no ???. That's the way to do it Sara!
    I agree with you entirely on this. As part of the trained working class it is very much up to us to responsibly deal with those not trained in same field.
    Unfortunately there will ALWAYS be those who give us/others a bad name. Some do it intentionally, some ignorantly. A great philosopher once pointed out Ignorance can be fixed. Stupid is forever. The best we, as developers, can do is to prove ourselves trustworthy and respectful in the matters in which we deal. It also wouldn't hurt to leave a business card behind ;) I might be a tad naive and idealistic, but proving your morality by your dealings will leave a lasting impression.

    ReplyDelete
  5. Tell me at least that you get the oil changed every 5000 or so miles? If it helps think of getting your oil changed like cleaning off all the stuff on your desktop every so often. :)

    ReplyDelete
  6. You know, I've often compared development to mechanics. You are right, in most cases it's a black box for the customer, and they have to trust us.
    However, you described yourself as a person who doesn't care for your car, doesn't perform routine maintenance, doesn't even want to THINK about your car unless it's DYING. Apply that same principle with your customers and you are bound to see a system that needs a major overhaul. The relationship between the customer and the shop might have been the main culprit in why the shop wanted to charge so much money. Typically when working with clients that are paying you out of their personal checking account, they aren't too keen on things like QA or Unit Testing or Best Practices. They just want a website. Clients like these are very hard to please, and in order to create a good product for them, you have to eat the costs of the aforementioned or PAD YOUR ESTIMATES.
    On another note and getting back to the mechanic example. : If I were a mechanic and you were to bring that car (system) to me that was out of disrepair, i would look at it and probably tell you about all the things I thought needed to be fixed. Take it to Joe developer down the street, he'll tell you something different.
    I agree that development shops should be up front and very see-thru with their time/effort to help the client truly understand the scope of their issue. Just as a good mechanic will take you under the lift and show you just why your car is making that terrible sound (no muffler, oh and while we are down here, look at your terrible brakes!), so should we take an active instructional role with our clients to make them feel a part of the development process.

    ReplyDelete
  7. @Nick: You've obviously never seen Sara's desktop.

    ReplyDelete
  8. What I love is when my dealership's service manager comes out and tells me they have a software patch they need to install and it will only cost me $100 to have them install it. Could you _imagine_ how people would react if Microsoft _charged_ people for software patches? It was probably less than polite of me to point this out the guy, but he wanted to know why I was declining.

    ReplyDelete
  9. What a wonderful blessing indeed. I love good news like this.

    ReplyDelete
  10. Im so amazed on the composition on your group, makes you guys unbeatable.

    ReplyDelete