As a programmer, I do not expect a designer to know, understand, or be proficient with coding. I don't disagree that any designer who can do both has a tremendous advantage. But, I think it should be possible to just sit down, "draw a picture", and have it just work on every current platform, at various screen resolutions, and various internet connections.
That's not possible right now, but I think that's because us programmers have done a terrible job. We have built awful tools. Some are less awful than others, yes, but with 2012 just around the corner and about two decades of web development behind us, we still have not developed a tool which allows a designer to sit down, and do what they are best at, and make their imaginings into a working reality without the assistance of an engineer who speaks a strange vocabulary.
I would not expect a sculptor to need to know the finer points of structural engineering. Any sculptor who did would have a clear advantage over their peers -- but I am skeptical that it would make them a better sculptor.
Where engineering meets art so intricately, that even any amount of co-ordination between them, wouldn't help, where both need to be thought through simultaneously and equally, such as this logo: http://www.google.com/logos/2011/graham.html gives me a kick.
Thinking of this from supply and demand theory, programmers only build programs that have a market, and there doesn't seem to be a market for such a tool (there isn't a large group of people vocally demanding it).
I'd guess that there is a market for it, but like the market for the iPhone before Steve Jobs, nobody powerful enough has discovered it yet.
Your orchestra will consist of hardware, platform software, programming, architecture, UX, design, images, sound and the general idea of the product.
Don't isolate those aspects. Instead, let them influence, supplement and fertilize each other.
Concentrate on the product as a whole, and it can become a masterpiece.
Yes, you will need to aqcuire a deep enough understanding and practice in each of these aspects. Don't believe management people who think you can achieve the same result without it.
There is no composer I know of who didn't play at least one instrument at a very high level, and the others at least at entry level, knowing their strengths and limitations very well.
The limit to this metaphor is of course that due to practical reasons, composers did not play all 100 instruments of their opus themselves :)
But I do think a lot of the boundaries created in the software industry are artificial to a large degree (I'm looking at you, software architects).
Overcome these boundaries in your thinking, and you will become more valuable to your customers and/or to your boss. You can still ask specialists to do an extremely sophisticated job if required.
Even if you are a specialist: If you think a little bit more like a composer, you will become even better in your speciality, because you will avoid mistakes that happen in isolation.
A typical example for isolation:
My boss (who has no idea of programming) hired a designer to refreshen an old product of ours. At the time I came into play (as software engineer), he had already proposed a lot of major changes to the UX. Too bad: The product was embedded in SharePoint and used the SharePoint-Ribbon (not that that was a good idea, but thats the way it was), which couldn't be changed easily. And of course, layout changes in the extremly degenerated HTML would lead to massive programming effort (which my boss didn't want to pay). So I had to tell the poor designer that all his nice ideas couldn't be done. At least we could change some of the colors :)
An example for over-the-boundaries thinking:
I don't recall which device that was, since I'm not the mobile/tablet type of guy, but I saw a presentation of some tablet, where the presenter plugged in a USB device, and the screen showed the device at exactly the place where it had been plugged in. So natural. Think of this: Would you as UX designer who typically designs web pages have thought of that when working in Photoshop?
I've been developing websites for 10+ years and I work with a few different types of agencies.
The websites with richest feel and the most polished interaction and appeal are those provided by a designer in html/css/js.
It is a skill that only a few people have but when you work with people like this, you are disappointed when the next job comes along and you get handed a picture to code up.
Every agency wants 'designers' like this but they are very hard to find.
I've had few designers that handed me the design in html/css and it looks fantastic. Then when I start to drop in the code behind I find all types of things broken. Usually these are cascading reflow errors. They put in a few lines of Lorem Ipsums but the returned value might be a paragraph or be an empty field.
Now I have the impossible task of working my own code and fixing the shims the designer put in.
This doesn't happen that often but more than enough. Usually, only the designers that know enough HTML to think it's like Photoshop attempt this. Most others treat it as the markup language it is, with loose constraints.
I think this has to be tempered with an acceptance that we all have strengths and weaknesses, and sometimes you are not the right person for 'that' job.
If you are working in a team at a big company it's easy to recognize this because the person who is sits in the next cubicle. Programmers don't start making product flyers because the marketing guy always does them so well.
But working alone, when do you decide to hire another freelancer to do that bit?
A friend who designs games always hires artists to concept how important models should look. They send him some pencil sketches. Surely he could save money by coming up with an idea and just drawing it, it's not hard...
But the ideas from a good concept artist are just better than what he or I would do. They spend a lot of time getting so skilled, and if he invested that same time, no game would get made.
So yeah, knowing how to do everything is good, but spotting when you need to have spent those 10'000 hours more so...
I'm a developer/artist spending long hours working on making video games. I 'm doing it all, the design, code & art.
Sounds good. Problem is it can get very lonely, you get no encouragement and no criticism. You might make good progress, but sometimes it seems like it would be easier to settle into the nicely defined role of 'designer', 'coder' or 'artist' and only have one thing to worry about.
Reading your post reminds me that I'm not crazy, it _is_ possible to be 'jack-of-all-trades' in the software development stack and to realise an uncompromising vision of your product.
I'm glad there are some who share this idea, thanks :)
It's just hallway testing with anyone in my immediate vicinity at the moment which provides nice instant feedback but looking into some sort of open beta when the time is right.
But in all seriousness, thats one bit I'm not going to kid myself can be done alone. You cannot user test your own code. There's just too much baggage & you never act like a normal user would.
As the developer you use exactly the right controls in exactly the right sequence & come away thinking the software is much more usable/stable than it is :)
While I wouldn't go so far as to call myself a designer, I do do some design work. I've found that working with designers that can't code is irritating at best. It's not that they're stupid or un-talented. It's really about understanding the medium. It shocks me that so many graphics designers think that they can design for the web without understanding HTML and CSS. That's like saying you can design for print without knowing about different kinds of printing processes. You don't have to be a master, or even proficient, but some familiarity really goes a long way.
The comparison with printing technology is insightful.
The metaphor I like to use: most graphic design students, at one point in their education, come across a printing press that works with movable type. They might spend a day setting a simple poem. It’s dirty, precise, frustrating work. At the end of the day they print their poem, and after they’ve cleaned the press they spot a spelling error…
As tedious as this process might be, a day like this learns you so much about the nature of printing technology that your understanding of your profession really deepens. For me it’s the same with code. The students need to “get their hands dirty” with code to really understand the medium they are going to work in (since most design is for the screen nowadays)… Even if they are not going to code (predominantly) later on in their careers.
I teach interaction design and I’m always amazed by how scared students are of learning about digital technology. It’s a cultural thing really: computers are ‘geeky’, ‘sciency’—not arty, and therefore not their thing.
But when you look at the reality of their practice, designers actually pride themselves in ‘geeky’ details of their craft when they are related to the printing process, knowing about things like spot colors and paper stocks and binding methods.
There is a very simple solution for this problem: functional design in the form of wireframes and descriptions.
Design is communication and interaction. Design consists of functional and graphic design.
When you provide a functional design to a graphic designer you can explain things like: "this will be dynamic text, can be short can be long", "this title can be short, can be long", "this column can contain 1 up to 5 repeating elements", "there has to be a search box somewhere around here", "the main goal is to trigger an subscribe action", "make sure the width of this column is x pixels because there will be a default banner".
I think it's hard to fit the mind of someone that wants to do both design and code. It's a combination of engineering and creativity that usually don't go well together. There's a reason why being a hybrid is more rare.
Either way, I wish there were more like me and like this article suggests. I try to blog about this sometimes on http://blog.danielfischer.com and it's also the culture we encourage at Hybrid Group.
A note though, I find the 3-D engraved body text that is popular on some sites such as this one to be harder to read than flat body text. A bit of eyestrain comes with it.
A master of everything is a master of nothing. I tend to try doing everything myself all the time but I find I usually can't perfect any of it b/c there isn't enough time. P.s. The design of his site is average ... Not ugly but exactly what one would expect from a talented individual who is stretched too thin.
It doesn't matter what you do or how many things you do, you can do many things or focus on just one, you will always find ways to do things better, to improve them and you will always admire someone who is (at least from your point of view) better than yourself.
If a designer thinks learning a little bit about how things work under the hood is somehow going to make them worse at designing, then they ought to also become worse at designing if they learn about anything else outside of their craft, like cooking, rock climbing, french, knitting, cars, football, or any other hobby or side activity.
Better stay completely incompetent at everything in life except graphic design. To focus, right? Yeah, it doesn't make any sense. The orthogonal skills we acquire don't prohibit us from deepening our existing ones, it's the other way around, really.
I think we should coin a term like "web architect" for designers that can code because coding is not something unrelated to your work, it's the thing that makes your work come to life. It's like an architect knows material resistance and other construction engineering stuff so he can make truly amazing buildings.
I have to say, I attribute most of my success to my ability to take a project from an idea through planning, designing, coding, and yes even server configuration, deployment strategies, etc. I could never have done what I've done without, well, just being able to do it myself.
Sadly the headline isn't even close to true in my experience.
My company is called Think, so it's safe to say that I value independent thought highly. I design and I code.
Unfortunately, you also have to be a lawyer, an accountant, a salesperson, incredibly paranoid, and a lot of other things in order to automatically "win." And that's just assuming you play by the rules. Most people don't.
Pretty pithy nerdrage bait, my main takeaways are that he equates retweeting with approval, and that all of the magical powers he describes he (and a fistful of friends) has still does not allow him to take comments.
Jeez, Eric, next time please tell me what you really think :)
1) If someone retweets a link, it typically means they agree with the link or think it's important enough to share with their network. Not sure what's wrong with that assumption.
2) I didn't implement comments because much more livelier discussions happen on Twitter, at least for me.
That's not possible right now, but I think that's because us programmers have done a terrible job. We have built awful tools. Some are less awful than others, yes, but with 2012 just around the corner and about two decades of web development behind us, we still have not developed a tool which allows a designer to sit down, and do what they are best at, and make their imaginings into a working reality without the assistance of an engineer who speaks a strange vocabulary.
I would not expect a sculptor to need to know the finer points of structural engineering. Any sculptor who did would have a clear advantage over their peers -- but I am skeptical that it would make them a better sculptor.