I think this highlights the interesting lack of fundamental understanding by the general public about software and how complex and expensive it is.
Intuitively people understand things like cars and laptops are expensive, time consuming and difficult to build requiring complex tools and machinery.
This is not the case with software, where we see time and time again requests like "same as Facebook..." or "Same as Amazon". People have no idea of the time, money and expertise that has gone into making these sites function.
I wonder if we can change that lack of understand, or if the general public will always be at a loss to understand the complexities of software ?
Education can also be dangerous in the hands of a potential client. I've had to explain to clients why they were paying what they were paying for a website when one of the owners of the company pipped up saying "But it's just a bunch of HTML, I could do that, so why are you charging us so much?" In this situation, you really want to say "then go do it yourself if it's so easy", but that's not the best way to put it.
They know what HTML is, but then when you explain that while the output might be composed of HTML, it's dynamically rendered from the Server using a programming language along with data stored in the database and also on the frontend with JavaScript and CSS. At that point, you kind of lose them and they're not any better off than a client that didn't know HTML (other than they now think you're trying to BS them for more money).
I explained the above more eloquently than the short summary above and the other owners were less distrusting. However, what people are educated on can also easily backfire to be worse than if they stayed ignorant.
I've also had clients that were actual developers and way too busy to do all the work they had. Those sort of clients go pretty well and they know what they're paying for. Not saying that education won't help, but we should be cautious to how the average person is educated on the behind the scenes details of software development.
If they're intelligent enough to run a small business successfully, they're intelligent enough to understand that even if they're just having a leak in the plumbing fixed, anything they do themselves will be a joke compared to what a professional will take care of in a fraction of that time. Even if they've been to Home Depot and know what parts to buy.
> But it's just a bunch of HTML, I could do that, so why are you charging us so much?
This is just a bullshit ball-busting test they throw at every contractor they talk to, regardless of the industry or work. Trust me.
Answer: Well, I'd love to charge less, but then I get overwhelmed with work. The prices I charge are there to keep things reasonable. (look at watch) I have a meeting with another client in about 30 minutes. Are we proceeding with the project?
You charge what you charge not because it's HTML or complex server code or whatever. It's because there are people there who are willing to pay your price because they appreciate what you do. This is a meeting to determine if this person can appreciate what you do. So ask them. Don't waste time in techno babble.
The general thing that people find both in pricing products and in pricing services is that at the low end of the scale you deal with people who perceive less value from you, less value from your offering, and have more and more unreasonable demands. Like if you’re writing iPhone apps, you’ll receive reviews like “This 99 cent flashlight app didn’t do my taxes, one star!”
That particular client was from my earlier college days of starting out in freelancing. They didn't give me any real issues after that point, but yes, they were not the ideal client to what I would want now :)
Patio11 also has some great articles, so I have to agree with your link.
Relevant quotes from clients who've commissioned web developers/designers (previously posted on Clients From Hell):
---
“I want to create a rival to Twitter. So I want it exactly the same except where it says What’s Happening? I want it to say How are you feeling?”
"There’s one thing that our social media site will have that Facebook hasn’t even thought of… People can rate each other! Out of a possible five stars, depending on looks and talent… We’re gonna put that Mark Zapperburger out of business, I know it!"
> “I want to create a rival to Twitter. So I want it exactly the same except where it says What’s Happening? I want it to say How are you feeling?”
Well... if "exactly the same" includes stuff like "data is stored on Twitter's servers", you could probably write a greasemonkey script for this in about ten minutes.
I've done my share of software developer hiring. And, I've had my share of sticker shock. What always makes it a little more palatable is seeing the number of (man)hours a project will take. People understand wages, and can also easily mentally compare them. When I see what you're making per hour, and it isn't gut-wrenching, it's easier to swallow.
Of course, you'll still have to deal with idiots who can't understand why it won't be done in an afternoon.
Unfortunately, working lots of man hours for a smaller or set fee is still tantamount to underpaying. A project where you are overworked is not worth the hassle.
"the interesting lack of fundamental understanding by the general public about software and how complex and expensive it is."
The reason why many people have a good understanding of other complex stuff, like a car, is because they are able to tinker and service it. You can't tinker with the internals of Amazon.com. Without a frame of reference, there's no way to know how complex a system is.
The amount of stuff you need to sit down at your computer and try to build a "site like Amazon" is pretty trivial. In fact, all you need is a computer and a net connection.
You'll discover quite quickly that you can't build Amazon by yourself, but there's little barrier to entry (there's a huge barrier to completion).
Agreed, developing software is complex and expensive, I think sometimes we jump the gun in thinking we do actually have to expend that effort.
Not referring to this request specifically but sometimes people just need pointing to something like webstore.amazon.com. This may well be a sufficient MVP for a customer who needs an e-commerce presence.
Sometimes it is a lack of communication. A client has no better way to explain what they want than to point to another site they have seen recently and say I need that. They may not need all that, but they want some aspects of it and can't describe it in more technical terms because they lack the experience to do so.
At the same time, we're sometimes quick to take what they say literally and scoff at the rate they want. While some clients really do want what they're asking (and a smart developer will run away quickly in the opposite direction), there's some that are just lacking the knowhow to describe it better. It all depends on if one wants to deal with such clients.
>I wonder if we can change that lack of understand, or if the general public will always be at a loss to understand the complexities of software ?
Considering that one of the base tenets of software engineering is to create abstractions, those abstractions work against communicating complexity because they are meant to hide/control/abstract the complexity. It's easier to see and explore the complexity of a physical object.
In some sense, software is more like the useful abstraction of the model of the atom (with the electron levels, etc) which help explain the nature and interaction of it even if it's not physically like that. A car doesn't have abstract abstractions like that, what abstractions it has are easily exposed and physical entities.
I think the thing with cars and laptops is that people understand that they don't know how to make them. Cars are big, and when I open the hood of an older car (before the nice, clean plastic emblazoned with the manufacturer's logo to keep me away from the engine), I knew I couldn't do what someone else had done. Likewise, laptops are small - I can't possible build that. But them someone looks at the output of Word or PowerPoint, and can't tell what makes a web page so different. They can make their screen look like a website, so how hard could it be?
Design has always existed in this sort of gray area, especially with the introduction of Photoshop and desktop computers. Many people think graphic design is as simple as selecting a font and picking some colors to go with it.
I doubt software/web development will ever get past the same hurdle in the minds of the general public.
I think there's this conceit floating around, perhaps, that the web is supposed to be some kind of overunity money engine for which the laws of supply and demand need not apply. Photoshop, SaaS sites like Wix and Business Catalyst, and freelance sites like elance, play a bit part in fostering the idea that what we do (at any level) isn't necessarily work, and seem to cater at various degrees to the desire to outsource or eliminate developers altogether while still gaining all the fruits of the development.
After all, freelance sites like elance exist based on the premise that developers will claw over one another to underbid for a project, and they will. Just try to win a contract there charging more than twenty dollars an hour. It's absurd what rates people (on both sides of the table) will accept just to get any business done at all. It's terrible, and unjust, but on the other hand enough of us are willing to participate in a system stacked against our own interests that we prove its efficacy to business owners, because we need the work.
Good point. It seems like there is a variation on Poe's Law here, but I can't quite put my finger on it.
It works as a honeypot either way.
On a more practical note, Derek Siver's advice at [1] to ask bidders to post a "magic phrase" of some sort has worked really well for me. I literally just select a couple of random words from /usr/share/dict/words and add something like:
To prove that you have actually read this listing, please include the words 'FOOLHARDY PARADIGM' somewhere in your response. Any bid that does not include these words will be ignored.
prominently in the listing. You might be surprised how many responses that filters out. I was a little surprised at how legitimate some of the automated (or at least, thoughtless) responses seemed to be. I almost certainly would have wasted time on some of those without this little test. (I probably rejected some responses from real people too, but evidently people with insufficient attention to detail.)
Heh, that blog post is funny. After step 6 the difficult work is done. Writing code is really not hard if you can define your goals clearly. If you're able to complete the first steps take a week off to learn programming and then build the software yourself. Much cheaper and easier.
These roll through Stack Overflow pretty frequently too. I saw these just the other day:
"I am planning to create a site almost similar to freelancer in Dot Net. I was hoping to use some kind of open source if available also I am open to you suggestion for the same...."
"I really don’t know enough about web technologies to know the trade offs involved in using one language over another and I’m looking for some guidance as to how to go about developing what I need. I will actually be outsourcing the work but I want to be sure that the developer will be using the best mode possible and I will probably dictate the language to use."
So you can be richer than Jeff Beezo, Mark Zapperberg, Pierre Omigosh and Craig Newman combined, of course. It's a big-picture idea, real entrepreneurial stuff; you're probably too mundane to "get it", which is why you're only worth $750 to the project.
Perhaps the joke is that people actually seriously replied to this? It highlights how many drones crawl around eLance-like sites and just reply to everything without much thoughts.
I'm a recruiter who charges by the hour. A new client asked to find a Senior Rails Developer. I called a friend who does Rails work and filled the job in 30 minutes. I sent the client an invoice for 0.50 hours. The client did not pay and I learned to fish for higher caliber clients.
If I remember an episode of diggnation correctly Rose paid $10 per hour, though this is probably wrong. 20 hours is doable for a prototype of the first version of digg.
I remember this episode too. It looks like he misspoke judging by what I can find online: the eLance forums have people correcting $200-$300 estimates saying that Kevin Rose actually spent more like $2k (as the parent of my comment claimed, sorry).
And this is why I don't deal with business majors or anyone else at school who has the greatest idea for the so-called "next big thing", but has no idea how the technology would work.
These are not serious bidders. They are robo-applications or blindly copy/pasted applications by cut-rate shops that are mind-numbingly bad at development.
Elance and sites like it are crazy uncharted territory for me.
Are there really folks who run bots to scrape Elance, put in a bid for the minimum budget price (someone did bid $750, according to the min/max spread on there), and hope they get picked?
What happens when they do get picked, and they just agreed to build Amazon for $750? At that point I guess $750 is just so low an amount that neither party really cares to fight over it when the "developer" can't deliver?
It's very difficult to get work there, but it is possible, and easier if you don't fall into the trap of trying to game the system (treating proposals like actual proposals will help you stand out more.) Don't bother with their BS about "verifying your identity" either.
But yeah, if you can get real work then run far far away. It is the proverbial shallow money trench where good developers die like dogs (only without money or that many good developers)
I too want to know what happens here, I've been working as a web developer for over a year now and am just now confident in my abilities to want to do some freelance, and all I see are these horrible responses all over sites like these.
This guy isn't really asking for much is he? He not only wants someone to build a "better" clone of Amazon but also; auctions, classifieds, forums and a freelance jobs section on-top of what would be an extremely complicated project not-to-mention expensive. I bet the winner of this project will just skin a copy of Magento and install a couple of plugins in unison with a bot script that would scrape all of Amazon's categories and add them. Good luck to the guy, I hope his pockets are deep.
Wouldn't surprise me if the project ends in a skinned copy of Wordpress with WP-Ecommerce installed for the store functionality, haha.
This is one of the main motivations behind my new startup matchist (http://matchist.com/talent). Working to help developers never have to see these kinds of requests again.
There needs to be a site like yours for those of us who aren't necessarily top-tier developers but who still don't want to get treated like dung-rollers, though.
To us, top tier doesn't solely mean "best at technical skills". It's also composed of great communicator, professional presentation, people person, etc.
You need to be good at what you do but that's only part of what we consider a quality developer.
I did sign up a while ago but I wasn't able to get the phone interview managed (which doesn't speak well for professional presentation I suppose.) I'll probably try again once I get a current job behind me.
... for $1,000 do you want it to scale as well or do you just want something faked that'll work for 1 concurrent user? Do you need full reporting and analytics? Load testing? Unit tests? etc.? Ridiculous.
You almost make it sound as if it could be done if you didn't care about scalability and "nice to haves". Make me the site he described, and have it work for only 1 user, even half the time, and I'll give you $1000 gladly.
I could do that, please specify where you are going to click and what you'd expect to see. It will work every time but only for those exact steps! Scalability could be done but will cost you extra!
Meet this all the time And people saying we have this big idea, we can't say what is is because we are afraid that you will take it (its that good). But how much does it cost us for you to create it?
Intuitively people understand things like cars and laptops are expensive, time consuming and difficult to build requiring complex tools and machinery.
This is not the case with software, where we see time and time again requests like "same as Facebook..." or "Same as Amazon". People have no idea of the time, money and expertise that has gone into making these sites function.
I wonder if we can change that lack of understand, or if the general public will always be at a loss to understand the complexities of software ?