It's not surprising. Whenever you have concrete thinkers and abstract thinkers trying to reconcile their notions, it's typical for teamwork to break down and the dominant party to impose their idea of how things should be done.
Just how bad the status quo is was underscored for me by an article I found somehow. It's about the differences between static and dynamic web sites, with pros and cons. The article appears on the blog of a UK-based web design firm.
It's an example of a priority item for the service menu of any web developer. Though the information is broadly known, it isn't universal, and the reasoning for the choice of site type is often obscure to people on the design end. (Design, being infinitely more complex than web site programming, doesn't always leave much brain space for nuances such as the meaning of $# in Garblescript.)
Experiences vary, but developers tend to be deficient in communication skills. One might suppose this would lead them to develop a condensed guide to development choices and options, but instead they sit on emails that require too much typing until they are stale and the pressure to keep the project moving has resulted in a default to their preferred solutions. Never mind that these solutions might wreak havoc on designs intentions, load time, SEO or other important factors.
Developers talk about using dynamic site structure to give users update control, but mostly this is overblown. Update control is nothing; you need control over your entire site, and not on someone else's schedule. Interviewing developers, I have listened to them say things as dumb as "Nobody reads webcomic archives." Ceding site control to people of such limited awareness damages your ability to control the user experience. For the user, the contributions of design and architecture have a more profound effect than database arrangements.
Some people are content to delegate both design and programming to others, and are happy if they can reliably post their comic and perhaps have a little blog. This is quantitative status: you have joined the ranks of those who have a comic on the internet. It's a hollow achievement without readers, and it's going to take a knock-out comic to make up for a dismal setting. (Note: plain settings are not dismal, and are a better choice than poorly executed complexity.)
My heart is with the little guy, and we prefer to work with independent contractors on our projects. We could probably add two people right now and still be behind schedule, but I will not add anyone with these characteristics:
- lack of email fluency
- lack of punctuality
- inability to communicate choices and trade-offs
- inability to report errors and problems
- people who tell me how easy everything is and are unable to complete the first task
- people without a portfolio
- people who cite reasons for doing things but can't document them
- people who cannot tell me their strengths and limitations in two paragraphs
- people who answer succinct email inquiries with requests to telephone them (the whole point of email is so I don't have to hear you rattle the mucus in your sinuses every time you chortle)
Another danger sign is the vendor who finds some aspect of your style irritating but is afraid to tell you. In time they build these resentments into excuses for foot-dragging, or loud squawking if you have to let them go.
Though it causes delay and means making learning curve mistakes, doing as much as possible by yourself is preferable to being at anyone's mercy. Good programming is an art, and there are as many artless programmers as bad "graphic designers."
I am interested in spotlighting developers with websites that enhance client understanding and communication, explain their services and specialties and demonstrate an ability to communicate. If you know any, pass them along. I am not expecting a deluge.
It's notable that we have an unemployment rate approaching ten percent, and yet I know numerous people, like us, with ample budgets who can't find competent web developers. My theory is that programming is a practical job that makes sense to practical people, until they discover they must communicate with designers.