I consider myself something of an amateur photographer (yes, in case you're wondering, the photos are mine, be they ever so humble). By amateur, I mean in part that I've learned enough to know where I stand against the ranks of really good photographers. Among other things, I've come to understand that there's a lot to learn about photography before you can really hope to be good, but I also understand how people come to believe that they can be pro photographers just going out and snapping up the latest and greatest hardware.
The advent of digital cameras made photography accessible to a lot more people by making photography cheaper and easier by a pretty huge increment relative to film photography. Once you've bought a camera, it now costs next to nothing to go out and shoot a couple hundred pictures in a day. Since you can see your results immediately, you can also make changes to settings or composition in real time, which massively increases a new photographer's learning curve. Bottom line: you can go from zero to decent in a very short time.
"And what," you might be asking, "does this have to do with software?"
One of the problems facing both photographers and software professionals, it turns out, is that it's pretty difficult for an uneducated consumer to tell the difference between "passable" and "really good". This morning, I read a really interesting article by Scott Bourne: And You Call Yourself a Professional? In this article, Scott bemoans the fact that there are budget photography "pro's" who are dramatically undercutting really good photographers, producing mediocre results for the client and, in Scott's words, these proto-pro's are "dragging down an entire industry."
My first reaction, of course, was that this is one of the fundamental problems in our industry, too. Good developers can spot bad developers a mile away, but customers and employers can't do this -- at least, not until they've become somewhat educated in the intricacies of software development. This is one of the key ideas in another one of my recent posts: Fixed bid isn’t nirvanna.
Is it really reasonable to expect that bad photographers or software developers are going to take themselves out of the market? Not really. In a well-functioning market, they're either going to improve or be driven out of the market, but they're certainly not going to experience a crisis of conscience and change their ways if customers are buying this stuff.
Instead, Scott's “We fix $500 wedding photography” idea is probably a lot more effective. Customers need to understand how they're affected when they bite on low-ball services, but this is no small feat. Think about it: if a customer is shopping for a deal, you're going to have a hard time explaining to them exactly what can go wrong by taking short cuts.
In photography, there's a misconception that since cameras can set exposure, aperture, and focus automatically, it's impossible to take a bad picture, but it's less clear how photography is elevated to art. In software, a customer can see an application that appears to work, and have no idea that the system is riddled with technical debt that will make future maintenance and extension a nightmare.
I'd love to think that we could educate customers on a massive scale, and in the process, drive out bad development practices because no customer would ever tolerate them, but I'm coming to understand that sometimes, a customer just may not be experienced enough to understand why you're a better value than the "cheap" service.
How are you educating your customers?