
If You Can Think, Design & Code, You Win - davidedicillo
http://flyosity.com/application-design/if-you-can-think-design-code-you-win.php
======
mduerksen
Become a composer.

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?

~~~
dolphenstein
This analogy has a practical example. Be like Dave Grohl! He played every part
in the first foo fighters album.

------
thaumaturgy
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.

~~~
radley
Sounds like Flash to me.

~~~
spiralganglion
Not at all, or ActionScript wouldn't need to be such a sprawling language.

~~~
radley
That only happened because programmers freak out over the timeline.

Tons of artists use Flash using little more than stop(), gotoAndPlay(), &
onRelease().

------
chunkyslink
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.

~~~
yardie
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.

------
shubble
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...

------
5hoom
Great post.

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 :)

~~~
william42
Do you have any alpha/beta testers?

~~~
5hoom
Ha!

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 :)

------
mathattack
I see a core kernel of truth here, "You will be more effective if you
understand the job of the people using your work products."

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.

------
jinfiesto
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.

~~~
schrijver
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.

------
bugsy
Decent article.

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.

------
dfischer
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.

------
biznickman
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.

~~~
znq
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.

------
tjogin
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.

~~~
psyconn
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.

------
brockf
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.

------
thinkcomp
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.

------
narag
Is it "you win" as in "I'm a programmer and I should learn design"?

------
tomelders
I wish this were true. But it isn't.

------
ducuboy
Obviously.

------
rhizome
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.

~~~
flyosity
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.

