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.
Tons of artists use Flash using little more than stop(), gotoAndPlay(), & onRelease().
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?
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.
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.
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 :)
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.
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".
In design, this means creating something useful as well as art. It spans many industries:
- Colocating design and engineering cut years of development time for new models in the auto industry.
- Architects who know engineering are more likely to build grand structures.
- Tech recruiters who have been line managers know how to screen talent for their customers better.
In the end, it's about expanding beyond your specialty. It isn't abandoning your strength, it is moving the boundary.
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.
Feel free to critique but for a blog his design is perfectly fine. Nice try in supporting your comment though.
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.
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.
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.