I think you could say that designers are responsible for the psychological side of a product and developers are responsible for the technical side.
Developers might respond that they created a great product that solves a problem without any designers. To that my reply is that you then you have designed as well.
This. Your process also highlights that developers and designers working together is a process that is interlinked and takes time.
Another comment highlights that designers work often without the full picture. I'd add to this they are responsible for bringing solutions to the table as the catalyst to collaboration, exploring compromise and iteration. The best engineers bring solutions to the table too. The worst is when the developers and the designer are bullshitting each other on why things aren't possible with reason from their own domain that the others don't understand or can't reason about.
So would you consider designers as non-technical people, in a similar role as product managers? Or take the Steve Blank view and lump them in with engineers as the "solution team"?
Mmm. As others have said, developers solve their own problems. What I like is Developer To Designer.
Designers work with the same tools as us sometimes, and every day we make them trawl through the command line or install gems. It's fun to be able to solve problems that other developers have created for designers.
This is a great comment, but I'm still unclear about the intended meaning of "designer". Are we only talking about graphic/artistic design, or just product design? The two are not the same (IMO). For example, I'm a programmer at the core, completely left-brained/logical, who struggles with art/graphic design. However, I am a great product designer (at least, IMO!). So, the one thing I look for to complete projects I'm working on is a graphic designer.
Also, I'm glad you qualified your last statement with this: "unless the key element to what they were doing was uniquely technical." I once had a graphic designer tell me his role was more important than the programming side to web sites, which I totally disagree with. I have a one word retort to that: craigslist. It's true that oftentimes great graphic design is a necessary ingredient to the success of a site, but that's not always the case.
Part of the problem in understanding what everyone means is that the word "design" is quite ambiguous these days.
I'm a programmer working in web "development", and some of the things you lay claim to (UX, UI) are things that I'm responsible for rather than our "designer".
So I guess there's really a spectrum of different types of activity (rather than a binary partition) and the choice of who gets what responsibility is a local one.
Some organisations have people who have exotic job titles with words such as "User Experience" and "Information Architecture" in them. I suspect that "designers" and "developers" in those organisations have much more clearly separated roles.
Yes, ideally in both the designer has some mid-level understanding of development and the developer has some mid-level understanding of design. Without that overlap, things can go off the rails.
I think this is a fairly sound assessment of both the designer and engineer psychologies. In my experience, engineers frequently fail to understand that design is the fundamental relationship between the consumer and your product, and as such, should be considered of equal importance to the quality of the code. From the perspective of the layperson who actually has to USE the software, an ugly or clumsy design may as well be a critical coding bug. And therein lies the problem: some engineers are incapable (or unconcerned) with understanding the psychologies of other people despite the fact that they are developing products that will ostensibly be used by other people. Engineers would do well to learn that code is the language of computers, and aesthetics is the language of the user.
I think tech start-ups could benefit by taking cues from architecture, where the relationship between designers and engineers is reversed, design having priority over engineering. Serious architects can go so far as to believe that design has priority over even physics -- and sometimes with good reason. Many designs have been declared by engineers to be "impossible" only to be successfully built. Usually after the architect yells enough. Of course, despite being notoriously difficult, such architects are bound to have immense value for engineers with enough creativity to execute their ambitious plans. And I'm sure that the engineers love the challenge of working with them. At any rate, it would be interesting to see the results of talented coders being challenged by the best designers in this manner.
In the end it is the skilled programmers that write the code that forms the product.
No, it's really not. It's the users that form the product. Everyone else is below them. They are by far the most important people in product design. Users communicate their needs to architects[1], who write specifications for designers[2], who design products for developers to implement. The architects, the designers and the developers all serve to enable the user to access whatever value the product gives them. They're all equally important in the process - no part can function without the rest. Management should enable the product guys to serve the users without getting in the way too much.
[1] Not necessarily directly - architects should talk to users, sure, but they should also watch users, look at logs, read complaints, analyse business needs, etc.
[2] Designers in the sense of people who figure out how things should work, not 'people who draw stuff'.
> Some user(s) have some kind of task that they want to achieve. They could get together and communicate well with some kind of developer who can help them achieve or complete that task; all of which is likely doable without this middle layer of whatever this is.
What you just described is the middle layer. You're describing a layer in the development of a product wherein the goals of the user and the business are translated into features that can be specified at a level of clarity which allows them to be implemented as part of a holistic, functional system.
If a developer does this, he is doing design.
If you agree that this is an important process, and is non-trivial to perform, you may find yourself saying "well, maybe some developers would be better at this than others," and now you've created a role called "Design Developer" or something like that.
And then if you find that this Design Developer spends more of their time specifying features for other developers to implement, and less time coding, you can go ahead and optimize your hiring process for people who are good at talking to users and translating that understanding into specifications, rather than writing code. You've now recreated the role of designer.
If instead, you say "well, this actually is a trivial process: any developer could do that work and still be a high-functioning programmer at the same time," then I would ask for some examples of this, and probably be able to give you ten or twenty times as many counterexamples.
I certainly think developers should be involved in UI design, but I don't think they should be the main decision makers in most cases, precisely because "putting both a really clever design and a really stupid user into your head at the same time is very challenging," and I wouldn't expect it to necessarily correlate with programming skill.
Developers might respond that they created a great product that solves a problem without any designers. To that my reply is that you then you have designed as well.
reply