Design means different things to different people. I wholeheartedly endorse Steve Jobs' philosophy:
Most people make the mistake of thinking design is what it looks like. People think it's this veneer — that the designers are handed this box and told, "Make it look good!" That's not what we think design is. It's not just what it looks like and feels like. Design is how it works.
Design isn't the outer skin of the product. It's not the Photoshop layer effects, the trendy noise and linen textures, or WebKit CSS image masks. Those things are tactical tools that can be used to stylize a product, but design is a holistic concept that defines how the product works.
I don't think it's controversial these days to state that successful product development must begin with design first. The way the product looks, feels, and behaves is the product as far as the user is concerned. Defining these things is the role of the designer. Bringing them to life is (usually) the role of the engineer.
Like many people, I'm inspired by all sorts of physical objects — automobiles, watches, bicycles, mobile phones, etc. I'd wager that most or all of these things — the ones that have the most passionate and loyal customers — originated from a design-centric initial phase.
We can be pretty certain that Apple products aren't conceived by engineers initially. In fact, a recent Reddit comment by an ex-Apple employee sheds light on the fact that the Industrial Design department's decisions trump all other decisions by other divisions. In my head, I envision meetings between Jonathan Ive and the engineers going something like this:
Jonny Ive: Good afternoon, team. I wanted to get together with you guys today to show you the next iLust revision. We spent a lot of time on this design and we're really proud of what we've come up with. We're absolutely certain that our customers are going to love it. We had to invent a new manufacturing process for this new unibody design and we worked with twelve different companies before finding one that could build the switches within our stated tolerances. We spent a lot of money during this phase, but we feel that people are going to appreciate the weight savings and the refined styling.
You have [some minuscule measurement] for the primary logic board and [another absurd measurement] for the battery and various antennas. These things are non-negotiable. We have goals for battery life and overall weight. We may need to compromise here and there, but you folks are smart, we've been here before, and we're confident that you can see this thing through.
Then the engineers raise their eyebrows, let out a sigh, and get to work. The constraints that feel nearly crippling at the beginning gradually become challenging, but achievable goals.
Contrast this to my vision of product development at any PC manufacturer. Note that the meeting is now led by engineering:
Jonny Engineer: Hey guys, thanks for getting together. We've been working through some pricing models here for some various components and we think we've found a good combination for the Insipid, our iLust-killer. Finance has been riding us hard this quarter, but they've green-lighted these specs. We're going to one-up the iLust with quad core processors and user-upgradable memory. We negotiated with twelve different suppliers to make sure we're using the cheapest commodity components.
As usual, we need to display our full barrage of partner decals front and center. Product key decals, service tags, all that FCC shit on the bottom. These things are non-negotiable. Other than that, make 'em sexy fellas!
Ok, I know it's not really that segregated at either company, but I the point stands. Which company do you think has engineers that are getting pushed outside their comfort zones, solving incredibly challenging problems, and finishing a project with a huge sense of pride? Who do you think is attracting more high-caliber designers? Which engineers are disgruntled because they're making decisions based on constraints that having nothing to do with the user experience? This disgruntlement then trickles down to the designers who have to polish a turd and ship a compromised product.
That's great, you say, but I'm a web developer - what does this have to do with me? Generally speaking, engineers are not great at making decisions based on what's best for users. This isn't because they can't. It's just that engineers are usually completely focused on what they're good at - writing clean and elegant code, refactoring fugly code, building robust test suites, and growing neckbeards. A completely different mental calibration is needed for making design decisions that are in the best interest of the end user. And trust me, switching contexts on the fly is extremely challenging — I try all the time.
For example, it's great that your app exposes an elegant RESTful API interface, but is your site best served by the typical index/show/edit/update screens? A good designer (or a great developer) might realize that the use cases for the app's target audience would prefer a more efficient workflow. Perhaps some (or all) of app's functionality could be exposed on a single screen with AJAX calls handling the server requests. Sure, these sorts of design decisions will probably make for more dev work, but the designer's job is not to make life easy (or harder) for the engineer. It is to design the best product possible for the user.
Lousy engineers will get upset because they have an us-against-them attitude. Good engineers won't complain and will find a way to get the job done. Great engineers will appreciate the constraints and embrace the challenge. They'll also have a much more impressive technical toolbox and enviable portfolio to boot.